From 2d709a3dcff6de508e68f6a26df64d4e55876e70 Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:46 +0600 Subject: [PATCH 01/10] add mms package --- mms/__init__.py | 16 +++++++++ mms/fixation.py | 21 ++++++++++++ mms/hrv.py | 86 +++++++++++++++++++++++++++++++++++++++++++++++++ mms/io.py | 52 ++++++++++++++++++++++++++++++ mms/paths.py | 11 +++++++ mms/stats.py | 79 +++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 29 +++++++++++++++++ 7 files changed, 294 insertions(+) create mode 100644 mms/__init__.py create mode 100644 mms/fixation.py create mode 100644 mms/hrv.py create mode 100644 mms/io.py create mode 100644 mms/paths.py create mode 100644 mms/stats.py create mode 100644 pyproject.toml diff --git a/mms/__init__.py b/mms/__init__.py new file mode 100644 index 0000000..d6d7c30 --- /dev/null +++ b/mms/__init__.py @@ -0,0 +1,16 @@ +"""Shared analysis code for the Multimodal-Multisensor study. + + import mms + ibi = mms.io.load_ibi(1) + series = mms.hrv.hrv_over_time(ibi) # time-resolved SDNN/RMSSD + rel = mms.stats.icc1(sdnn_matrix) # reliability with a 95% CI + +Not installed? The package sits at the repo root, so a notebook can reach it with +``sys.path.insert(0, str(pathlib.Path.cwd().parent)); import mms``. +""" +from __future__ import annotations + +from . import fixation, hrv, io, paths, stats + +__all__ = ["paths", "io", "hrv", "stats", "fixation"] +__version__ = "1.0.0" diff --git a/mms/fixation.py b/mms/fixation.py new file mode 100644 index 0000000..eed3c35 --- /dev/null +++ b/mms/fixation.py @@ -0,0 +1,21 @@ +"""Eye-tracking metrics from the processed 'sed_fix' streams.""" +from __future__ import annotations + +import pandas as pd + + +def fixation_durations(sed: pd.DataFrame) -> pd.Series: + """Duration of each distinct fixation (one value per ``fixation_id``).""" + if "fixation" not in sed.columns or "duration" not in sed.columns: + return pd.Series(dtype=float) + fx = sed[sed["fixation"] == True] # noqa: E712 - explicit boolean-column match + return fx.groupby("fixation_id")["duration"].max().dropna() + + +def pupil_std(sed: pd.DataFrame, quality_min: float = 0.5) -> float: + """Standard deviation of pupil diameter over good-quality samples.""" + if "pupil" not in sed.columns: + return float("nan") + good = sed[sed["pupilQ"] >= quality_min] if "pupilQ" in sed.columns else sed + p = pd.to_numeric(good["pupil"], errors="coerce").dropna() + return float(p.std(ddof=1)) if len(p) > 1 else float("nan") diff --git a/mms/hrv.py b/mms/hrv.py new file mode 100644 index 0000000..b6248bd --- /dev/null +++ b/mms/hrv.py @@ -0,0 +1,86 @@ +"""Heart-rate-variability metrics: windowed SDNN/RMSSD with NN artifact filtering.""" +from __future__ import annotations + +import numpy as np +import pandas as pd + +# Plausible NN-interval bounds in ms (2000 ≈ 30 bpm, 300 ≈ 200 bpm). +NN_MIN_MS = 300.0 +NN_MAX_MS = 2000.0 + + +def clean_nn(ibi, lo: float = NN_MIN_MS, hi: float = NN_MAX_MS) -> pd.Series: + """Normal-to-normal intervals: numeric, in-range, zeros/artifacts dropped.""" + s = pd.to_numeric(pd.Series(ibi), errors="coerce").dropna() + return s[(s >= lo) & (s <= hi)] + + +def sdnn(ibi, lo: float = NN_MIN_MS, hi: float = NN_MAX_MS) -> float: + """SD of NN intervals (ms); NaN if fewer than 2 valid beats.""" + nn = clean_nn(ibi, lo, hi) + return float(nn.std(ddof=1)) if len(nn) > 1 else float("nan") + + +def rmssd(ibi, lo: float = NN_MIN_MS, hi: float = NN_MAX_MS) -> float: + """RMS of successive NN differences (ms); NaN if fewer than 2 valid beats.""" + nn = clean_nn(ibi, lo, hi) + diff = nn.diff().dropna() + return float(np.sqrt((diff ** 2).mean())) if len(diff) else float("nan") + + +def hrv_rolling( + df: pd.DataFrame, + ibi_col: str = "ibi", + window_beats: int = 30, + lo: float = NN_MIN_MS, + hi: float = NN_MAX_MS, +) -> pd.DataFrame: + """Add per-row rolling ``sdnn``/``rmssd`` over a trailing ``window_beats`` window. + + Keeps the input rows (drop-in for the old broadcast-scalar output) so the + ``reltime, datetime, sdnn, rmssd`` schema is preserved but the values vary. + """ + d = df.copy() + ibi = pd.to_numeric(d[ibi_col], errors="coerce") + nn = ibi.where((ibi >= lo) & (ibi <= hi)) + min_p = max(2, window_beats // 3) + d["sdnn"] = nn.rolling(window_beats, min_periods=min_p).std(ddof=1) + d["rmssd"] = (nn.diff() ** 2).rolling(window_beats, min_periods=min_p).mean() ** 0.5 + return d + + +def hrv_over_time( + df: pd.DataFrame, + ibi_col: str = "ibi", + time_col: str = "reltime", + window_s: float = 30.0, + step_s: float | None = None, + lo: float = NN_MIN_MS, + hi: float = NN_MAX_MS, +) -> pd.DataFrame: + """Time-resolved SDNN/RMSSD: one row per ``window_s``-second window. + + Returns ``window_start_s, n_beats, sdnn, rmssd``. ``step_s`` defaults to + ``window_s`` (non-overlapping windows). + """ + step_s = step_s or window_s + d = df[[time_col, ibi_col]].copy() + d[time_col] = pd.to_numeric(d[time_col], errors="coerce") + d = d.dropna(subset=[time_col]) + if d.empty: + return pd.DataFrame(columns=["window_start_s", "n_beats", "sdnn", "rmssd"]) + + t = d[time_col].to_numpy(dtype=float) + start, end = float(t.min()), float(t.max()) + rows = [] + w = start + while w < end or not rows: + seg = d[(t >= w) & (t < w + window_s)][ibi_col] + rows.append({ + "window_start_s": round(w - start, 3), + "n_beats": int(len(clean_nn(seg, lo, hi))), + "sdnn": sdnn(seg, lo, hi), + "rmssd": rmssd(seg, lo, hi), + }) + w += step_s + return pd.DataFrame(rows) diff --git a/mms/io.py b/mms/io.py new file mode 100644 index 0000000..74c2365 --- /dev/null +++ b/mms/io.py @@ -0,0 +1,52 @@ +"""Data loaders — one tested path for reading the study's CSVs.""" +from __future__ import annotations + +from pathlib import Path + +import pandas as pd + +from . import paths + + +def _base(source: str) -> Path: + return paths.CASE_STUDY if source == "case-study" else paths.INDIVIDUAL + + +def load_ibi(session: int, *, source: str = "case-study") -> pd.DataFrame: + """Inter-beat-interval stream for a session (1-3).""" + return pd.read_csv(_base(source) / "processed" / f"ibi_{session:02d}.csv") + + +def load_hr(session: int, *, high_confidence_only: bool = True, + source: str = "case-study") -> pd.DataFrame: + """Heart-rate stream for a session; drops low-confidence rows by default.""" + df = pd.read_csv(_base(source) / "processed" / f"hr_{session:02d}.csv") + if high_confidence_only and "confidence" in df.columns: + df = df[df["confidence"] == 1.0].copy() + return df + + +def load_fixation(session: int, *, source: str = "case-study") -> pd.DataFrame: + """Processed eye-tracking / fixation ('sed_fix') stream for a session.""" + return pd.read_csv(_base(source) / "processed" / f"sed_fix_{session:02d}.csv") + + +def load_psychometric(session: int, *, source: str = "case-study") -> pd.DataFrame: + """Psychometric test results for a session.""" + return pd.read_csv(_base(source) / "psychometric" + / f"Psychometric_Test_Results_{session:02d}.csv") + + +def load_group_summary(metric: str) -> pd.DataFrame: + """Group summary CSV (row per participant, column per session). + + ``metric`` ∈ {``HRV_SDNN``, ``Pupil_Dilation_STD``, + ``Psychometric_Test_Duration_STD``}. + """ + return pd.read_csv(paths.GROUP_RESULTS / f"{metric}.csv") + + +def parse_datetime(series: pd.Series, utc: bool = True) -> pd.Series: + """Parse a stream datetime column to tz-naive timestamps.""" + out = pd.to_datetime(series, utc=utc, errors="coerce") + return out.dt.tz_convert(None) if utc else out diff --git a/mms/paths.py b/mms/paths.py new file mode 100644 index 0000000..665e371 --- /dev/null +++ b/mms/paths.py @@ -0,0 +1,11 @@ +"""Repository paths, resolved from this file so any working directory works.""" +from __future__ import annotations + +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +DATA = ROOT / "data" + +CASE_STUDY = DATA / "case-study" +INDIVIDUAL = DATA / "individual" +GROUP_RESULTS = DATA / "group_results" diff --git a/mms/stats.py b/mms/stats.py new file mode 100644 index 0000000..f7872d7 --- /dev/null +++ b/mms/stats.py @@ -0,0 +1,79 @@ +"""Statistics for a small within-subject design: ICC with CIs, FDR-corrected correlations.""" +from __future__ import annotations + +import numpy as np +import pandas as pd +from scipy import stats + + +def icc1(data) -> dict: + """ICC(1,1) one-way random-effects reliability with a 95% CI. + + ``data`` has shape (n_subjects, k_ratings) — here participants × sessions. + Returns ``icc``, ``ci95``, ``n``, ``k``, ``F`` (Shrout & Fleiss 1979). + """ + x = np.asarray(data, dtype=float) + x = x[~np.isnan(x).any(axis=1)] + n, k = x.shape + grand = x.mean() + ms_between = k * ((x.mean(axis=1) - grand) ** 2).sum() / (n - 1) + ms_within = ((x - x.mean(axis=1, keepdims=True)) ** 2).sum() / (n * (k - 1)) + denom = ms_between + (k - 1) * ms_within + icc = (ms_between - ms_within) / denom if denom else float("nan") + + # CI is undefined without within-subject variance (perfect agreement). + if ms_within == 0: + return {"icc": float(icc), "ci95": (float("nan"), float("nan")), + "n": int(n), "k": int(k), "F": float("inf")} + + f = ms_between / ms_within + f_lo = f / stats.f.ppf(0.975, n - 1, n * (k - 1)) + f_hi = f * stats.f.ppf(0.975, n * (k - 1), n - 1) + lower = (f_lo - 1) / (f_lo + (k - 1)) + upper = (f_hi - 1) / (f_hi + (k - 1)) + return {"icc": float(icc), "ci95": (float(lower), float(upper)), + "n": int(n), "k": int(k), "F": float(f)} + + +def benjamini_hochberg(pvals) -> np.ndarray: + """Benjamini-Hochberg FDR-adjusted p-values, in the input order.""" + p = np.asarray(pvals, dtype=float) + m = len(p) + if m == 0: + return p + order = np.argsort(p) + adj = p[order] * m / np.arange(1, m + 1) + adj = np.minimum.accumulate(adj[::-1])[::-1] + out = np.empty(m) + out[order] = np.clip(adj, 0, 1) + return out + + +def corr_matrix_fdr(df: pd.DataFrame) -> dict: + """Pearson correlation matrix with raw and FDR-adjusted p-values. + + Returns ``{'r', 'p_raw', 'p_fdr', 'n_tests'}``. Judge significance across the + whole matrix on ``p_fdr``, not ``p_raw``. + """ + cols = list(df.columns) + n = len(cols) + r = np.eye(n) + p_raw = np.ones((n, n)) + pairs = [] + for i in range(n): + for j in range(i + 1, n): + a, b = df[cols[i]], df[cols[j]] + mask = a.notna() & b.notna() + rr, pp = (stats.pearsonr(a[mask], b[mask]) if mask.sum() >= 3 + else (np.nan, 1.0)) + r[i, j] = r[j, i] = rr + p_raw[i, j] = p_raw[j, i] = pp + pairs.append((i, j, pp)) + + p_fdr = np.ones((n, n)) + for (i, j, _), pa in zip(pairs, benjamini_hochberg([p for *_, p in pairs])): + p_fdr[i, j] = p_fdr[j, i] = pa + + frame = lambda m: pd.DataFrame(m, index=cols, columns=cols) + return {"r": frame(r), "p_raw": frame(p_raw), "p_fdr": frame(p_fdr), + "n_tests": len(pairs)} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..887455a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,29 @@ +[build-system] +requires = ["setuptools>=64"] +build-backend = "setuptools.build_meta" + +[project] +name = "mms" +version = "1.0.0" +description = "Shared analysis code for the Multimodal-Multisensor longitudinal study" +readme = "README.md" +requires-python = ">=3.11" +license = { text = "MIT" } +authors = [{ name = "Urme Bose" }] +dependencies = [ + "numpy>=1.26,<3", + "pandas>=2.0,<3", + "scipy>=1.11,<2", + "matplotlib>=3.8,<4", + "seaborn>=0.13,<0.14", + "scikit-learn>=1.4,<2", +] + +[project.optional-dependencies] +dev = ["pytest>=7.4", "nbformat>=5.9", "nbmake>=1.5", "ipykernel>=6.25"] + +[tool.setuptools] +packages = ["mms"] + +[tool.pytest.ini_options] +testpaths = ["tests"] From c0466bd26488c5d6ee31ad884a2eb35faff89009 Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:46 +0600 Subject: [PATCH 02/10] add pipeline --- pipeline/build_group_summaries.py | 117 ++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 pipeline/build_group_summaries.py diff --git a/pipeline/build_group_summaries.py b/pipeline/build_group_summaries.py new file mode 100644 index 0000000..1136f58 --- /dev/null +++ b/pipeline/build_group_summaries.py @@ -0,0 +1,117 @@ +#!/usr/bin/env python3 +"""Regenerate group summaries from committed per-participant data. + +The case-study participant maps to group row **P02**; this reproduces that row +exactly (original recipe) and also emits an artifact-filtered recipe. The other +9 participants' raw streams were not released, so their rows are not regenerable +and are never fabricated. Writes to ``data/group_results/reconstructed/`` only — +committed data is untouched. Run: ``python pipeline/build_group_summaries.py``. +""" +from __future__ import annotations + +import json +import sys +from pathlib import Path + +import pandas as pd + +# Make the repo-root `mms` package importable when run as a plain script +# (`python pipeline/build_group_summaries.py`) without an editable install. +sys.path.insert(0, str(Path(__file__).resolve().parents[1])) +import mms # noqa: E402 + +OUT = mms.paths.GROUP_RESULTS / "reconstructed" +SESSIONS = (1, 2, 3) +CASE_STUDY_PARTICIPANT = "P02" # verified: case-study IBI/pupil/duration == committed P02 row + + +def original_recipe() -> dict[str, list[float]]: + """The recipe that reproduces the committed summaries (no artifact filtering).""" + sdnn, pupil, dur = [], [], [] + for s in SESSIONS: + ibi = mms.io.load_ibi(s) + sdnn.append(float(pd.to_numeric(ibi["ibi"], errors="coerce").std(ddof=1))) + sed = mms.io.load_fixation(s) + pupil.append(float(pd.to_numeric(sed["pupil"], errors="coerce").std(ddof=1))) + psy = mms.io.load_psychometric(s) + dur.append(float(pd.to_numeric(psy["Time(s)"], errors="coerce").std(ddof=1))) + return {"HRV_SDNN": sdnn, "Pupil_Dilation_STD": pupil, + "Psychometric_Test_Duration_STD": dur} + + +def improved_recipe() -> dict[str, list[float]]: + """Physiologically defensible recipe: NN-filtered HRV, quality-gated pupil.""" + sdnn, pupil, dur = [], [], [] + for s in SESSIONS: + sdnn.append(mms.hrv.sdnn(mms.io.load_ibi(s)["ibi"])) + pupil.append(mms.fixation.pupil_std(mms.io.load_fixation(s))) + psy = mms.io.load_psychometric(s) + dur.append(float(pd.to_numeric(psy["Time(s)"], errors="coerce").std(ddof=1))) + return {"HRV_SDNN": sdnn, "Pupil_Dilation_STD": pupil, + "Psychometric_Test_Duration_STD": dur} + + +def main() -> int: + OUT.mkdir(parents=True, exist_ok=True) + orig = original_recipe() + improved = improved_recipe() + cols = ["Session 01", "Session 02", "Session 03"] + + reconciliation = {} + for metric, values in orig.items(): + committed = mms.io.load_group_summary(metric) + committed_row = committed.loc[ + committed["Participant"] == CASE_STUDY_PARTICIPANT, cols + ].to_numpy(float).ravel() + max_abs_err = max(abs(a - b) for a, b in zip(values, committed_row)) + reconciliation[metric] = { + "committed_P02": [round(x, 6) for x in committed_row], + "regenerated_original_recipe": [round(x, 6) for x in values], + "regenerated_improved_recipe": [round(x, 6) for x in improved[metric]], + "max_abs_error_vs_committed": max_abs_err, + "exact_match": bool(max_abs_err < 1e-6), + } + + # write reconstructed rows (original + improved) for the one regenerable participant + pd.DataFrame( + [["P02 (original recipe)"] + values, + ["P02 (improved recipe)"] + improved[metric]], + columns=["Participant"] + cols, + ).to_csv(OUT / f"{metric}_P02_reconstructed.csv", index=False) + + # flag the known integrity issue in the committed data (do not "fix" it — we + # have no source of truth for it) + hrv = mms.io.load_group_summary("HRV_SDNN") + dup_flags = [] + for _, row in hrv.iterrows(): + if abs(row["Session 02"] - row["Session 03"]) < 1e-9: + dup_flags.append({"participant": row["Participant"], + "issue": "Session 02 == Session 03 (suspected copy artifact)", + "value": float(row["Session 02"])}) + + manifest = { + "regenerable_from_committed_data": [CASE_STUDY_PARTICIPANT], + "summary_only_not_regenerable": [f"P{i:02d}" for i in range(1, 11) + if f"P{i:02d}" != CASE_STUDY_PARTICIPANT], + "reason_others_absent": "Raw per-participant streams for P01 and P03-P10 " + "were not released (privacy; see DATA_ETHICS.md).", + "reconciliation": reconciliation, + "known_integrity_issues": dup_flags, + "note": "Committed summaries were NOT modified by this script.", + } + (OUT / "MANIFEST.json").write_text(json.dumps(manifest, indent=2)) + + print(f"Case-study participant maps to {CASE_STUDY_PARTICIPANT}.") + for metric, rec in reconciliation.items(): + status = "EXACT MATCH" if rec["exact_match"] else f"max err {rec['max_abs_error_vs_committed']:.2e}" + print(f" {metric:32s} regenerated vs committed P02: {status}") + if dup_flags: + print("\nKnown integrity issues flagged (not modified):") + for d in dup_flags: + print(f" {d['participant']}: {d['issue']} (value {d['value']})") + print(f"\nWrote reconstructed rows + MANIFEST.json to {OUT.relative_to(mms.paths.ROOT)}/") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) From b32b0a324454dbbc1c1ff3015bab9c58dbc53d0d Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:46 +0600 Subject: [PATCH 03/10] add scripts --- scripts/deidentify_timestamps.py | 113 +++++++++++++++++++++++++++++++ scripts/normalize_kernelspec.py | 41 +++++++++++ 2 files changed, 154 insertions(+) create mode 100644 scripts/deidentify_timestamps.py create mode 100644 scripts/normalize_kernelspec.py diff --git a/scripts/deidentify_timestamps.py b/scripts/deidentify_timestamps.py new file mode 100644 index 0000000..70487d1 --- /dev/null +++ b/scripts/deidentify_timestamps.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python3 +"""Shift absolute timestamps to relative session time (privacy hardening). + +Absolute appointment date + start time is a re-identification vector for an n=10 +cohort. This anchors each session at ``2000-01-01T00:00:00``, removing the +wall-clock date/time while preserving relative timings. + +- **Dry-run by default**; ``--apply`` writes in place, ``--apply --out DIR`` writes copies. +- **Alignment-preserving**: files sharing a (folder, session) shift by one offset, + so cross-stream joins still line up. +- **Format-preserving**: slash or ISO-8601 output as in the source. + +Scope: per-session streams + psychometric originals. Aggregates (``QQ*``) and +``*_modified`` files are left alone. +""" +from __future__ import annotations + +import argparse +import re +from pathlib import Path + +import pandas as pd + +ROOT = Path(__file__).resolve().parents[1] +ANCHOR = pd.Timestamp("2000-01-01T00:00:00") + +# column -> ("slash" | "iso") output format +TIME_COLUMNS = { + "datetime": "slash", + "Question Start Time": "iso", + "Question Answer Time": "iso", +} +SLASH_FMT = "%Y/%m/%d %H:%M:%S.%f" + + +def session_key(path: Path) -> str: + """Group files that must share a time origin: (folder, session suffix).""" + folder = path.relative_to(ROOT).parts[1] # case-study | individual + m = re.search(r"_(\d{2})(?:_modified)?\.csv$", path.name) + sess = m.group(1) if m else "baseline" + return f"{folder}/{sess}" + + +def _parse(series: pd.Series, fmt: str) -> pd.Series: + return pd.to_datetime(series, format=SLASH_FMT if fmt == "slash" else None, + utc=(fmt == "iso"), errors="coerce") + + +def _emit(ts: pd.Series, fmt: str) -> pd.Series: + if fmt == "slash": + return ts.dt.strftime(SLASH_FMT).str.slice(0, -2) # trim to .ffff (4 dp) + return ts.dt.strftime("%Y-%m-%dT%H:%M:%S.") + \ + (ts.dt.microsecond // 1000).astype(str).str.zfill(3) + "Z" + + +def collect() -> dict[str, list[Path]]: + groups: dict[str, list[Path]] = {} + for path in sorted(ROOT.glob("data/*/**/*.csv")): + if "_modified" in path.name or path.name.startswith("QQ"): + continue + cols = pd.read_csv(path, nrows=0).columns + if any(c in TIME_COLUMNS for c in cols): + groups.setdefault(session_key(path), []).append(path) + return groups + + +def group_offset(paths: list[Path]) -> pd.Timedelta: + mins = [] + for p in paths: + df = pd.read_csv(p) + for col, fmt in TIME_COLUMNS.items(): + if col in df.columns: + t = _parse(df[col], fmt) + if t.notna().any(): + mins.append(t.min().tz_localize(None) if t.dt.tz else t.min()) + return min(mins) - ANCHOR if mins else pd.Timedelta(0) + + +def main() -> int: + ap = argparse.ArgumentParser() + ap.add_argument("--apply", action="store_true", help="write changes (default: dry run)") + ap.add_argument("--out", type=Path, help="write copies under this dir instead of in place") + args = ap.parse_args() + + groups = collect() + total = sum(len(v) for v in groups.values()) + print(f"{'APPLY' if args.apply else 'DRY-RUN'}: {total} files across " + f"{len(groups)} (folder, session) groups\n") + + for key, paths in groups.items(): + offset = group_offset(paths) + print(f"[{key}] shift -{offset} ({len(paths)} files)") + if not args.apply: + continue + for p in paths: + df = pd.read_csv(p) + for col, fmt in TIME_COLUMNS.items(): + if col in df.columns: + shifted = _parse(df[col], fmt) + shifted = (shifted.dt.tz_localize(None) if fmt == "iso" else shifted) - offset + df[col] = _emit(shifted, fmt) + dest = (args.out / p.relative_to(ROOT)) if args.out else p + dest.parent.mkdir(parents=True, exist_ok=True) + df.to_csv(dest, index=False) + + if not args.apply: + print("\nNo files written. Re-run with --apply to shift timestamps in place,") + print("or --apply --out data_deid/ to write de-identified copies.") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/normalize_kernelspec.py b/scripts/normalize_kernelspec.py new file mode 100644 index 0000000..09527d5 --- /dev/null +++ b/scripts/normalize_kernelspec.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +"""Pin every notebook's kernelspec to the portable ``python3``. + +Private kernel names (``pdf_processing``, ``conda-base-py``) break a clean +``git clone`` with ``NoSuchKernel``. Idempotent. Run: +``python scripts/normalize_kernelspec.py``. +""" +from __future__ import annotations + +import sys +from pathlib import Path + +import nbformat + +ROOT = Path(__file__).resolve().parents[1] +PORTABLE = {"name": "python3", "display_name": "Python 3", "language": "python"} + + +def main() -> int: + changed = [] + notebooks = [ + p for p in ROOT.rglob("*.ipynb") if ".ipynb_checkpoints" not in p.parts + ] + for path in notebooks: + nb = nbformat.read(path, as_version=4) + ks = nb.metadata.get("kernelspec", {}) + if ks.get("name") != "python3" or ks.get("display_name") != "Python 3": + nb.metadata["kernelspec"] = dict(PORTABLE) + li = nb.metadata.setdefault("language_info", {}) + li["name"] = "python" + nbformat.write(nb, path) + changed.append(path.relative_to(ROOT)) + + print(f"Scanned {len(notebooks)} notebooks; normalized {len(changed)}.") + for c in changed: + print(f" fixed: {c}") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) From 9305ff42220e08a1c816813c193a73f90eb01fbe Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:46 +0600 Subject: [PATCH 04/10] fix hrv --- data/case-study/processed/hrv.csv | 1466 +++++----- data/case-study/processed/hrv_01.csv | 3802 +++++++++++++------------- data/case-study/processed/hrv_02.csv | 2422 ++++++++-------- data/case-study/processed/hrv_03.csv | 2526 ++++++++--------- 4 files changed, 5108 insertions(+), 5108 deletions(-) diff --git a/data/case-study/processed/hrv.csv b/data/case-study/processed/hrv.csv index 5fd2571..b15e2f7 100755 --- a/data/case-study/processed/hrv.csv +++ b/data/case-study/processed/hrv.csv @@ -1,734 +1,734 @@ reltime,datetime,sdnn,rmssd -0.001,2024/05/28 15:34:05.2439,28.627838985862834,30.07674609624028 -0.001,2024/05/28 15:34:05.2439,28.627838985862834,30.07674609624028 -0.037,2024/05/28 15:34:05.2799,28.627838985862834,30.07674609624028 -1.022,2024/05/28 15:34:06.2649,28.627838985862834,30.07674609624028 -1.515,2024/05/28 15:34:06.7579,28.627838985862834,30.07674609624028 -1.607,2024/05/28 15:34:06.8499,28.627838985862834,30.07674609624028 -1.853,2024/05/28 15:34:07.0959,28.627838985862834,30.07674609624028 -2.008,2024/05/28 15:34:07.2509,28.627838985862834,30.07674609624028 -2.099,2024/05/28 15:34:07.3419,28.627838985862834,30.07674609624028 -2.5,2024/05/28 15:34:07.7429,28.627838985862834,30.07674609624028 -3.238,2024/05/28 15:34:08.4809,28.627838985862834,30.07674609624028 -3.731,2024/05/28 15:34:08.9739,28.627838985862834,30.07674609624028 -4.716,2024/05/28 15:34:09.9589,28.627838985862834,30.07674609624028 -4.808,2024/05/28 15:34:10.0509,28.627838985862834,30.07674609624028 -5.054,2024/05/28 15:34:10.2969,28.627838985862834,30.07674609624028 -5.209,2024/05/28 15:34:10.4519,28.627838985862834,30.07674609624028 -5.301,2024/05/28 15:34:10.5439,28.627838985862834,30.07674609624028 -5.951,2024/05/28 15:34:11.1939,28.627838985862834,30.07674609624028 -6.44,2024/05/28 15:34:11.6829,28.627838985862834,30.07674609624028 -6.932,2024/05/28 15:34:12.1749,28.627838985862834,30.07674609624028 -7.918,2024/05/28 15:34:13.1609,28.627838985862834,30.07674609624028 -8.011,2024/05/28 15:34:13.2539,28.627838985862834,30.07674609624028 -8.257,2024/05/28 15:34:13.4999,28.627838985862834,30.07674609624028 -8.41,2024/05/28 15:34:13.6529,28.627838985862834,30.07674609624028 -8.502,2024/05/28 15:34:13.7449,28.627838985862834,30.07674609624028 -8.903,2024/05/28 15:34:14.1459,28.627838985862834,30.07674609624028 -9.241,2024/05/28 15:34:14.4839,28.627838985862834,30.07674609624028 -9.488,2024/05/28 15:34:14.7309,28.627838985862834,30.07674609624028 -9.641,2024/05/28 15:34:14.8839,28.627838985862834,30.07674609624028 -9.737,2024/05/28 15:34:14.9799,28.627838985862834,30.07674609624028 -9.98,2024/05/28 15:34:15.2229,28.627838985862834,30.07674609624028 -10.134,2024/05/28 15:34:15.3769,28.627838985862834,30.07674609624028 -10.227,2024/05/28 15:34:15.4699,28.627838985862834,30.07674609624028 -10.473,2024/05/28 15:34:15.7159,28.627838985862834,30.07674609624028 -10.627,2024/05/28 15:34:15.8699,28.627838985862834,30.07674609624028 -10.719,2024/05/28 15:34:15.9619,28.627838985862834,30.07674609624028 -10.966,2024/05/28 15:34:16.2089,28.627838985862834,30.07674609624028 -11.212,2024/05/28 15:34:16.4549,28.627838985862834,30.07674609624028 -11.366,2024/05/28 15:34:16.6089,28.627838985862834,30.07674609624028 -11.458,2024/05/28 15:34:16.7009,28.627838985862834,30.07674609624028 -11.705,2024/05/28 15:34:16.9479,28.627838985862834,30.07674609624028 -11.858,2024/05/28 15:34:17.1009,28.627838985862834,30.07674609624028 -11.95,2024/05/28 15:34:17.1929,28.627838985862834,30.07674609624028 -12.196,2024/05/28 15:34:17.4389,28.627838985862834,30.07674609624028 -12.443,2024/05/28 15:34:17.6859,28.627838985862834,30.07674609624028 -12.597,2024/05/28 15:34:17.8399,28.627838985862834,30.07674609624028 -12.689,2024/05/28 15:34:17.9319,28.627838985862834,30.07674609624028 -12.935,2024/05/28 15:34:18.1779,28.627838985862834,30.07674609624028 -13.089,2024/05/28 15:34:18.3319,28.627838985862834,30.07674609624028 -13.182,2024/05/28 15:34:18.4249,28.627838985862834,30.07674609624028 -13.428,2024/05/28 15:34:18.6709,28.627838985862834,30.07674609624028 -13.674,2024/05/28 15:34:18.9169,28.627838985862834,30.07674609624028 -13.828,2024/05/28 15:34:19.0709,28.627838985862834,30.07674609624028 -13.921,2024/05/28 15:34:19.1639,28.627838985862834,30.07674609624028 -14.167,2024/05/28 15:34:19.4099,28.627838985862834,30.07674609624028 -14.321,2024/05/28 15:34:19.5639,28.627838985862834,30.07674609624028 -14.813,2024/05/28 15:34:20.0559,28.627838985862834,30.07674609624028 -15.305,2024/05/28 15:34:20.5479,28.627838985862834,30.07674609624028 -16.291,2024/05/28 15:34:21.5339,28.627838985862834,30.07674609624028 -16.383,2024/05/28 15:34:21.6259,28.627838985862834,30.07674609624028 -16.63,2024/05/28 15:34:21.8729,28.627838985862834,30.07674609624028 -16.783,2024/05/28 15:34:22.0259,28.627838985862834,30.07674609624028 -16.876,2024/05/28 15:34:22.1189,28.627838985862834,30.07674609624028 -17.03,2024/05/28 15:34:22.2729,28.627838985862834,30.07674609624028 -17.522,2024/05/28 15:34:22.7649,28.627838985862834,30.07674609624028 -18.508,2024/05/28 15:34:23.7509,28.627838985862834,30.07674609624028 -19.585,2024/05/28 15:34:24.8279,28.627838985862834,30.07674609624028 -19.831,2024/05/28 15:34:25.0739,28.627838985862834,30.07674609624028 -20.078,2024/05/28 15:34:25.3209,28.627838985862834,30.07674609624028 -21.216,2024/05/28 15:34:26.4589,28.627838985862834,30.07674609624028 -21.709,2024/05/28 15:34:26.9519,28.627838985862834,30.07674609624028 -22.201,2024/05/28 15:34:27.4439,28.627838985862834,30.07674609624028 -22.693,2024/05/28 15:34:27.9359,28.627838985862834,30.07674609624028 -22.786,2024/05/28 15:34:28.0289,28.627838985862834,30.07674609624028 -23.033,2024/05/28 15:34:28.2759,28.627838985862834,30.07674609624028 -23.279,2024/05/28 15:34:28.5219,28.627838985862834,30.07674609624028 -23.432,2024/05/28 15:34:28.6749,28.627838985862834,30.07674609624028 -23.925,2024/05/28 15:34:29.1679,28.627838985862834,30.07674609624028 -24.911,2024/05/28 15:34:30.1539,28.627838985862834,30.07674609624028 -25.403,2024/05/28 15:34:30.6459,28.627838985862834,30.07674609624028 -25.895,2024/05/28 15:34:31.1379,28.627838985862834,30.07674609624028 -26.234,2024/05/28 15:34:31.4769,28.627838985862834,30.07674609624028 -26.388,2024/05/28 15:34:31.6309,28.627838985862834,30.07674609624028 -26.48,2024/05/28 15:34:31.7229,28.627838985862834,30.07674609624028 -26.881,2024/05/28 15:34:32.1239,28.627838985862834,30.07674609624028 -27.62,2024/05/28 15:34:32.8629,28.627838985862834,30.07674609624028 -28.112,2024/05/28 15:34:33.3549,28.627838985862834,30.07674609624028 -29.097,2024/05/28 15:34:34.3399,28.627838985862834,30.07674609624028 -29.189,2024/05/28 15:34:34.4319,28.627838985862834,30.07674609624028 -29.436,2024/05/28 15:34:34.6789,28.627838985862834,30.07674609624028 -29.589,2024/05/28 15:34:34.8319,28.627838985862834,30.07674609624028 -29.682,2024/05/28 15:34:34.9249,28.627838985862834,30.07674609624028 -30.082,2024/05/28 15:34:35.3249,28.627838985862834,30.07674609624028 -30.821,2024/05/28 15:34:36.0639,28.627838985862834,30.07674609624028 -31.314,2024/05/28 15:34:36.5569,28.627838985862834,30.07674609624028 -31.806,2024/05/28 15:34:37.0489,28.627838985862834,30.07674609624028 -32.391,2024/05/28 15:34:37.6339,28.627838985862834,30.07674609624028 -32.638,2024/05/28 15:34:37.8809,28.627838985862834,30.07674609624028 -32.791,2024/05/28 15:34:38.0339,28.627838985862834,30.07674609624028 -32.884,2024/05/28 15:34:38.1269,28.627838985862834,30.07674609624028 -33.037,2024/05/28 15:34:38.2799,28.627838985862834,30.07674609624028 -33.53,2024/05/28 15:34:38.7729,28.627838985862834,30.07674609624028 -34.515,2024/05/28 15:34:39.7579,28.627838985862834,30.07674609624028 -35.007,2024/05/28 15:34:40.2499,28.627838985862834,30.07674609624028 -35.5,2024/05/28 15:34:40.7429,28.627838985862834,30.07674609624028 -35.839,2024/05/28 15:34:41.0819,28.627838985862834,30.07674609624028 -35.993,2024/05/28 15:34:41.2359,28.627838985862834,30.07674609624028 -36.086,2024/05/28 15:34:41.3289,28.627838985862834,30.07674609624028 -38.209,2024/05/28 15:34:43.4519,28.627838985862834,30.07674609624028 -38.702,2024/05/28 15:34:43.9449,28.627838985862834,30.07674609624028 -38.795,2024/05/28 15:34:44.0379,28.627838985862834,30.07674609624028 -39.041,2024/05/28 15:34:44.2839,28.627838985862834,30.07674609624028 -39.194,2024/05/28 15:34:44.4369,28.627838985862834,30.07674609624028 -39.287,2024/05/28 15:34:44.5299,28.627838985862834,30.07674609624028 -39.534,2024/05/28 15:34:44.7769,28.627838985862834,30.07674609624028 -39.686,2024/05/28 15:34:44.9289,28.627838985862834,30.07674609624028 -39.78,2024/05/28 15:34:45.0229,28.627838985862834,30.07674609624028 -40.025,2024/05/28 15:34:45.2679,28.627838985862834,30.07674609624028 -40.179,2024/05/28 15:34:45.4219,28.627838985862834,30.07674609624028 -40.272,2024/05/28 15:34:45.5149,28.627838985862834,30.07674609624028 -40.518,2024/05/28 15:34:45.7609,28.627838985862834,30.07674609624028 -40.764,2024/05/28 15:34:46.0069,28.627838985862834,30.07674609624028 -40.918,2024/05/28 15:34:46.1609,28.627838985862834,30.07674609624028 -41.504,2024/05/28 15:34:46.7469,28.627838985862834,30.07674609624028 -41.656,2024/05/28 15:34:46.8989,28.627838985862834,30.07674609624028 -41.903,2024/05/28 15:34:47.1459,28.627838985862834,30.07674609624028 -42.242,2024/05/28 15:34:47.4849,28.627838985862834,30.07674609624028 -42.488,2024/05/28 15:34:47.7309,28.627838985862834,30.07674609624028 -42.642,2024/05/28 15:34:47.8849,28.627838985862834,30.07674609624028 -42.735,2024/05/28 15:34:47.9779,28.627838985862834,30.07674609624028 -42.981,2024/05/28 15:34:48.2239,28.627838985862834,30.07674609624028 -43.135,2024/05/28 15:34:48.3779,28.627838985862834,30.07674609624028 -43.227,2024/05/28 15:34:48.4699,28.627838985862834,30.07674609624028 -43.474,2024/05/28 15:34:48.7169,28.627838985862834,30.07674609624028 -43.627,2024/05/28 15:34:48.8699,28.627838985862834,30.07674609624028 -43.72,2024/05/28 15:34:48.9629,28.627838985862834,30.07674609624028 -43.966,2024/05/28 15:34:49.2089,28.627838985862834,30.07674609624028 -44.213,2024/05/28 15:34:49.4559,28.627838985862834,30.07674609624028 -44.366,2024/05/28 15:34:49.6089,28.627838985862834,30.07674609624028 -44.458,2024/05/28 15:34:49.7009,28.627838985862834,30.07674609624028 -44.858,2024/05/28 15:34:50.1009,28.627838985862834,30.07674609624028 -45.198,2024/05/28 15:34:50.4409,28.627838985862834,30.07674609624028 -45.445,2024/05/28 15:34:50.6879,28.627838985862834,30.07674609624028 -45.597,2024/05/28 15:34:50.8399,28.627838985862834,30.07674609624028 -45.69,2024/05/28 15:34:50.9329,28.627838985862834,30.07674609624028 -45.937,2024/05/28 15:34:51.1799,28.627838985862834,30.07674609624028 -46.089,2024/05/28 15:34:51.3319,28.627838985862834,30.07674609624028 -46.183,2024/05/28 15:34:51.4259,28.627838985862834,30.07674609624028 -46.429,2024/05/28 15:34:51.6719,28.627838985862834,30.07674609624028 -46.676,2024/05/28 15:34:51.9189,28.627838985862834,30.07674609624028 -46.828,2024/05/28 15:34:52.0709,28.627838985862834,30.07674609624028 -46.922,2024/05/28 15:34:52.1649,28.627838985862834,30.07674609624028 -47.167,2024/05/28 15:34:52.4099,28.627838985862834,30.07674609624028 -47.321,2024/05/28 15:34:52.5639,28.627838985862834,30.07674609624028 -47.414,2024/05/28 15:34:52.6569,28.627838985862834,30.07674609624028 -47.66,2024/05/28 15:34:52.9029,28.627838985862834,30.07674609624028 -47.814,2024/05/28 15:34:53.0569,28.627838985862834,30.07674609624028 -47.906,2024/05/28 15:34:53.1489,28.627838985862834,30.07674609624028 -48.153,2024/05/28 15:34:53.3959,28.627838985862834,30.07674609624028 -48.402,2024/05/28 15:34:53.6449,28.627838985862834,30.07674609624028 -48.553,2024/05/28 15:34:53.7959,28.627838985862834,30.07674609624028 -48.645,2024/05/28 15:34:53.8879,28.627838985862834,30.07674609624028 -48.892,2024/05/28 15:34:54.1349,28.627838985862834,30.07674609624028 -49.045,2024/05/28 15:34:54.2879,28.627838985862834,30.07674609624028 -49.138,2024/05/28 15:34:54.3809,28.627838985862834,30.07674609624028 -49.385,2024/05/28 15:34:54.6279,28.627838985862834,30.07674609624028 -49.538,2024/05/28 15:34:54.7809,28.627838985862834,30.07674609624028 -49.631,2024/05/28 15:34:54.8739,28.627838985862834,30.07674609624028 -49.877,2024/05/28 15:34:55.1199,28.627838985862834,30.07674609624028 -50.124,2024/05/28 15:34:55.3669,28.627838985862834,30.07674609624028 -50.276,2024/05/28 15:34:55.5189,28.627838985862834,30.07674609624028 -50.369,2024/05/28 15:34:55.6119,28.627838985862834,30.07674609624028 -50.615,2024/05/28 15:34:55.8579,28.627838985862834,30.07674609624028 -50.769,2024/05/28 15:34:56.0119,28.627838985862834,30.07674609624028 -50.862,2024/05/28 15:34:56.1049,28.627838985862834,30.07674609624028 -51.108,2024/05/28 15:34:56.3509,28.627838985862834,30.07674609624028 -51.354,2024/05/28 15:34:56.5969,28.627838985862834,30.07674609624028 -51.508,2024/05/28 15:34:56.7509,28.627838985862834,30.07674609624028 -51.601,2024/05/28 15:34:56.8439,28.627838985862834,30.07674609624028 -51.847,2024/05/28 15:34:57.0899,28.627838985862834,30.07674609624028 -52.094,2024/05/28 15:34:57.3369,28.627838985862834,30.07674609624028 -52.246,2024/05/28 15:34:57.4889,28.627838985862834,30.07674609624028 -52.34,2024/05/28 15:34:57.5829,28.627838985862834,30.07674609624028 -52.586,2024/05/28 15:34:57.8289,28.627838985862834,30.07674609624028 -52.832,2024/05/28 15:34:58.0749,28.627838985862834,30.07674609624028 -52.985,2024/05/28 15:34:58.2279,28.627838985862834,30.07674609624028 -53.078,2024/05/28 15:34:58.3209,28.627838985862834,30.07674609624028 -53.325,2024/05/28 15:34:58.5679,28.627838985862834,30.07674609624028 -53.477,2024/05/28 15:34:58.7199,28.627838985862834,30.07674609624028 -53.571,2024/05/28 15:34:58.8139,28.627838985862834,30.07674609624028 -53.818,2024/05/28 15:34:59.0609,28.627838985862834,30.07674609624028 -53.97,2024/05/28 15:34:59.2129,28.627838985862834,30.07674609624028 -54.063,2024/05/28 15:34:59.3059,28.627838985862834,30.07674609624028 -54.309,2024/05/28 15:34:59.5519,28.627838985862834,30.07674609624028 -54.556,2024/05/28 15:34:59.7989,28.627838985862834,30.07674609624028 -54.709,2024/05/28 15:34:59.9519,28.627838985862834,30.07674609624028 -54.802,2024/05/28 15:35:00.0449,28.627838985862834,30.07674609624028 -55.048,2024/05/28 15:35:00.2909,28.627838985862834,30.07674609624028 -55.202,2024/05/28 15:35:00.4449,28.627838985862834,30.07674609624028 -55.295,2024/05/28 15:35:00.5379,28.627838985862834,30.07674609624028 -55.541,2024/05/28 15:35:00.7839,28.627838985862834,30.07674609624028 -55.787,2024/05/28 15:35:01.0299,28.627838985862834,30.07674609624028 -55.941,2024/05/28 15:35:01.1839,28.627838985862834,30.07674609624028 -56.034,2024/05/28 15:35:01.2769,28.627838985862834,30.07674609624028 -56.28,2024/05/28 15:35:01.5229,28.627838985862834,30.07674609624028 -56.433,2024/05/28 15:35:01.6759,28.627838985862834,30.07674609624028 -56.527,2024/05/28 15:35:01.7699,28.627838985862834,30.07674609624028 -56.773,2024/05/28 15:35:02.0159,28.627838985862834,30.07674609624028 -56.925,2024/05/28 15:35:02.1679,28.627838985862834,30.07674609624028 -57.511,2024/05/28 15:35:02.7539,28.627838985862834,30.07674609624028 -57.665,2024/05/28 15:35:02.9079,28.627838985862834,30.07674609624028 -57.757,2024/05/28 15:35:02.9999,28.627838985862834,30.07674609624028 -58.004,2024/05/28 15:35:03.2469,28.627838985862834,30.07674609624028 -58.157,2024/05/28 15:35:03.3999,28.627838985862834,30.07674609624028 -58.25,2024/05/28 15:35:03.4929,28.627838985862834,30.07674609624028 -58.496,2024/05/28 15:35:03.7389,28.627838985862834,30.07674609624028 -58.743,2024/05/28 15:35:03.9859,28.627838985862834,30.07674609624028 -58.896,2024/05/28 15:35:04.1389,28.627838985862834,30.07674609624028 -58.989,2024/05/28 15:35:04.2319,28.627838985862834,30.07674609624028 -59.235,2024/05/28 15:35:04.4779,28.627838985862834,30.07674609624028 -59.388,2024/05/28 15:35:04.6309,28.627838985862834,30.07674609624028 -59.482,2024/05/28 15:35:04.7249,28.627838985862834,30.07674609624028 -59.727,2024/05/28 15:35:04.9699,28.627838985862834,30.07674609624028 -59.974,2024/05/28 15:35:05.2169,28.627838985862834,30.07674609624028 -60.127,2024/05/28 15:35:05.3699,28.627838985862834,30.07674609624028 -60.22,2024/05/28 15:35:05.4629,28.627838985862834,30.07674609624028 -60.466,2024/05/28 15:35:05.7089,28.627838985862834,30.07674609624028 -60.62,2024/05/28 15:35:05.8629,28.627838985862834,30.07674609624028 -60.713,2024/05/28 15:35:05.9559,28.627838985862834,30.07674609624028 -60.959,2024/05/28 15:35:06.2019,28.627838985862834,30.07674609624028 -61.205,2024/05/28 15:35:06.4479,28.627838985862834,30.07674609624028 -61.359,2024/05/28 15:35:06.6019,28.627838985862834,30.07674609624028 -61.452,2024/05/28 15:35:06.6949,28.627838985862834,30.07674609624028 -61.698,2024/05/28 15:35:06.9409,28.627838985862834,30.07674609624028 -61.944,2024/05/28 15:35:07.1869,28.627838985862834,30.07674609624028 -62.097,2024/05/28 15:35:07.3399,28.627838985862834,30.07674609624028 -62.191,2024/05/28 15:35:07.4339,28.627838985862834,30.07674609624028 -62.437,2024/05/28 15:35:07.6799,28.627838985862834,30.07674609624028 -62.59,2024/05/28 15:35:07.8329,28.627838985862834,30.07674609624028 -62.684,2024/05/28 15:35:07.9269,28.627838985862834,30.07674609624028 -62.93,2024/05/28 15:35:08.1729,28.627838985862834,30.07674609624028 -63.175,2024/05/28 15:35:08.4179,28.627838985862834,30.07674609624028 -63.329,2024/05/28 15:35:08.5719,28.627838985862834,30.07674609624028 -63.422,2024/05/28 15:35:08.6649,28.627838985862834,30.07674609624028 -63.575,2024/05/28 15:35:08.8179,28.627838985862834,30.07674609624028 -63.668,2024/05/28 15:35:08.9109,28.627838985862834,30.07674609624028 -63.914,2024/05/28 15:35:09.1569,28.627838985862834,30.07674609624028 -64.161,2024/05/28 15:35:09.4039,28.627838985862834,30.07674609624028 -64.314,2024/05/28 15:35:09.5569,28.627838985862834,30.07674609624028 -64.407,2024/05/28 15:35:09.6499,28.627838985862834,30.07674609624028 -64.653,2024/05/28 15:35:09.8959,28.627838985862834,30.07674609624028 -64.806,2024/05/28 15:35:10.0489,28.627838985862834,30.07674609624028 -64.9,2024/05/28 15:35:10.1429,28.627838985862834,30.07674609624028 -65.146,2024/05/28 15:35:10.3889,28.627838985862834,30.07674609624028 -65.299,2024/05/28 15:35:10.5419,28.627838985862834,30.07674609624028 -65.393,2024/05/28 15:35:10.6359,28.627838985862834,30.07674609624028 -65.638,2024/05/28 15:35:10.8809,28.627838985862834,30.07674609624028 -65.884,2024/05/28 15:35:11.1269,28.627838985862834,30.07674609624028 -66.038,2024/05/28 15:35:11.2809,28.627838985862834,30.07674609624028 -66.131,2024/05/28 15:35:11.3739,28.627838985862834,30.07674609624028 -66.377,2024/05/28 15:35:11.6199,28.627838985862834,30.07674609624028 -66.531,2024/05/28 15:35:11.7739,28.627838985862834,30.07674609624028 -66.623,2024/05/28 15:35:11.8659,28.627838985862834,30.07674609624028 -66.87,2024/05/28 15:35:12.1129,28.627838985862834,30.07674609624028 -67.022,2024/05/28 15:35:12.2649,28.627838985862834,30.07674609624028 -67.116,2024/05/28 15:35:12.3589,28.627838985862834,30.07674609624028 -67.363,2024/05/28 15:35:12.6059,28.627838985862834,30.07674609624028 -67.609,2024/05/28 15:35:12.8519,28.627838985862834,30.07674609624028 -67.762,2024/05/28 15:35:13.0049,28.627838985862834,30.07674609624028 -67.854,2024/05/28 15:35:13.0969,28.627838985862834,30.07674609624028 -68.101,2024/05/28 15:35:13.3439,28.627838985862834,30.07674609624028 -68.254,2024/05/28 15:35:13.4969,28.627838985862834,30.07674609624028 -68.347,2024/05/28 15:35:13.5899,28.627838985862834,30.07674609624028 -68.594,2024/05/28 15:35:13.8369,28.627838985862834,30.07674609624028 -68.84,2024/05/28 15:35:14.0829,28.627838985862834,30.07674609624028 -68.993,2024/05/28 15:35:14.2359,28.627838985862834,30.07674609624028 -69.086,2024/05/28 15:35:14.3289,28.627838985862834,30.07674609624028 -69.333,2024/05/28 15:35:14.5759,28.627838985862834,30.07674609624028 -69.485,2024/05/28 15:35:14.7279,28.627838985862834,30.07674609624028 -69.579,2024/05/28 15:35:14.8219,28.627838985862834,30.07674609624028 -69.826,2024/05/28 15:35:15.0689,28.627838985862834,30.07674609624028 -69.978,2024/05/28 15:35:15.2209,28.627838985862834,30.07674609624028 -70.564,2024/05/28 15:35:15.8069,28.627838985862834,30.07674609624028 -70.717,2024/05/28 15:35:15.9599,28.627838985862834,30.07674609624028 -70.81,2024/05/28 15:35:16.0529,28.627838985862834,30.07674609624028 -71.056,2024/05/28 15:35:16.2989,28.627838985862834,30.07674609624028 -71.209,2024/05/28 15:35:16.4519,28.627838985862834,30.07674609624028 -71.303,2024/05/28 15:35:16.5459,28.627838985862834,30.07674609624028 -71.549,2024/05/28 15:35:16.7919,28.627838985862834,30.07674609624028 -71.795,2024/05/28 15:35:17.0379,28.627838985862834,30.07674609624028 -72.042,2024/05/28 15:35:17.2849,28.627838985862834,30.07674609624028 -72.194,2024/05/28 15:35:17.4369,28.627838985862834,30.07674609624028 -72.288,2024/05/28 15:35:17.5309,28.627838985862834,30.07674609624028 -72.534,2024/05/28 15:35:17.7769,28.627838985862834,30.07674609624028 -72.687,2024/05/28 15:35:17.9299,28.627838985862834,30.07674609624028 -72.781,2024/05/28 15:35:18.0239,28.627838985862834,30.07674609624028 -72.933,2024/05/28 15:35:18.1759,28.627838985862834,30.07674609624028 -73.026,2024/05/28 15:35:18.2689,28.627838985862834,30.07674609624028 -73.273,2024/05/28 15:35:18.5159,28.627838985862834,30.07674609624028 -73.519,2024/05/28 15:35:18.7619,28.627838985862834,30.07674609624028 -73.672,2024/05/28 15:35:18.9149,28.627838985862834,30.07674609624028 -73.765,2024/05/28 15:35:19.0079,28.627838985862834,30.07674609624028 -74.012,2024/05/28 15:35:19.2549,28.627838985862834,30.07674609624028 -74.165,2024/05/28 15:35:19.4079,28.627838985862834,30.07674609624028 -74.258,2024/05/28 15:35:19.5009,28.627838985862834,30.07674609624028 -74.504,2024/05/28 15:35:19.7469,28.627838985862834,30.07674609624028 -74.657,2024/05/28 15:35:19.8999,28.627838985862834,30.07674609624028 -74.751,2024/05/28 15:35:19.9939,28.627838985862834,30.07674609624028 -74.997,2024/05/28 15:35:20.2399,28.627838985862834,30.07674609624028 -75.243,2024/05/28 15:35:20.4859,28.627838985862834,30.07674609624028 -75.396,2024/05/28 15:35:20.6389,28.627838985862834,30.07674609624028 -75.49,2024/05/28 15:35:20.7329,28.627838985862834,30.07674609624028 -75.889,2024/05/28 15:35:21.1319,28.627838985862834,30.07674609624028 -76.229,2024/05/28 15:35:21.4719,28.627838985862834,30.07674609624028 -76.381,2024/05/28 15:35:21.6239,28.627838985862834,30.07674609624028 -76.475,2024/05/28 15:35:21.7179,28.627838985862834,30.07674609624028 -76.721,2024/05/28 15:35:21.9639,28.627838985862834,30.07674609624028 -76.874,2024/05/28 15:35:22.1169,28.627838985862834,30.07674609624028 -76.967,2024/05/28 15:35:22.2099,28.627838985862834,30.07674609624028 -77.213,2024/05/28 15:35:22.4559,28.627838985862834,30.07674609624028 -77.46,2024/05/28 15:35:22.7029,28.627838985862834,30.07674609624028 -77.612,2024/05/28 15:35:22.8549,28.627838985862834,30.07674609624028 -77.706,2024/05/28 15:35:22.9489,28.627838985862834,30.07674609624028 -77.952,2024/05/28 15:35:23.1949,28.627838985862834,30.07674609624028 -78.105,2024/05/28 15:35:23.3479,28.627838985862834,30.07674609624028 -78.199,2024/05/28 15:35:23.4419,28.627838985862834,30.07674609624028 -78.445,2024/05/28 15:35:23.6879,28.627838985862834,30.07674609624028 -78.691,2024/05/28 15:35:23.9339,28.627838985862834,30.07674609624028 -78.844,2024/05/28 15:35:24.0869,28.627838985862834,30.07674609624028 -78.938,2024/05/28 15:35:24.1809,28.627838985862834,30.07674609624028 -79.184,2024/05/28 15:35:24.4269,28.627838985862834,30.07674609624028 -79.337,2024/05/28 15:35:24.5799,28.627838985862834,30.07674609624028 -79.429,2024/05/28 15:35:24.6719,28.627838985862834,30.07674609624028 -79.676,2024/05/28 15:35:24.9189,28.627838985862834,30.07674609624028 -79.922,2024/05/28 15:35:25.1649,28.627838985862834,30.07674609624028 -80.075,2024/05/28 15:35:25.3179,28.627838985862834,30.07674609624028 -80.168,2024/05/28 15:35:25.4109,28.627838985862834,30.07674609624028 -80.415,2024/05/28 15:35:25.6579,28.627838985862834,30.07674609624028 -80.568,2024/05/28 15:35:25.8109,28.627838985862834,30.07674609624028 -80.661,2024/05/28 15:35:25.9039,28.627838985862834,30.07674609624028 -80.907,2024/05/28 15:35:26.1499,28.627838985862834,30.07674609624028 -81.154,2024/05/28 15:35:26.3969,28.627838985862834,30.07674609624028 -81.307,2024/05/28 15:35:26.5499,28.627838985862834,30.07674609624028 -81.4,2024/05/28 15:35:26.6429,28.627838985862834,30.07674609624028 -81.647,2024/05/28 15:35:26.8899,28.627838985862834,30.07674609624028 -81.893,2024/05/28 15:35:27.1359,28.627838985862834,30.07674609624028 -82.046,2024/05/28 15:35:27.2889,28.627838985862834,30.07674609624028 -82.139,2024/05/28 15:35:27.3819,28.627838985862834,30.07674609624028 -82.538,2024/05/28 15:35:27.7809,28.627838985862834,30.07674609624028 -82.878,2024/05/28 15:35:28.1209,28.627838985862834,30.07674609624028 -83.124,2024/05/28 15:35:28.3669,28.627838985862834,30.07674609624028 -83.276,2024/05/28 15:35:28.5189,28.627838985862834,30.07674609624028 -83.37,2024/05/28 15:35:28.6129,28.627838985862834,30.07674609624028 -83.617,2024/05/28 15:35:28.8599,28.627838985862834,30.07674609624028 -83.769,2024/05/28 15:35:29.0119,28.627838985862834,30.07674609624028 -83.863,2024/05/28 15:35:29.1059,28.627838985862834,30.07674609624028 -84.109,2024/05/28 15:35:29.3519,28.627838985862834,30.07674609624028 -84.262,2024/05/28 15:35:29.5049,28.627838985862834,30.07674609624028 -84.356,2024/05/28 15:35:29.5989,28.627838985862834,30.07674609624028 -84.602,2024/05/28 15:35:29.8449,28.627838985862834,30.07674609624028 -84.848,2024/05/28 15:35:30.0909,28.627838985862834,30.07674609624028 -85.001,2024/05/28 15:35:30.2439,28.627838985862834,30.07674609624028 -85.094,2024/05/28 15:35:30.3369,28.627838985862834,30.07674609624028 -85.739,2024/05/28 15:35:30.9819,28.627838985862834,30.07674609624028 -85.833,2024/05/28 15:35:31.0759,28.627838985862834,30.07674609624028 -86.232,2024/05/28 15:35:31.4749,28.627838985862834,30.07674609624028 -86.572,2024/05/28 15:35:31.8149,28.627838985862834,30.07674609624028 -86.725,2024/05/28 15:35:31.9679,28.627838985862834,30.07674609624028 -86.819,2024/05/28 15:35:32.0619,28.627838985862834,30.07674609624028 -87.064,2024/05/28 15:35:32.3069,28.627838985862834,30.07674609624028 -87.217,2024/05/28 15:35:32.4599,28.627838985862834,30.07674609624028 -87.311,2024/05/28 15:35:32.5539,28.627838985862834,30.07674609624028 -87.557,2024/05/28 15:35:32.7999,28.627838985862834,30.07674609624028 -87.803,2024/05/28 15:35:33.0459,28.627838985862834,30.07674609624028 -87.956,2024/05/28 15:35:33.1989,28.627838985862834,30.07674609624028 -88.05,2024/05/28 15:35:33.2929,28.627838985862834,30.07674609624028 -88.296,2024/05/28 15:35:33.5389,28.627838985862834,30.07674609624028 -88.449,2024/05/28 15:35:33.6919,28.627838985862834,30.07674609624028 -88.542,2024/05/28 15:35:33.7849,28.627838985862834,30.07674609624028 -88.789,2024/05/28 15:35:34.0319,28.627838985862834,30.07674609624028 -89.035,2024/05/28 15:35:34.2779,28.627838985862834,30.07674609624028 -89.188,2024/05/28 15:35:34.4309,28.627838985862834,30.07674609624028 -89.281,2024/05/28 15:35:34.5239,28.627838985862834,30.07674609624028 -89.527,2024/05/28 15:35:34.7699,28.627838985862834,30.07674609624028 -89.68,2024/05/28 15:35:34.9229,28.627838985862834,30.07674609624028 -89.773,2024/05/28 15:35:35.0159,28.627838985862834,30.07674609624028 -90.019,2024/05/28 15:35:35.2619,28.627838985862834,30.07674609624028 -90.172,2024/05/28 15:35:35.4149,28.627838985862834,30.07674609624028 -90.266,2024/05/28 15:35:35.5089,28.627838985862834,30.07674609624028 -90.512,2024/05/28 15:35:35.7549,28.627838985862834,30.07674609624028 -90.665,2024/05/28 15:35:35.9079,28.627838985862834,30.07674609624028 -90.759,2024/05/28 15:35:36.0019,28.627838985862834,30.07674609624028 -91.005,2024/05/28 15:35:36.2479,28.627838985862834,30.07674609624028 -91.251,2024/05/28 15:35:36.4939,28.627838985862834,30.07674609624028 -91.498,2024/05/28 15:35:36.7409,28.627838985862834,30.07674609624028 -91.65,2024/05/28 15:35:36.8929,28.627838985862834,30.07674609624028 -91.744,2024/05/28 15:35:36.9869,28.627838985862834,30.07674609624028 -91.897,2024/05/28 15:35:37.1399,28.627838985862834,30.07674609624028 -91.99,2024/05/28 15:35:37.2329,28.627838985862834,30.07674609624028 -92.236,2024/05/28 15:35:37.4789,28.627838985862834,30.07674609624028 -92.482,2024/05/28 15:35:37.7249,28.627838985862834,30.07674609624028 -92.635,2024/05/28 15:35:37.8779,28.627838985862834,30.07674609624028 -92.729,2024/05/28 15:35:37.9719,28.627838985862834,30.07674609624028 -92.975,2024/05/28 15:35:38.2179,28.627838985862834,30.07674609624028 -93.221,2024/05/28 15:35:38.4639,28.627838985862834,30.07674609624028 -93.468,2024/05/28 15:35:38.7109,28.627838985862834,30.07674609624028 -93.62,2024/05/28 15:35:38.8629,28.627838985862834,30.07674609624028 -93.714,2024/05/28 15:35:38.9569,28.627838985862834,30.07674609624028 -93.867,2024/05/28 15:35:39.1099,28.627838985862834,30.07674609624028 -93.96,2024/05/28 15:35:39.2029,28.627838985862834,30.07674609624028 -94.207,2024/05/28 15:35:39.4499,28.627838985862834,30.07674609624028 -94.453,2024/05/28 15:35:39.6959,28.627838985862834,30.07674609624028 -94.605,2024/05/28 15:35:39.8479,28.627838985862834,30.07674609624028 -94.699,2024/05/28 15:35:39.9419,28.627838985862834,30.07674609624028 -94.945,2024/05/28 15:35:40.1879,28.627838985862834,30.07674609624028 -95.098,2024/05/28 15:35:40.3409,28.627838985862834,30.07674609624028 -95.191,2024/05/28 15:35:40.4339,28.627838985862834,30.07674609624028 -95.438,2024/05/28 15:35:40.6809,28.627838985862834,30.07674609624028 -95.684,2024/05/28 15:35:40.9269,28.627838985862834,30.07674609624028 -95.837,2024/05/28 15:35:41.0799,28.627838985862834,30.07674609624028 -95.93,2024/05/28 15:35:41.1729,28.627838985862834,30.07674609624028 -96.177,2024/05/28 15:35:41.4199,28.627838985862834,30.07674609624028 -96.33,2024/05/28 15:35:41.5729,28.627838985862834,30.07674609624028 -96.422,2024/05/28 15:35:41.6649,28.627838985862834,30.07674609624028 -96.669,2024/05/28 15:35:41.9119,28.627838985862834,30.07674609624028 -96.821,2024/05/28 15:35:42.0639,28.627838985862834,30.07674609624028 -96.915,2024/05/28 15:35:42.1579,28.627838985862834,30.07674609624028 -97.161,2024/05/28 15:35:42.4039,28.627838985862834,30.07674609624028 -97.408,2024/05/28 15:35:42.6509,28.627838985862834,30.07674609624028 -97.56,2024/05/28 15:35:42.8029,28.627838985862834,30.07674609624028 -97.654,2024/05/28 15:35:42.8969,28.627838985862834,30.07674609624028 -97.9,2024/05/28 15:35:43.1429,28.627838985862834,30.07674609624028 -98.053,2024/05/28 15:35:43.2959,28.627838985862834,30.07674609624028 -98.147,2024/05/28 15:35:43.3899,28.627838985862834,30.07674609624028 -98.791,2024/05/28 15:35:44.0339,28.627838985862834,30.07674609624028 -98.886,2024/05/28 15:35:44.1289,28.627838985862834,30.07674609624028 -99.131,2024/05/28 15:35:44.3739,28.627838985862834,30.07674609624028 -99.284,2024/05/28 15:35:44.5269,28.627838985862834,30.07674609624028 -99.378,2024/05/28 15:35:44.6209,28.627838985862834,30.07674609624028 -99.624,2024/05/28 15:35:44.8669,28.627838985862834,30.07674609624028 -99.871,2024/05/28 15:35:45.1139,28.627838985862834,30.07674609624028 -100.023,2024/05/28 15:35:45.2659,28.627838985862834,30.07674609624028 -100.117,2024/05/28 15:35:45.3599,28.627838985862834,30.07674609624028 -100.363,2024/05/28 15:35:45.6059,28.627838985862834,30.07674609624028 -100.516,2024/05/28 15:35:45.7589,28.627838985862834,30.07674609624028 -100.61,2024/05/28 15:35:45.8529,28.627838985862834,30.07674609624028 -100.856,2024/05/28 15:35:46.0989,28.627838985862834,30.07674609624028 -101.102,2024/05/28 15:35:46.3449,28.627838985862834,30.07674609624028 -101.255,2024/05/28 15:35:46.4979,28.627838985862834,30.07674609624028 -101.348,2024/05/28 15:35:46.5909,28.627838985862834,30.07674609624028 -101.594,2024/05/28 15:35:46.8369,28.627838985862834,30.07674609624028 -101.841,2024/05/28 15:35:47.0839,28.627838985862834,30.07674609624028 -101.993,2024/05/28 15:35:47.2359,28.627838985862834,30.07674609624028 -102.087,2024/05/28 15:35:47.3299,28.627838985862834,30.07674609624028 -102.24,2024/05/28 15:35:47.4829,28.627838985862834,30.07674609624028 -102.333,2024/05/28 15:35:47.5759,28.627838985862834,30.07674609624028 -102.58,2024/05/28 15:35:47.8229,28.627838985862834,30.07674609624028 -102.826,2024/05/28 15:35:48.0689,28.627838985862834,30.07674609624028 -102.979,2024/05/28 15:35:48.2219,28.627838985862834,30.07674609624028 -103.072,2024/05/28 15:35:48.3149,28.627838985862834,30.07674609624028 -103.319,2024/05/28 15:35:48.5619,28.627838985862834,30.07674609624028 -103.471,2024/05/28 15:35:48.7139,28.627838985862834,30.07674609624028 -103.565,2024/05/28 15:35:48.8079,28.627838985862834,30.07674609624028 -103.811,2024/05/28 15:35:49.0539,28.627838985862834,30.07674609624028 -103.963,2024/05/28 15:35:49.2059,28.627838985862834,30.07674609624028 -104.057,2024/05/28 15:35:49.2999,28.627838985862834,30.07674609624028 -104.303,2024/05/28 15:35:49.5459,28.627838985862834,30.07674609624028 -104.55,2024/05/28 15:35:49.7929,28.627838985862834,30.07674609624028 -104.702,2024/05/28 15:35:49.9449,28.627838985862834,30.07674609624028 -104.796,2024/05/28 15:35:50.0389,28.627838985862834,30.07674609624028 -105.042,2024/05/28 15:35:50.2849,28.627838985862834,30.07674609624028 -105.195,2024/05/28 15:35:50.4379,28.627838985862834,30.07674609624028 -105.289,2024/05/28 15:35:50.5319,28.627838985862834,30.07674609624028 -105.535,2024/05/28 15:35:50.7779,28.627838985862834,30.07674609624028 -105.688,2024/05/28 15:35:50.9309,28.627838985862834,30.07674609624028 -105.782,2024/05/28 15:35:51.0249,28.627838985862834,30.07674609624028 -106.028,2024/05/28 15:35:51.2709,28.627838985862834,30.07674609624028 -106.274,2024/05/28 15:35:51.5169,28.627838985862834,30.07674609624028 -106.426,2024/05/28 15:35:51.6689,28.627838985862834,30.07674609624028 -106.52,2024/05/28 15:35:51.7629,28.627838985862834,30.07674609624028 -106.766,2024/05/28 15:35:52.0089,28.627838985862834,30.07674609624028 -107.012,2024/05/28 15:35:52.2549,28.627838985862834,30.07674609624028 -107.165,2024/05/28 15:35:52.4079,28.627838985862834,30.07674609624028 -107.259,2024/05/28 15:35:52.5019,28.627838985862834,30.07674609624028 -107.411,2024/05/28 15:35:52.6539,28.627838985862834,30.07674609624028 -107.505,2024/05/28 15:35:52.7479,28.627838985862834,30.07674609624028 -107.752,2024/05/28 15:35:52.9949,28.627838985862834,30.07674609624028 -107.904,2024/05/28 15:35:53.1469,28.627838985862834,30.07674609624028 -107.998,2024/05/28 15:35:53.2409,28.627838985862834,30.07674609624028 -108.244,2024/05/28 15:35:53.4869,28.627838985862834,30.07674609624028 -108.491,2024/05/28 15:35:53.7339,28.627838985862834,30.07674609624028 -108.643,2024/05/28 15:35:53.8859,28.627838985862834,30.07674609624028 -108.737,2024/05/28 15:35:53.9799,28.627838985862834,30.07674609624028 -108.983,2024/05/28 15:35:54.2259,28.627838985862834,30.07674609624028 -109.135,2024/05/28 15:35:54.3779,28.627838985862834,30.07674609624028 -109.23,2024/05/28 15:35:54.4729,28.627838985862834,30.07674609624028 -109.475,2024/05/28 15:35:54.7179,28.627838985862834,30.07674609624028 -109.722,2024/05/28 15:35:54.9649,28.627838985862834,30.07674609624028 -109.874,2024/05/28 15:35:55.1169,28.627838985862834,30.07674609624028 -109.968,2024/05/28 15:35:55.2109,28.627838985862834,30.07674609624028 -110.214,2024/05/28 15:35:55.4569,28.627838985862834,30.07674609624028 -110.367,2024/05/28 15:35:55.6099,28.627838985862834,30.07674609624028 -110.461,2024/05/28 15:35:55.7039,28.627838985862834,30.07674609624028 -111.106,2024/05/28 15:35:56.3489,28.627838985862834,30.07674609624028 -111.203,2024/05/28 15:35:56.4459,28.627838985862834,30.07674609624028 -111.446,2024/05/28 15:35:56.6889,28.627838985862834,30.07674609624028 -111.598,2024/05/28 15:35:56.8409,28.627838985862834,30.07674609624028 -111.691,2024/05/28 15:35:56.9339,28.627838985862834,30.07674609624028 -111.939,2024/05/28 15:35:57.1819,28.627838985862834,30.07674609624028 -112.09,2024/05/28 15:35:57.3329,28.627838985862834,30.07674609624028 -112.184,2024/05/28 15:35:57.4269,28.627838985862834,30.07674609624028 -112.43,2024/05/28 15:35:57.6729,28.627838985862834,30.07674609624028 -112.677,2024/05/28 15:35:57.9199,28.627838985862834,30.07674609624028 -112.829,2024/05/28 15:35:58.0719,28.627838985862834,30.07674609624028 -112.923,2024/05/28 15:35:58.1659,28.627838985862834,30.07674609624028 -113.169,2024/05/28 15:35:58.4119,28.627838985862834,30.07674609624028 -113.416,2024/05/28 15:35:58.6589,28.627838985862834,30.07674609624028 -113.569,2024/05/28 15:35:58.8119,28.627838985862834,30.07674609624028 -113.662,2024/05/28 15:35:58.9049,28.627838985862834,30.07674609624028 -113.909,2024/05/28 15:35:59.1519,28.627838985862834,30.07674609624028 -114.06,2024/05/28 15:35:59.3029,28.627838985862834,30.07674609624028 -114.155,2024/05/28 15:35:59.3979,28.627838985862834,30.07674609624028 -114.799,2024/05/28 15:36:00.0419,28.627838985862834,30.07674609624028 -114.893,2024/05/28 15:36:00.1359,28.627838985862834,30.07674609624028 -115.292,2024/05/28 15:36:00.5349,28.627838985862834,30.07674609624028 -115.632,2024/05/28 15:36:00.8749,28.627838985862834,30.07674609624028 -116.031,2024/05/28 15:36:01.2739,28.627838985862834,30.07674609624028 -116.371,2024/05/28 15:36:01.6139,28.627838985862834,30.07674609624028 -116.77,2024/05/28 15:36:02.0129,28.627838985862834,30.07674609624028 -117.016,2024/05/28 15:36:02.2589,28.627838985862834,30.07674609624028 -117.602,2024/05/28 15:36:02.8449,28.627838985862834,30.07674609624028 -117.755,2024/05/28 15:36:02.9979,28.627838985862834,30.07674609624028 -117.848,2024/05/28 15:36:03.0909,28.627838985862834,30.07674609624028 -118.095,2024/05/28 15:36:03.3379,28.627838985862834,30.07674609624028 -118.247,2024/05/28 15:36:03.4899,28.627838985862834,30.07674609624028 -118.341,2024/05/28 15:36:03.5839,28.627838985862834,30.07674609624028 -118.587,2024/05/28 15:36:03.8299,28.627838985862834,30.07674609624028 -118.74,2024/05/28 15:36:03.9829,28.627838985862834,30.07674609624028 -118.834,2024/05/28 15:36:04.0769,28.627838985862834,30.07674609624028 -119.08,2024/05/28 15:36:04.3229,28.627838985862834,30.07674609624028 -119.326,2024/05/28 15:36:04.5689,28.627838985862834,30.07674609624028 -119.479,2024/05/28 15:36:04.7219,28.627838985862834,30.07674609624028 -119.573,2024/05/28 15:36:04.8159,28.627838985862834,30.07674609624028 -119.819,2024/05/28 15:36:05.0619,28.627838985862834,30.07674609624028 -119.972,2024/05/28 15:36:05.2149,28.627838985862834,30.07674609624028 -120.065,2024/05/28 15:36:05.3079,28.627838985862834,30.07674609624028 -120.312,2024/05/28 15:36:05.5549,28.627838985862834,30.07674609624028 -120.463,2024/05/28 15:36:05.7059,28.627838985862834,30.07674609624028 -121.051,2024/05/28 15:36:06.2939,28.627838985862834,30.07674609624028 -121.203,2024/05/28 15:36:06.4459,28.627838985862834,30.07674609624028 -121.296,2024/05/28 15:36:06.5389,28.627838985862834,30.07674609624028 -121.543,2024/05/28 15:36:06.7859,28.627838985862834,30.07674609624028 -121.695,2024/05/28 15:36:06.9379,28.627838985862834,30.07674609624028 -121.789,2024/05/28 15:36:07.0319,28.627838985862834,30.07674609624028 -122.035,2024/05/28 15:36:07.2779,28.627838985862834,30.07674609624028 -122.282,2024/05/28 15:36:07.5249,28.627838985862834,30.07674609624028 -122.434,2024/05/28 15:36:07.6769,28.627838985862834,30.07674609624028 -122.528,2024/05/28 15:36:07.7709,28.627838985862834,30.07674609624028 -122.775,2024/05/28 15:36:08.0179,28.627838985862834,30.07674609624028 -122.926,2024/05/28 15:36:08.1689,28.627838985862834,30.07674609624028 -123.021,2024/05/28 15:36:08.2639,28.627838985862834,30.07674609624028 -123.266,2024/05/28 15:36:08.5089,28.627838985862834,30.07674609624028 -123.513,2024/05/28 15:36:08.7559,28.627838985862834,30.07674609624028 -123.666,2024/05/28 15:36:08.9089,28.627838985862834,30.07674609624028 -123.759,2024/05/28 15:36:09.0019,28.627838985862834,30.07674609624028 -124.006,2024/05/28 15:36:09.2489,28.627838985862834,30.07674609624028 -124.158,2024/05/28 15:36:09.4009,28.627838985862834,30.07674609624028 -124.252,2024/05/28 15:36:09.4949,28.627838985862834,30.07674609624028 -124.498,2024/05/28 15:36:09.7409,28.627838985862834,30.07674609624028 -124.745,2024/05/28 15:36:09.9879,28.627838985862834,30.07674609624028 -124.896,2024/05/28 15:36:10.1389,28.627838985862834,30.07674609624028 -125.389,2024/05/28 15:36:10.6319,28.627838985862834,30.07674609624028 -125.483,2024/05/28 15:36:10.7259,28.627838985862834,30.07674609624028 -125.729,2024/05/28 15:36:10.9719,28.627838985862834,30.07674609624028 -125.882,2024/05/28 15:36:11.1249,28.627838985862834,30.07674609624028 -125.976,2024/05/28 15:36:11.2189,28.627838985862834,30.07674609624028 -126.222,2024/05/28 15:36:11.4649,28.627838985862834,30.07674609624028 -126.468,2024/05/28 15:36:11.7109,28.627838985862834,30.07674609624028 -126.621,2024/05/28 15:36:11.8639,28.627838985862834,30.07674609624028 -126.715,2024/05/28 15:36:11.9579,28.627838985862834,30.07674609624028 -126.961,2024/05/28 15:36:12.2039,28.627838985862834,30.07674609624028 -127.207,2024/05/28 15:36:12.4499,28.627838985862834,30.07674609624028 -127.359,2024/05/28 15:36:12.6019,28.627838985862834,30.07674609624028 -127.454,2024/05/28 15:36:12.6969,28.627838985862834,30.07674609624028 -127.605,2024/05/28 15:36:12.8479,28.627838985862834,30.07674609624028 -127.7,2024/05/28 15:36:12.9429,28.627838985862834,30.07674609624028 -127.946,2024/05/28 15:36:13.1889,28.627838985862834,30.07674609624028 -128.193,2024/05/28 15:36:13.4359,28.627838985862834,30.07674609624028 -128.344,2024/05/28 15:36:13.5869,28.627838985862834,30.07674609624028 -128.438,2024/05/28 15:36:13.6809,28.627838985862834,30.07674609624028 -128.685,2024/05/28 15:36:13.9279,28.627838985862834,30.07674609624028 -128.837,2024/05/28 15:36:14.0799,28.627838985862834,30.07674609624028 -128.931,2024/05/28 15:36:14.1739,28.627838985862834,30.07674609624028 -129.177,2024/05/28 15:36:14.4199,28.627838985862834,30.07674609624028 -129.424,2024/05/28 15:36:14.6669,28.627838985862834,30.07674609624028 -129.576,2024/05/28 15:36:14.8189,28.627838985862834,30.07674609624028 -130.068,2024/05/28 15:36:15.3109,28.627838985862834,30.07674609624028 -130.163,2024/05/28 15:36:15.4059,28.627838985862834,30.07674609624028 -130.807,2024/05/28 15:36:16.0499,28.627838985862834,30.07674609624028 -130.902,2024/05/28 15:36:16.1449,28.627838985862834,30.07674609624028 -131.147,2024/05/28 15:36:16.3899,28.627838985862834,30.07674609624028 -131.3,2024/05/28 15:36:16.5429,28.627838985862834,30.07674609624028 -131.394,2024/05/28 15:36:16.6369,28.627838985862834,30.07674609624028 -131.64,2024/05/28 15:36:16.8829,28.627838985862834,30.07674609624028 -131.886,2024/05/28 15:36:17.1289,28.627838985862834,30.07674609624028 -132.039,2024/05/28 15:36:17.2819,28.627838985862834,30.07674609624028 -132.133,2024/05/28 15:36:17.3759,28.627838985862834,30.07674609624028 -132.379,2024/05/28 15:36:17.6219,28.627838985862834,30.07674609624028 -132.531,2024/05/28 15:36:17.7739,28.627838985862834,30.07674609624028 -132.625,2024/05/28 15:36:17.8679,28.627838985862834,30.07674609624028 -132.872,2024/05/28 15:36:18.1149,28.627838985862834,30.07674609624028 -133.118,2024/05/28 15:36:18.3609,28.627838985862834,30.07674609624028 -133.27,2024/05/28 15:36:18.5129,28.627838985862834,30.07674609624028 -133.364,2024/05/28 15:36:18.6069,28.627838985862834,30.07674609624028 -133.611,2024/05/28 15:36:18.8539,28.627838985862834,30.07674609624028 -133.762,2024/05/28 15:36:19.0049,28.627838985862834,30.07674609624028 -133.857,2024/05/28 15:36:19.0999,28.627838985862834,30.07674609624028 -134.103,2024/05/28 15:36:19.3459,28.627838985862834,30.07674609624028 -134.255,2024/05/28 15:36:19.4979,28.627838985862834,30.07674609624028 -134.349,2024/05/28 15:36:19.5919,28.627838985862834,30.07674609624028 -134.596,2024/05/28 15:36:19.8389,28.627838985862834,30.07674609624028 -134.842,2024/05/28 15:36:20.0849,28.627838985862834,30.07674609624028 -134.994,2024/05/28 15:36:20.2369,28.627838985862834,30.07674609624028 -135.088,2024/05/28 15:36:20.3309,28.627838985862834,30.07674609624028 -135.486,2024/05/28 15:36:20.7289,28.627838985862834,30.07674609624028 -135.827,2024/05/28 15:36:21.0699,28.627838985862834,30.07674609624028 -135.979,2024/05/28 15:36:21.2219,28.627838985862834,30.07674609624028 -136.566,2024/05/28 15:36:21.8089,28.627838985862834,30.07674609624028 -136.717,2024/05/28 15:36:21.9599,28.627838985862834,30.07674609624028 -136.812,2024/05/28 15:36:22.0549,28.627838985862834,30.07674609624028 -137.058,2024/05/28 15:36:22.3009,28.627838985862834,30.07674609624028 -137.21,2024/05/28 15:36:22.4529,28.627838985862834,30.07674609624028 -137.305,2024/05/28 15:36:22.5479,28.627838985862834,30.07674609624028 -137.551,2024/05/28 15:36:22.7939,28.627838985862834,30.07674609624028 -137.797,2024/05/28 15:36:23.0399,28.627838985862834,30.07674609624028 -137.949,2024/05/28 15:36:23.1919,28.627838985862834,30.07674609624028 -138.044,2024/05/28 15:36:23.2869,28.627838985862834,30.07674609624028 -138.289,2024/05/28 15:36:23.5319,28.627838985862834,30.07674609624028 -138.442,2024/05/28 15:36:23.6849,28.627838985862834,30.07674609624028 -138.535,2024/05/28 15:36:23.7779,28.627838985862834,30.07674609624028 -138.782,2024/05/28 15:36:24.0249,28.627838985862834,30.07674609624028 -139.028,2024/05/28 15:36:24.2709,28.627838985862834,30.07674609624028 -139.181,2024/05/28 15:36:24.4239,28.627838985862834,30.07674609624028 -139.275,2024/05/28 15:36:24.5179,28.627838985862834,30.07674609624028 -139.521,2024/05/28 15:36:24.7639,28.627838985862834,30.07674609624028 -139.673,2024/05/28 15:36:24.9159,28.627838985862834,30.07674609624028 -140.26,2024/05/28 15:36:25.5029,28.627838985862834,30.07674609624028 -140.412,2024/05/28 15:36:25.6549,28.627838985862834,30.07674609624028 -140.506,2024/05/28 15:36:25.7489,28.627838985862834,30.07674609624028 -140.753,2024/05/28 15:36:25.9959,28.627838985862834,30.07674609624028 -140.904,2024/05/28 15:36:26.1469,28.627838985862834,30.07674609624028 -140.998,2024/05/28 15:36:26.2409,28.627838985862834,30.07674609624028 -141.244,2024/05/28 15:36:26.4869,28.627838985862834,30.07674609624028 -141.397,2024/05/28 15:36:26.6399,28.627838985862834,30.07674609624028 -141.491,2024/05/28 15:36:26.7339,28.627838985862834,30.07674609624028 -141.737,2024/05/28 15:36:26.9799,28.627838985862834,30.07674609624028 -141.983,2024/05/28 15:36:27.2259,28.627838985862834,30.07674609624028 -142.136,2024/05/28 15:36:27.3789,28.627838985862834,30.07674609624028 -142.23,2024/05/28 15:36:27.4729,28.627838985862834,30.07674609624028 -142.476,2024/05/28 15:36:27.7189,28.627838985862834,30.07674609624028 -142.629,2024/05/28 15:36:27.8719,28.627838985862834,30.07674609624028 -143.121,2024/05/28 15:36:28.3639,28.627838985862834,30.07674609624028 -143.215,2024/05/28 15:36:28.4579,28.627838985862834,30.07674609624028 -143.462,2024/05/28 15:36:28.7049,28.627838985862834,30.07674609624028 -143.708,2024/05/28 15:36:28.9509,28.627838985862834,30.07674609624028 -143.86,2024/05/28 15:36:29.1029,28.627838985862834,30.07674609624028 -143.953,2024/05/28 15:36:29.1959,28.627838985862834,30.07674609624028 -144.2,2024/05/28 15:36:29.4429,28.627838985862834,30.07674609624028 -144.352,2024/05/28 15:36:29.5949,28.627838985862834,30.07674609624028 -144.447,2024/05/28 15:36:29.6899,28.627838985862834,30.07674609624028 -144.693,2024/05/28 15:36:29.9359,28.627838985862834,30.07674609624028 -144.939,2024/05/28 15:36:30.1819,28.627838985862834,30.07674609624028 -145.091,2024/05/28 15:36:30.3339,28.627838985862834,30.07674609624028 -145.186,2024/05/28 15:36:30.4289,28.627838985862834,30.07674609624028 -145.432,2024/05/28 15:36:30.6749,28.627838985862834,30.07674609624028 -145.583,2024/05/28 15:36:30.8259,28.627838985862834,30.07674609624028 -145.678,2024/05/28 15:36:30.9209,28.627838985862834,30.07674609624028 -145.925,2024/05/28 15:36:31.1679,28.627838985862834,30.07674609624028 -146.17,2024/05/28 15:36:31.4129,28.627838985862834,30.07674609624028 -146.323,2024/05/28 15:36:31.5659,28.627838985862834,30.07674609624028 -146.909,2024/05/28 15:36:32.1519,28.627838985862834,30.07674609624028 -147.061,2024/05/28 15:36:32.3039,28.627838985862834,30.07674609624028 -147.155,2024/05/28 15:36:32.3979,28.627838985862834,30.07674609624028 -147.402,2024/05/28 15:36:32.6449,28.627838985862834,30.07674609624028 -147.553,2024/05/28 15:36:32.7959,28.627838985862834,30.07674609624028 -148.141,2024/05/28 15:36:33.3839,28.627838985862834,30.07674609624028 -148.292,2024/05/28 15:36:33.5349,28.627838985862834,30.07674609624028 -148.387,2024/05/28 15:36:33.6299,28.627838985862834,30.07674609624028 -148.633,2024/05/28 15:36:33.8759,28.627838985862834,30.07674609624028 -148.88,2024/05/28 15:36:34.1229,28.627838985862834,30.07674609624028 -149.031,2024/05/28 15:36:34.2739,28.627838985862834,30.07674609624028 -149.126,2024/05/28 15:36:34.3689,28.627838985862834,30.07674609624028 -149.372,2024/05/28 15:36:34.6149,28.627838985862834,30.07674609624028 -149.524,2024/05/28 15:36:34.7669,28.627838985862834,30.07674609624028 -149.618,2024/05/28 15:36:34.8609,28.627838985862834,30.07674609624028 -149.865,2024/05/28 15:36:35.1079,28.627838985862834,30.07674609624028 -150.016,2024/05/28 15:36:35.2589,28.627838985862834,30.07674609624028 -150.111,2024/05/28 15:36:35.3539,28.627838985862834,30.07674609624028 -150.357,2024/05/28 15:36:35.5999,28.627838985862834,30.07674609624028 -150.509,2024/05/28 15:36:35.7519,28.627838985862834,30.07674609624028 -150.604,2024/05/28 15:36:35.8469,28.627838985862834,30.07674609624028 -150.849,2024/05/28 15:36:36.0919,28.627838985862834,30.07674609624028 -151.096,2024/05/28 15:36:36.3389,28.627838985862834,30.07674609624028 -151.247,2024/05/28 15:36:36.4899,28.627838985862834,30.07674609624028 -151.342,2024/05/28 15:36:36.5849,28.627838985862834,30.07674609624028 -151.588,2024/05/28 15:36:36.8309,28.627838985862834,30.07674609624028 -151.74,2024/05/28 15:36:36.9829,28.627838985862834,30.07674609624028 -151.835,2024/05/28 15:36:37.0779,28.627838985862834,30.07674609624028 -152.233,2024/05/28 15:36:37.4759,28.627838985862834,30.07674609624028 -152.574,2024/05/28 15:36:37.8169,28.627838985862834,30.07674609624028 -152.725,2024/05/28 15:36:37.9679,28.627838985862834,30.07674609624028 -152.82,2024/05/28 15:36:38.0629,28.627838985862834,30.07674609624028 -153.066,2024/05/28 15:36:38.3089,28.627838985862834,30.07674609624028 -153.313,2024/05/28 15:36:38.5559,28.627838985862834,30.07674609624028 -153.464,2024/05/28 15:36:38.7069,28.627838985862834,30.07674609624028 -153.559,2024/05/28 15:36:38.8019,28.627838985862834,30.07674609624028 -153.804,2024/05/28 15:36:39.0469,28.627838985862834,30.07674609624028 -154.051,2024/05/28 15:36:39.2939,28.627838985862834,30.07674609624028 -154.203,2024/05/28 15:36:39.4459,28.627838985862834,30.07674609624028 -154.297,2024/05/28 15:36:39.5399,28.627838985862834,30.07674609624028 -154.544,2024/05/28 15:36:39.7869,28.627838985862834,30.07674609624028 -154.79,2024/05/28 15:36:40.0329,28.627838985862834,30.07674609624028 -154.942,2024/05/28 15:36:40.1849,28.627838985862834,30.07674609624028 -155.036,2024/05/28 15:36:40.2789,28.627838985862834,30.07674609624028 -155.283,2024/05/28 15:36:40.5259,28.627838985862834,30.07674609624028 -155.529,2024/05/28 15:36:40.7719,28.627838985862834,30.07674609624028 -155.681,2024/05/28 15:36:40.9239,28.627838985862834,30.07674609624028 -156.267,2024/05/28 15:36:41.5099,28.627838985862834,30.07674609624028 -156.42,2024/05/28 15:36:41.6629,28.627838985862834,30.07674609624028 -156.514,2024/05/28 15:36:41.7569,28.627838985862834,30.07674609624028 -156.76,2024/05/28 15:36:42.0029,28.627838985862834,30.07674609624028 -156.912,2024/05/28 15:36:42.1549,28.627838985862834,30.07674609624028 -157.006,2024/05/28 15:36:42.2489,28.627838985862834,30.07674609624028 +0.001,2024/05/28 15:34:05.2439,, +0.001,2024/05/28 15:34:05.2439,, +0.037,2024/05/28 15:34:05.2799,, +1.022,2024/05/28 15:34:06.2649,, +1.515,2024/05/28 15:34:06.7579,, +1.607,2024/05/28 15:34:06.8499,, +1.853,2024/05/28 15:34:07.0959,, +2.008,2024/05/28 15:34:07.2509,, +2.099,2024/05/28 15:34:07.3419,, +2.5,2024/05/28 15:34:07.7429,53.62886867681953, +3.238,2024/05/28 15:34:08.4809,53.558124755005444,77.88067796315077 +3.731,2024/05/28 15:34:08.9739,51.21316118721709,75.08964339677307 +4.716,2024/05/28 15:34:09.9589,49.335325670095244,72.48390625971166 +4.808,2024/05/28 15:34:10.0509,49.56026412580728,70.3524096137548 +5.054,2024/05/28 15:34:10.2969,49.49093231039783,67.79327821715492 +5.209,2024/05/28 15:34:10.4519,48.098336769580705,65.83767918145354 +5.301,2024/05/28 15:34:10.5439,47.86761769222917,64.07758968625458 +5.951,2024/05/28 15:34:11.1939,46.45371580851525,63.24508816082549 +6.44,2024/05/28 15:34:11.6829,45.150948906246725,61.49209524628168 +6.932,2024/05/28 15:34:12.1749,44.00296042672343,59.92627048913391 +7.918,2024/05/28 15:34:13.1609,43.87775225392866,58.87316876132964 +8.011,2024/05/28 15:34:13.2539,43.908725675840216,60.4416286692415 +8.257,2024/05/28 15:34:13.4999,43.84760709800871,59.05198018387159 +8.41,2024/05/28 15:34:13.6529,44.56447860822774,61.473925189960575 +8.502,2024/05/28 15:34:13.7449,44.50816404511274,63.61308827592008 +8.903,2024/05/28 15:34:14.1459,45.00333320988568,65.39724764850583 +9.241,2024/05/28 15:34:14.4839,44.952713363560584,67.00200915472035 +9.488,2024/05/28 15:34:14.7309,44.84958695167046,65.74952471311104 +9.641,2024/05/28 15:34:14.8839,45.07481465581591,66.91412406958638 +9.737,2024/05/28 15:34:14.9799,44.984543961257394,67.98047386997392 +9.98,2024/05/28 15:34:15.2229,44.663865926946244,66.83786352061233 +10.134,2024/05/28 15:34:15.3769,45.29591085550532,67.6941651843052 +10.227,2024/05/28 15:34:15.4699,45.59225836683796,69.29333782310293 +10.473,2024/05/28 15:34:15.7159,45.48463173576249,69.27385269108876 +10.627,2024/05/28 15:34:15.8699,44.89113267788472,70.8201948599409 +10.719,2024/05/28 15:34:15.9619,44.59948198245636,69.75026881668629 +10.966,2024/05/28 15:34:16.2089,44.3038100642247,69.75026881668629 +11.212,2024/05/28 15:34:16.4549,42.536745440191844,66.15940346365485 +11.366,2024/05/28 15:34:16.6089,42.74034138386352,64.308371668599 +11.458,2024/05/28 15:34:16.7009,40.58000470193663,62.13909129257256 +11.705,2024/05/28 15:34:16.9479,38.690579209159374,62.10662873907529 +11.858,2024/05/28 15:34:17.1009,39.383598313155176,63.658725508239115 +11.95,2024/05/28 15:34:17.1929,39.7610824571078,65.2620359269716 +12.196,2024/05/28 15:34:17.4389,39.7610824571078,64.93021895337588 +12.443,2024/05/28 15:34:17.6859,39.7610824571078,64.93021895337588 +12.597,2024/05/28 15:34:17.8399,41.21075632382417,66.76401226209622 +12.689,2024/05/28 15:34:17.9319,41.21075632382417,68.54876609635897 +12.935,2024/05/28 15:34:18.1779,41.48030968970734,67.98627312431042 +13.089,2024/05/28 15:34:18.3319,43.073260233309966,70.10373266334207 +13.182,2024/05/28 15:34:18.4249,43.2574357437706,72.13482746450104 +13.428,2024/05/28 15:34:18.6709,42.254034698190296,71.88277494179904 +13.674,2024/05/28 15:34:18.9169,42.254034698190296,70.14698853122634 +13.828,2024/05/28 15:34:19.0709,44.06323825500399,72.57685581505994 +13.921,2024/05/28 15:34:19.1639,42.314694059313965,72.62345810181905 +14.167,2024/05/28 15:34:19.4099,42.314694059313965,70.24338640280189 +14.321,2024/05/28 15:34:19.5639,43.409954364535345,71.10532094482568 +14.813,2024/05/28 15:34:20.0559,46.47660392760731,68.78517282089214 +15.305,2024/05/28 15:34:20.5479,50.06048066227423,68.8471737497868 +16.291,2024/05/28 15:34:21.5339,53.47751702899272,66.76276407299706 +16.383,2024/05/28 15:34:21.6259,53.21260761506995,66.44922873894023 +16.63,2024/05/28 15:34:21.8729,52.84883017224421,66.44922873894023 +16.783,2024/05/28 15:34:22.0259,56.36677916205116,66.71056887780226 +16.876,2024/05/28 15:34:22.1189,55.83070674899208,66.97088919821806 +17.03,2024/05/28 15:34:22.2729,58.6923500468586,69.0897966417618 +17.522,2024/05/28 15:34:22.7649,61.85206674735722,67.45047565930626 +18.508,2024/05/28 15:34:23.7509,63.86350386908608,65.76828009509346 +19.585,2024/05/28 15:34:24.8279,63.06504578607702,66.9298139845017 +19.831,2024/05/28 15:34:25.0739,62.092996625102955,66.9298139845017 +20.078,2024/05/28 15:34:25.3209,62.19302544331714,65.06202169212594 +21.216,2024/05/28 15:34:26.4589,60.878020116732785,63.376125894009434 +21.709,2024/05/28 15:34:26.9519,59.44045605555144,63.41398373650195 +22.201,2024/05/28 15:34:27.4439,59.49117581625016,61.6289975038807 +22.693,2024/05/28 15:34:27.9359,58.47232374104991,59.77820115504759 +22.786,2024/05/28 15:34:28.0289,56.96731266826325,60.8747347701272 +23.033,2024/05/28 15:34:28.2759,55.2378867982024,60.8747347701272 +23.279,2024/05/28 15:34:28.5219,55.27818883537637,58.666003784133785 +23.432,2024/05/28 15:34:28.6749,54.229874703384816,57.7612903826314 +23.925,2024/05/28 15:34:29.1679,52.942866624662194,57.77167702833861 +24.911,2024/05/28 15:34:30.1539,52.88983345368569,55.7455528869045 +25.403,2024/05/28 15:34:30.6459,50.88576342691752,53.35884806352801 +25.895,2024/05/28 15:34:31.1379,48.64504322009635,53.37415104711268 +26.234,2024/05/28 15:34:31.4769,45.77160943079279,53.601305954239585 +26.388,2024/05/28 15:34:31.6309,45.930744968194404,50.50346522764552 +26.48,2024/05/28 15:34:31.7229,42.6442649524331,47.20275415693453 +26.881,2024/05/28 15:34:32.1239,38.841795240066375,47.30468616673546 +27.62,2024/05/28 15:34:32.8629,38.674533484320975,42.32414598468979 +28.112,2024/05/28 15:34:33.3549,38.33549719030087,42.31823877872676 +29.097,2024/05/28 15:34:34.3399,37.399505190653635,42.217689815210555 +29.189,2024/05/28 15:34:34.4319,35.93840516101436,42.32493354985924 +29.436,2024/05/28 15:34:34.6789,35.93840516101436,39.30479190463507 +29.589,2024/05/28 15:34:34.8319,35.66349754961291,39.568927203046584 +29.682,2024/05/28 15:34:34.9249,33.85603394496676,36.46687995062552 +30.082,2024/05/28 15:34:35.3249,33.62301141408525,33.04340579702199 +30.821,2024/05/28 15:34:36.0639,30.855782445836823,28.35254250797742 +31.314,2024/05/28 15:34:36.5569,27.790451514904976,28.55871145552614 +31.806,2024/05/28 15:34:37.0489,24.422620003105276,28.560462181134255 +32.391,2024/05/28 15:34:37.6339,24.914658935755952,28.02855686616776 +32.638,2024/05/28 15:34:37.8809,25.32465065967287,28.02855686616776 +32.791,2024/05/28 15:34:38.0339,25.73894138165481,29.77303030148818 +32.884,2024/05/28 15:34:38.1269,26.03377558604119,30.939726350869147 +33.037,2024/05/28 15:34:38.2799,26.40987711435607,32.2893171188243 +33.53,2024/05/28 15:34:38.7729,26.148317015796767,32.01562118716424 +34.515,2024/05/28 15:34:39.7579,24.323962925760657,31.77577693778706 +35.007,2024/05/28 15:34:40.2499,24.335986314202334,29.635001827793655 +35.5,2024/05/28 15:34:40.7429,24.294647251142734,29.715876788904165 +35.839,2024/05/28 15:34:41.0819,24.332467312568763,29.761272374233823 +35.993,2024/05/28 15:34:41.2359,21.869019707990823,27.668875413841214 +36.086,2024/05/28 15:34:41.3289,19.275498115125117,28.335490113989557 +38.209,2024/05/28 15:34:43.4519,19.265984556194507,27.71942760351784 +38.702,2024/05/28 15:34:43.9449,19.018925843219172,27.158178633087065 +38.795,2024/05/28 15:34:44.0379,18.481926555296866,27.128091221708416 +39.041,2024/05/28 15:34:44.2839,18.49911461068598,26.67645653630432 +39.194,2024/05/28 15:34:44.4369,17.912976096775864,26.21958555482269 +39.287,2024/05/28 15:34:44.5299,17.937439174472935,25.754611237601704 +39.534,2024/05/28 15:34:44.7769,17.73703185007458,25.566905692059542 +39.686,2024/05/28 15:34:44.9289,17.73703185007458,25.52776266472772 +39.78,2024/05/28 15:34:45.0229,17.861697284553973,25.506208394558897 +40.025,2024/05/28 15:34:45.2679,17.976389368074695,25.505554950507022 +40.179,2024/05/28 15:34:45.4219,17.556116922010272,25.216396781988237 +40.272,2024/05/28 15:34:45.5149,17.07306812416558,25.21705771893303 +40.518,2024/05/28 15:34:45.7609,17.145087430179256,24.800537628581093 +40.764,2024/05/28 15:34:46.0069,16.122376824858787,24.102558647026115 +40.918,2024/05/28 15:34:46.1609,16.748340113327924,23.65797962633327 +41.504,2024/05/28 15:34:46.7469,16.78535897328544,23.878860944358298 +41.656,2024/05/28 15:34:46.8989,17.995018467763728,24.42744358298674 +41.903,2024/05/28 15:34:47.1459,19.105394315585542,24.425396619093007 +42.242,2024/05/28 15:34:47.4849,17.43559577416228,22.658331800907145 +42.488,2024/05/28 15:34:47.7309,15.431122455280791,22.658331800907145 +42.642,2024/05/28 15:34:47.8849,16.7158813604057,21.29319140006965 +42.735,2024/05/28 15:34:47.9779,14.35013716943486,19.834313701260246 +42.981,2024/05/28 15:34:48.2239,14.318864656719745,17.414553300807537 +43.135,2024/05/28 15:34:48.3779,15.472630637695765,18.426430292743447 +43.227,2024/05/28 15:34:48.4699,15.472630637695765,19.364916731037084 +43.474,2024/05/28 15:34:48.7169,15.425199564646881,19.343388189938874 +43.627,2024/05/28 15:34:48.8699,15.770953950403076,19.934894030317793 +43.72,2024/05/28 15:34:48.9629,14.785088791573086,20.560479890638092 +43.966,2024/05/28 15:34:49.2089,14.786954486590306,19.601020381602584 +44.213,2024/05/28 15:34:49.4559,13.691384991610358,18.59211302317912 +44.366,2024/05/28 15:34:49.6089,13.868678015046896,18.03607496103296 +44.458,2024/05/28 15:34:49.7009,13.743295125970624,18.20988742414406 +44.858,2024/05/28 15:34:50.1009,13.577195214220243,18.26836975029062 +45.198,2024/05/28 15:34:50.4409,13.438835472263298,18.326665454104482 +45.445,2024/05/28 15:34:50.6879,13.22641036088289,18.323027406335815 +45.597,2024/05/28 15:34:50.8399,13.259956137996712,18.363913889292046 +45.69,2024/05/28 15:34:50.9329,13.11141469873813,18.40833144711021 +45.937,2024/05/28 15:34:51.1799,13.02027596508169,18.404709542215908 +46.089,2024/05/28 15:34:51.3319,13.322222381997301,18.480620480203942 +46.183,2024/05/28 15:34:51.4259,13.322222381997301,18.57058606147546 +46.429,2024/05/28 15:34:51.6719,13.304393881410444,18.569688563175564 +46.676,2024/05/28 15:34:51.9189,13.304393881410444,18.568791021496256 +46.828,2024/05/28 15:34:52.0709,13.289050025291505,18.569688563175564 +46.922,2024/05/28 15:34:52.1649,13.289050025291505,18.57058606147546 +47.167,2024/05/28 15:34:52.4099,13.15447565982945,18.277490710342782 +47.321,2024/05/28 15:34:52.5639,13.557879331001967,18.549932614432862 +47.414,2024/05/28 15:34:52.6569,12.580042578002503,18.066543665017942 +47.66,2024/05/28 15:34:52.9029,11.31213365444737,18.065621125958184 +47.814,2024/05/28 15:34:53.0569,12.203683257830786,17.763257959432256 +47.906,2024/05/28 15:34:53.1489,12.203683257830786,18.58852692747151 +48.153,2024/05/28 15:34:53.3959,10.873568078538415,17.455658108475888 +48.402,2024/05/28 15:34:53.6449,10.873568078538415,16.243973241379916 +48.553,2024/05/28 15:34:53.7959,11.741712655824207,17.085081211396098 +48.645,2024/05/28 15:34:53.8879,10.500191569133136,16.57709262808168 +48.892,2024/05/28 15:34:54.1349,10.470319298229894,15.443445211480501 +49.045,2024/05/28 15:34:54.2879,11.213138845060696,15.957234513954269 +49.138,2024/05/28 15:34:54.3809,10.281385925628552,15.579901582915513 +49.385,2024/05/28 15:34:54.6279,10.24638988849805,14.652644812456213 +49.538,2024/05/28 15:34:54.7809,11.431002409760133,15.518805795979707 +49.631,2024/05/28 15:34:54.8739,11.380362194506324,16.33911462309591 +49.877,2024/05/28 15:34:55.1199,11.187225884395732,16.041612554021285 +50.124,2024/05/28 15:34:55.3669,11.13908929602486,15.738487856207787 +50.276,2024/05/28 15:34:55.5189,11.39550223835508,15.87765725792064 +50.369,2024/05/28 15:34:55.6119,11.340143322493786,16.015617378046965 +50.615,2024/05/28 15:34:55.8579,11.309440670335983,16.05303709582707 +50.769,2024/05/28 15:34:56.0119,11.015610657648848,16.028100324118263 +50.862,2024/05/28 15:34:56.1049,10.956339685786125,16.00312469488381 +51.108,2024/05/28 15:34:56.3509,10.88397535554987,16.00312469488381 +51.354,2024/05/28 15:34:56.5969,10.364838882368504,15.898637258163564 +51.508,2024/05/28 15:34:56.7509,10.637225893654344,16.131749233524967 +51.601,2024/05/28 15:34:56.8439,10.53270767820267,16.46309002992249 +51.847,2024/05/28 15:34:57.0899,10.413795006469458,16.46309002992249 +52.094,2024/05/28 15:34:57.3369,10.309520206902857,16.46207763315433 +52.246,2024/05/28 15:34:57.4889,11.423911200916411,17.34839089560374 +52.34,2024/05/28 15:34:57.5829,11.31213365444727,18.19248929274569 +52.586,2024/05/28 15:34:57.8289,10.912452024883729,17.610602866833755 +52.832,2024/05/28 15:34:58.0749,10.798893089294367,17.008821240756223 +52.985,2024/05/28 15:34:58.2279,12.272012827998571,18.169571633182038 +53.078,2024/05/28 15:34:58.3209,11.575092164673098,18.465282739960053 +53.325,2024/05/28 15:34:58.5679,11.503322858269954,17.63424698326148 +53.477,2024/05/28 15:34:58.7199,14.512182753667666,20.0274811197015 +53.571,2024/05/28 15:34:58.8139,14.481220498508538,22.163784273750124 +53.818,2024/05/28 15:34:59.0609,13.893519534569293,21.52208168370337 +53.97,2024/05/28 15:34:59.2129,15.47173916027754,22.423202269078338 +54.063,2024/05/28 15:34:59.3059,15.509581762148489,23.6981011897578 +54.309,2024/05/28 15:34:59.5519,15.003294657331104,23.355227823052093 +54.556,2024/05/28 15:34:59.7989,15.046899860180044,23.007245235649865 +54.709,2024/05/28 15:34:59.9519,15.94707482274685,23.878162966749905 +54.802,2024/05/28 15:35:00.0449,15.046326927957411,24.18401676038674 +55.048,2024/05/28 15:35:00.2909,15.110360303637199,23.63754076322944 +55.202,2024/05/28 15:35:00.4449,15.558898108311386,24.18401676038674 +55.295,2024/05/28 15:35:00.5379,15.62789283565595,24.71841418861655 +55.541,2024/05/28 15:35:00.7839,15.410438319379185,24.585903820414387 +55.787,2024/05/28 15:35:01.0299,15.48098574187761,24.452675381915437 +55.941,2024/05/28 15:35:01.1839,15.812151590818457,24.95729686217373 +56.034,2024/05/28 15:35:01.2769,15.883049592814482,25.45911755475171 +56.28,2024/05/28 15:35:01.5229,15.883049592814482,25.442746183015178 +56.433,2024/05/28 15:35:01.6759,15.893358693954557,25.678135965577148 +56.527,2024/05/28 15:35:01.7699,15.893358693954557,25.911387458027022 +56.773,2024/05/28 15:35:02.0159,15.903769523526789,25.702139988724674 +56.925,2024/05/28 15:35:02.1679,16.057404207562495,25.514701644346147 +57.511,2024/05/28 15:35:02.7539,16.057404207562495,25.538206671573477 +57.665,2024/05/28 15:35:02.9079,16.27299434116458,25.579940057266228 +57.757,2024/05/28 15:35:02.9999,15.821744094975266,25.029316144606643 +58.004,2024/05/28 15:35:03.2469,15.821744094975266,24.422667067023344 +58.157,2024/05/28 15:35:03.3999,15.773140271454402,24.43358344574123 +58.25,2024/05/28 15:35:03.4929,15.773140271454402,24.444494949442774 +58.496,2024/05/28 15:35:03.7389,14.952184325105888,23.594490882407275 +58.743,2024/05/28 15:35:03.9859,14.952184325105888,22.712698357233265 +58.896,2024/05/28 15:35:04.1389,15.099059877866253,23.004347415216976 +58.989,2024/05/28 15:35:04.2319,12.538492457366495,21.26969675383267 +59.235,2024/05/28 15:35:04.4779,12.538492457366495,19.033304144752865 +59.388,2024/05/28 15:35:04.6309,13.20784336811918,19.756011743264377 +59.482,2024/05/28 15:35:04.7249,11.403215920665607,18.96136422658806 +59.727,2024/05/28 15:35:04.9699,11.365657082612007,17.37622897332253 +59.974,2024/05/28 15:35:05.2169,11.32432028357754,17.37622897332253 +60.127,2024/05/28 15:35:05.3699,12.129995119915893,17.92019345133677 +60.22,2024/05/28 15:35:05.4629,10.858335428409378,17.30606829987678 +60.466,2024/05/28 15:35:05.7089,10.810595058424374,16.08311744241976 +60.62,2024/05/28 15:35:05.8629,10.760987434929042,16.084153692376855 +60.713,2024/05/28 15:35:05.9559,9.972145113309763,15.267612779999366 +60.959,2024/05/28 15:35:06.2019,9.974046781291456,14.386336109887974 +61.205,2024/05/28 15:35:06.4479,9.961996753178196,14.386336109887974 +61.359,2024/05/28 15:35:06.6019,9.935944268449532,14.386336109887974 +61.452,2024/05/28 15:35:06.6949,9.110055073832648,13.44742850262954 +61.698,2024/05/28 15:35:06.9409,9.264255867666709,12.485992151206888 +61.944,2024/05/28 15:35:07.1869,9.380586458150585,12.485992151206888 +62.097,2024/05/28 15:35:07.3399,9.154422334361124,12.029131306956458 +62.191,2024/05/28 15:35:07.4339,9.251032871814342,11.554220008291344 +62.437,2024/05/28 15:35:07.6799,9.311036585624462,11.554220008291344 +62.59,2024/05/28 15:35:07.8329,8.950438247793919,11.554220008291344 +62.684,2024/05/28 15:35:07.9269,9.241585175266701,11.744502259922868 +62.93,2024/05/28 15:35:08.1729,9.032253827001654,11.653325705565772 +63.175,2024/05/28 15:35:08.4179,9.153606160804003,11.561430130683084 +63.329,2024/05/28 15:35:08.5719,8.912151074885973,11.802542099056458 +63.422,2024/05/28 15:35:08.6649,9.083330697035375,12.016655108639842 +63.575,2024/05/28 15:35:08.8179,9.293985201167551,13.038404810405298 +63.668,2024/05/28 15:35:08.9109,9.261277685492217,14.004761095189497 +63.914,2024/05/28 15:35:09.1569,9.156431067017111,14.004761095189497 +64.161,2024/05/28 15:35:09.4039,9.28160955126035,13.520355024924458 +64.314,2024/05/28 15:35:09.5569,9.64454464343906,14.12326685532305 +64.407,2024/05/28 15:35:09.6499,9.480106212120248,15.14815720365572 +64.653,2024/05/28 15:35:09.8959,9.254014351035616,14.192721139137953 +64.806,2024/05/28 15:35:10.0489,9.627307903627184,14.261837188805655 +64.9,2024/05/28 15:35:10.1429,9.676610026717652,15.238110119040353 +65.146,2024/05/28 15:35:10.3889,9.687294677096178,15.238110119040353 +65.299,2024/05/28 15:35:10.5419,10.076774251233525,15.653540600558498 +65.393,2024/05/28 15:35:10.6359,10.125931204516352,16.058227382456217 +65.638,2024/05/28 15:35:10.8809,10.138183201178899,16.058227382456217 +65.884,2024/05/28 15:35:11.1269,10.144926822301903,16.05718945934603 +66.038,2024/05/28 15:35:11.2809,10.798254435349776,16.89181261242657 +66.131,2024/05/28 15:35:11.3739,10.887143108155,17.702165592567106 +66.377,2024/05/28 15:35:11.6199,10.957598528747814,17.702165592567106 +66.531,2024/05/28 15:35:11.7739,11.916809339230126,18.758997841036177 +66.623,2024/05/28 15:35:11.8659,11.991184501420275,19.75938595537152 +66.87,2024/05/28 15:35:12.1129,12.08442523802056,19.728997271360075 +67.022,2024/05/28 15:35:12.2649,14.207048598672252,21.662563714082104 +67.116,2024/05/28 15:35:12.3589,14.300912276984288,23.41936520631306 +67.363,2024/05/28 15:35:12.6059,14.3920476125788,23.401566899105994 +67.609,2024/05/28 15:35:12.8519,14.478720017090925,23.401566899105994 +67.762,2024/05/28 15:35:13.0049,16.589049150693256,25.29953886272765 +67.854,2024/05/28 15:35:13.0969,16.589049150693256,26.982710513709826 +68.101,2024/05/28 15:35:13.3439,16.589049150693256,26.982710513709826 +68.254,2024/05/28 15:35:13.4969,17.86684465514312,28.370172129662286 +68.347,2024/05/28 15:35:13.5899,17.98645722976434,29.59786028302271 +68.594,2024/05/28 15:35:13.8369,17.98645722976434,29.50254226333724 +68.84,2024/05/28 15:35:14.0829,17.803008915258143,29.056267252809103 +68.993,2024/05/28 15:35:14.2359,18.61170068260374,29.61306018184094 +69.086,2024/05/28 15:35:14.3289,18.61170068260374,30.58975863476751 +69.333,2024/05/28 15:35:14.5759,18.61170068260374,30.58975863476751 +69.485,2024/05/28 15:35:14.7279,18.84772616548685,30.80476153670619 +69.579,2024/05/28 15:35:14.8219,18.740484175346683,30.7728235081974 +69.826,2024/05/28 15:35:15.0689,18.62960195402737,30.7728235081974 +69.978,2024/05/28 15:35:15.2209,18.775136407664796,30.68006953490599 +70.564,2024/05/28 15:35:15.8069,18.659717507809386,30.587034290147628 +70.717,2024/05/28 15:35:15.9599,18.683818064604722,30.804220490056228 +70.81,2024/05/28 15:35:16.0529,18.41913048479965,30.49918031685442 +71.056,2024/05/28 15:35:16.2989,18.297069673056228,29.969428867875788 +71.209,2024/05/28 15:35:16.4519,18.219605456444206,30.111459612579395 +71.303,2024/05/28 15:35:16.5459,18.082855282626138,30.252823559683375 +71.549,2024/05/28 15:35:16.7919,17.89448640442485,29.785902705810344 +71.795,2024/05/28 15:35:17.0379,17.76202846446315,29.311544938243475 +72.042,2024/05/28 15:35:17.2849,17.62538008068171,29.311544938243475 +72.194,2024/05/28 15:35:17.4369,17.248854701276027,28.744854612028682 +72.288,2024/05/28 15:35:17.5309,17.111399708965525,28.16676528582341 +72.534,2024/05/28 15:35:17.7769,16.96951289271669,28.16676528582341 +72.687,2024/05/28 15:35:17.9299,15.678120049159155,26.830331094987752 +72.781,2024/05/28 15:35:18.0239,15.49356559067759,25.337061129236492 +72.933,2024/05/28 15:35:18.1759,15.435032552121287,25.431607630400926 +73.026,2024/05/28 15:35:18.2689,15.21025062705799,25.525803937715004 +73.273,2024/05/28 15:35:18.5159,13.349243381201774,23.620612467362765 +73.519,2024/05/28 15:35:18.7619,13.11947749169752,21.547621678505497 +73.672,2024/05/28 15:35:18.9149,14.061441531045908,22.32562055875118 +73.765,2024/05/28 15:35:19.0079,12.627282996038986,21.117133643876322 +74.012,2024/05/28 15:35:19.2549,12.364018987256078,19.212842926889643 +74.165,2024/05/28 15:35:19.4079,13.897365995367108,20.24763360658886 +74.258,2024/05/28 15:35:19.5009,13.550628776181451,21.23205124334434 +74.504,2024/05/28 15:35:19.7469,12.703741868884721,19.79898987322333 +74.657,2024/05/28 15:35:19.8999,13.997372495636549,19.33994139942863 +74.751,2024/05/28 15:35:19.9939,13.58176600505569,20.36827598660885 +74.997,2024/05/28 15:35:20.2399,13.175037350815963,19.27865832122834 +75.243,2024/05/28 15:35:20.4859,13.01232837178521,18.537349684713114 +75.396,2024/05/28 15:35:20.6389,13.978184974180657,19.382122346808842 +75.49,2024/05/28 15:35:20.7329,13.716547603566825,19.580602646496864 +75.889,2024/05/28 15:35:21.1319,14.128311838372479,19.449935732541636 +76.229,2024/05/28 15:35:21.4719,14.090063344693245,19.384701872008932 +76.381,2024/05/28 15:35:21.6239,14.40210712552754,19.31924774242862 +76.475,2024/05/28 15:35:21.7179,14.148189437797884,19.59676844108062 +76.721,2024/05/28 15:35:21.9639,14.151885459858876,19.3778223750761 +76.874,2024/05/28 15:35:22.1169,14.360866365182217,19.467922333931785 +76.967,2024/05/28 15:35:22.2099,14.031204960504287,19.774562784884356 +77.213,2024/05/28 15:35:22.4559,13.669329709705822,19.774562784884356 +77.46,2024/05/28 15:35:22.7029,13.272605959852815,19.774562784884356 +77.612,2024/05/28 15:35:22.8549,14.323680256552741,20.431185313958984 +77.706,2024/05/28 15:35:22.9489,13.872531363698087,21.067352309517524 +77.952,2024/05/28 15:35:23.1949,13.38140758535975,21.067352309517524 +78.105,2024/05/28 15:35:23.3479,14.52401894920237,21.866260158823074 +78.199,2024/05/28 15:35:23.4419,14.256476648765293,22.733968710573468 +78.445,2024/05/28 15:35:23.6879,14.266913737252894,22.62815355554521 +78.691,2024/05/28 15:35:23.9339,13.98541933668767,22.521841250957554 +78.844,2024/05/28 15:35:24.0869,14.591762752659317,23.361649485142667 +78.938,2024/05/28 15:35:24.1809,14.267115150325761,24.17229819442082 +79.184,2024/05/28 15:35:24.4269,14.072064116744118,23.455631875237696 +79.337,2024/05/28 15:35:24.5799,14.056740519160188,23.192671256239546 +79.429,2024/05/28 15:35:24.6719,13.904807735489591,23.450657417934647 +79.676,2024/05/28 15:35:24.9189,13.291428402001337,22.58982071642004 +79.922,2024/05/28 15:35:25.1649,13.07801524538918,21.667179481110747 +80.075,2024/05/28 15:35:25.3179,13.85578430189717,22.22086106942453 +80.168,2024/05/28 15:35:25.4109,13.188117256895259,21.845670814450475 +80.415,2024/05/28 15:35:25.6579,13.000618906576442,20.890189084831185 +80.568,2024/05/28 15:35:25.8109,16.216069793271064,23.099783548769455 +80.661,2024/05/28 15:35:25.9039,16.08969113810296,25.115732121520963 +80.907,2024/05/28 15:35:26.1499,15.648620077976064,24.469709165959998 +81.154,2024/05/28 15:35:26.3969,15.523841508222837,23.80616166737791 +81.307,2024/05/28 15:35:26.5499,18.885651063491554,25.99358895317587 +81.4,2024/05/28 15:35:26.6429,18.890762809908864,28.160255680657446 +81.647,2024/05/28 15:35:26.8899,18.680034211984868,27.967838672303586 +81.893,2024/05/28 15:35:27.1359,18.687416628038527,27.774088643914133 +82.046,2024/05/28 15:35:27.2889,21.612150690555243,30.0616034169836 +82.139,2024/05/28 15:35:27.3819,21.357950954282103,31.999479162428045 +82.538,2024/05/28 15:35:27.7809,23.306947314126074,33.46988696325898 +82.878,2024/05/28 15:35:28.1209,23.346859790322252,35.050439845076596 +83.124,2024/05/28 15:35:28.3669,23.396261613156604,35.05091534705858 +83.276,2024/05/28 15:35:28.5189,23.620174505666956,35.639397675419076 +83.37,2024/05/28 15:35:28.6129,23.67645903938502,36.175498153676706 +83.617,2024/05/28 15:35:28.8599,23.83554768268043,36.1920801649569 +83.769,2024/05/28 15:35:29.0119,22.892452201895907,36.07030172685927 +83.863,2024/05/28 15:35:29.1059,23.08206249873264,35.948110752397916 +84.109,2024/05/28 15:35:29.3519,23.26301390817518,35.948110752397916 +84.262,2024/05/28 15:35:29.5049,23.29777257371506,35.977770914830174 +84.356,2024/05/28 15:35:29.5989,22.39570976977401,35.4682957019364 +84.602,2024/05/28 15:35:29.8449,22.585826091376042,34.92086291411864 +84.848,2024/05/28 15:35:30.0909,22.767086548020494,34.92086291411864 +85.001,2024/05/28 15:35:30.2439,22.475043630811804,34.75581486120944 +85.094,2024/05/28 15:35:30.3369,22.6565815968599,34.589979281096234 +85.739,2024/05/28 15:35:30.9819,22.68902717224754,34.580341236025994 +85.833,2024/05/28 15:35:31.0759,22.803029643438588,34.58805188693537 +86.232,2024/05/28 15:35:31.4749,22.594781210072263,34.26611543006687 +86.572,2024/05/28 15:35:31.8149,22.699840497692712,33.94112549695428 +86.725,2024/05/28 15:35:31.9679,22.646432821533505,34.02401112939704 +86.819,2024/05/28 15:35:32.0619,21.098264895701703,32.650676358487075 +87.064,2024/05/28 15:35:32.3069,21.191545700948904,31.126623116982458 +87.217,2024/05/28 15:35:32.4599,21.225364353858,31.38470965295043 +87.311,2024/05/28 15:35:32.5539,21.321323846673213,31.640691100754 +87.557,2024/05/28 15:35:32.7999,18.700451774000822,29.546573405388315 +87.803,2024/05/28 15:35:33.0459,18.782144859340423,27.29224554093464 +87.956,2024/05/28 15:35:33.1989,18.88272944424014,27.586228448267445 +88.05,2024/05/28 15:35:33.2929,18.967273690870122,27.877111280283927 +88.296,2024/05/28 15:35:33.5389,15.51491681183532,25.393568739610693 +88.449,2024/05/28 15:35:33.6919,15.735639320586714,23.025348350604094 +88.542,2024/05/28 15:35:33.7849,12.035579438224191,20.96425529323663 +88.789,2024/05/28 15:35:34.0319,12.099016773959935,18.19890106572372 +89.035,2024/05/28 15:35:34.2779,12.15612044888617,18.197985236466884 +89.188,2024/05/28 15:35:34.4309,8.585205130132396,16.073788186568425 +89.281,2024/05/28 15:35:34.5239,8.627675330540118,13.73559851869101 +89.527,2024/05/28 15:35:34.7699,8.627675330540118,13.69184672228939 +89.68,2024/05/28 15:35:34.9229,7.614339164993737,12.658330590300338 +89.773,2024/05/28 15:35:35.0159,7.752567242571416,12.14084016862095 +90.019,2024/05/28 15:35:35.2619,7.867363109636324,12.14084016862095 +90.172,2024/05/28 15:35:35.4149,8.48589092715688,12.953763931769021 +90.266,2024/05/28 15:35:35.5089,8.60693385270528,13.718600511714014 +90.512,2024/05/28 15:35:35.7549,8.707309652201776,13.718600511714014 +90.665,2024/05/28 15:35:35.9079,9.054179196346661,14.294521094927712 +90.759,2024/05/28 15:35:36.0019,9.178247647839616,14.830149471038157 +91.005,2024/05/28 15:35:36.2479,9.257553610462642,14.812157169028419 +91.251,2024/05/28 15:35:36.4939,9.359302950762551,14.794142985204202 +91.498,2024/05/28 15:35:36.7409,9.407810401561992,14.776106839534334 +91.65,2024/05/28 15:35:36.8929,9.567665853544016,15.027752105133134 +91.744,2024/05/28 15:35:36.9869,9.616556604084135,15.275252316519467 +91.897,2024/05/28 15:35:37.1399,9.524318541406286,15.222789932641563 +91.99,2024/05/28 15:35:37.2329,9.573430665788395,15.17014612102775 +92.236,2024/05/28 15:35:37.4789,9.605075286762778,15.17014612102775 +92.482,2024/05/28 15:35:37.7249,9.175429458458076,14.628738838327793 +92.635,2024/05/28 15:35:37.8779,9.293985201169253,14.07716827585245 +92.729,2024/05/28 15:35:37.9719,9.496581357060869,14.087819798203931 +92.975,2024/05/28 15:35:38.2179,9.656455169304735,14.087819798203931 +93.221,2024/05/28 15:35:38.4639,9.465545505893926,13.503086067019396 +93.468,2024/05/28 15:35:38.7109,9.595796493508871,12.891857895586655 +93.62,2024/05/28 15:35:38.8629,10.203729315991806,13.020496662314127 +93.714,2024/05/28 15:35:38.9569,9.992871022102497,12.459266966131407 +93.867,2024/05/28 15:35:39.1099,12.13852042717415,12.869861434115494 +93.96,2024/05/28 15:35:39.2029,12.090701281202332,13.916417163432069 +94.207,2024/05/28 15:35:39.4499,12.011727985406784,13.916417163432069 +94.453,2024/05/28 15:35:39.6959,12.028510193339226,13.886444229295465 +94.605,2024/05/28 15:35:39.8479,14.876850797637566,15.925869939608742 +94.699,2024/05/28 15:35:39.9419,14.683676134659947,17.7557502422924 +94.945,2024/05/28 15:35:40.1879,13.857277435738544,17.620064320730123 +95.098,2024/05/28 15:35:40.3409,16.788611356046054,19.269146322554096 +95.191,2024/05/28 15:35:40.4339,16.76600282043108,21.24460715883759 +95.438,2024/05/28 15:35:40.6809,15.715136564515355,20.707486568871655 +95.684,2024/05/28 15:35:40.9269,15.674270592939163,20.156057815621253 +95.837,2024/05/28 15:35:41.0799,17.708235631913933,21.83575050232989 +95.93,2024/05/28 15:35:41.1729,16.79025442565248,23.047776465420693 +96.177,2024/05/28 15:35:41.4199,16.71656897096114,22.695080230452298 +96.33,2024/05/28 15:35:41.5729,17.133820825838374,23.186202793903103 +96.422,2024/05/28 15:35:41.6649,17.04625215827973,23.667136145578183 +96.669,2024/05/28 15:35:41.9119,16.955791063076074,23.667136145578183 +96.821,2024/05/28 15:35:42.0639,16.212808899563626,23.469128658729534 +96.915,2024/05/28 15:35:42.1579,16.106541827938994,23.269436320346625 +97.161,2024/05/28 15:35:42.4039,15.581782761383993,23.18260842384509 +97.408,2024/05/28 15:35:42.6509,15.460925906459543,23.095454098155333 +97.56,2024/05/28 15:35:42.8029,15.551767464321939,23.153833375922872 +97.654,2024/05/28 15:35:42.8969,15.429334652410198,23.212065827926647 +97.9,2024/05/28 15:35:43.1429,15.376837335315594,23.205602771744587 +98.053,2024/05/28 15:35:43.2959,15.828244796354031,23.360222601679123 +98.147,2024/05/28 15:35:43.3899,15.828244796354031,23.52020408074726 +98.791,2024/05/28 15:35:44.0339,16.130359752562946,23.62202362203543 +98.886,2024/05/28 15:35:44.1289,16.237320428956874,23.647410006171924 +99.131,2024/05/28 15:35:44.3739,16.33893875195717,23.576824779148414 +99.284,2024/05/28 15:35:44.5269,16.458411537715477,23.50673662307609 +99.378,2024/05/28 15:35:44.6209,15.892599304193736,22.90342041413611 +99.624,2024/05/28 15:35:44.8669,15.973541341496173,22.2830279211182 +99.871,2024/05/28 15:35:45.1139,16.05149758473102,22.2830279211182 +100.023,2024/05/28 15:35:45.2659,16.1462069849232,22.28377586197336 +100.117,2024/05/28 15:35:45.3599,14.3019972883779,20.855854493802614 +100.363,2024/05/28 15:35:45.6059,14.3592655016583,19.32183566158592 +100.516,2024/05/28 15:35:45.7589,14.36250706511193,19.343388189938874 +100.61,2024/05/28 15:35:45.8529,11.154093109860673,17.174593639054947 +100.856,2024/05/28 15:35:46.0989,11.189280584559206,14.660604807897023 +101.102,2024/05/28 15:35:46.3449,11.220670580489218,14.660604807897023 +101.255,2024/05/28 15:35:46.4979,11.220670580489218,14.701473849017088 +101.348,2024/05/28 15:35:46.5909,6.786057376167879,12.116104984688768 +101.594,2024/05/28 15:35:46.8369,6.786057376167879,8.801515021101007 +101.841,2024/05/28 15:35:47.0839,6.786057376167879,8.801515021101007 +101.993,2024/05/28 15:35:47.2359,4.1267281298229666,7.420691791650336 +102.087,2024/05/28 15:35:47.3299,4.1267281298229666,5.715476066494082 +102.24,2024/05/28 15:35:47.4829,4.25197722769413,6.058052492344384 +102.333,2024/05/28 15:35:47.5759,4.318364952394667,6.358721045409472 +102.58,2024/05/28 15:35:47.8229,4.574919131249475,6.400520812142295 +102.826,2024/05/28 15:35:48.0689,4.811862735833858,6.400520812142295 +102.979,2024/05/28 15:35:48.2219,5.315451343819066,7.556454194925025 +103.072,2024/05/28 15:35:48.3149,5.511638678246361,8.398412548412548 +103.319,2024/05/28 15:35:48.5619,5.707828864360623,8.23609940040389 +103.471,2024/05/28 15:35:48.7139,6.377402634914806,9.41629792788369 +103.565,2024/05/28 15:35:48.8079,6.282981940843555,10.099504938362077 +103.811,2024/05/28 15:35:49.0539,6.451320812816969,9.72111104761179 +103.963,2024/05/28 15:35:49.2059,6.451320812816969,9.966610925150702 +104.057,2024/05/28 15:35:49.2999,6.622497358577598,10.381072520056232 +104.303,2024/05/28 15:35:49.5459,6.768843429959723,10.381072520056232 +104.55,2024/05/28 15:35:49.7929,6.871982096239199,10.3794669098819 +104.702,2024/05/28 15:35:49.9449,6.871982096239199,10.570398920255249 +104.796,2024/05/28 15:35:50.0389,6.971534899186223,10.759491933482114 +105.042,2024/05/28 15:35:50.2849,7.0499857340685885,10.759491933482114 +105.195,2024/05/28 15:35:50.4379,7.054467892149933,10.759491933482114 +105.289,2024/05/28 15:35:50.5319,7.092897532200291,10.759491933482114 +105.535,2024/05/28 15:35:50.7779,7.111590022187121,10.759491933482114 +105.688,2024/05/28 15:35:50.9309,7.459931280691393,11.213087591441232 +105.782,2024/05/28 15:35:51.0249,7.47939698841679,11.64903429473877 +106.028,2024/05/28 15:35:51.2709,7.480242174455192,11.64903429473877 +106.274,2024/05/28 15:35:51.5169,7.462473165587795,11.64903429473877 +106.426,2024/05/28 15:35:51.6689,9.369797407002459,13.330416347586446 +106.52,2024/05/28 15:35:51.7629,9.382608024069135,14.822280526288793 +106.766,2024/05/28 15:35:52.0089,9.438488092446644,14.781745499094482 +107.012,2024/05/28 15:35:52.2549,9.491012082218623,14.781745499094482 +107.165,2024/05/28 15:35:52.4079,11.707596512177469,16.73320053068151 +107.259,2024/05/28 15:35:52.5019,11.767088332127345,18.479718612576328 +107.411,2024/05/28 15:35:52.6539,13.81590787262371,20.275601100830524 +107.505,2024/05/28 15:35:52.7479,13.877129121099793,21.924871721403527 +107.752,2024/05/28 15:35:52.9949,13.877129121099793,21.905859185767326 +107.904,2024/05/28 15:35:53.1469,16.012782250511663,23.874672772626646 +107.998,2024/05/28 15:35:53.2409,15.903444288263016,25.37715508089904 +108.244,2024/05/28 15:35:53.4869,15.903444288263016,25.05726774144912 +108.491,2024/05/28 15:35:53.7339,15.903444288263016,25.05726774144912 +108.643,2024/05/28 15:35:53.8859,16.864435816305896,25.858589804292627 +108.737,2024/05/28 15:35:53.9799,16.79768046384738,26.381180160611972 +108.983,2024/05/28 15:35:54.2259,16.728941128008397,26.381180160611972 +109.135,2024/05/28 15:35:54.3779,17.142271473301673,26.624550074445704 +109.23,2024/05/28 15:35:54.4729,17.06852315692912,26.865715450489432 +109.475,2024/05/28 15:35:54.7179,16.99276384195671,26.865715450489432 +109.722,2024/05/28 15:35:54.9649,16.905280410189373,26.866335812685733 +109.874,2024/05/28 15:35:55.1169,16.94968890637805,26.866335812685733 +109.968,2024/05/28 15:35:55.2109,16.86760480785669,26.88060019171199 +110.214,2024/05/28 15:35:55.4569,16.783407241102665,26.88060019171199 +110.367,2024/05/28 15:35:55.6099,16.71863163294679,26.879980158722834 +110.461,2024/05/28 15:35:55.7039,16.630570106552995,26.879360111431225 +111.106,2024/05/28 15:35:56.3489,16.608542324988317,26.889279152356117 +111.203,2024/05/28 15:35:56.4459,16.592790291424162,26.697690287114103 +111.446,2024/05/28 15:35:56.6889,16.506494716204887,26.49465354871935 +111.598,2024/05/28 15:35:56.8409,16.629187744970647,26.797387932408636 +111.691,2024/05/28 15:35:56.9339,16.481407148942328,26.956137210908636 +111.939,2024/05/28 15:35:57.1819,15.853097162863213,26.142557895763247 +112.09,2024/05/28 15:35:57.3329,15.765377459382089,25.34495347533048 +112.184,2024/05/28 15:35:57.4269,15.60537042837846,25.387004549572207 +112.43,2024/05/28 15:35:57.6729,15.434697439777846,25.387004549572207 +112.677,2024/05/28 15:35:57.9199,14.332504653938983,24.14263172619478 +112.829,2024/05/28 15:35:58.0719,14.259056408303563,22.877208454413022 +112.923,2024/05/28 15:35:58.1659,12.60473364830985,21.257155657958254 +113.169,2024/05/28 15:35:58.4119,12.447775963471935,19.448221855309377 +113.416,2024/05/28 15:35:58.6589,12.277490851521925,19.448221855309377 +113.569,2024/05/28 15:35:58.8119,11.190153717884607,18.01110768387108 +113.662,2024/05/28 15:35:58.9049,11.0725922371673,16.448910804872966 +113.909,2024/05/28 15:35:59.1519,10.941064690044021,16.448910804872966 +114.06,2024/05/28 15:35:59.3029,14.115492426294642,18.901499058716656 +114.155,2024/05/28 15:35:59.3979,12.510271641803808,19.55334583474995 +114.799,2024/05/28 15:36:00.0419,15.287324777428061,20.5993527406405 +114.893,2024/05/28 15:36:00.1359,15.3188712407914,22.681857654669 +115.292,2024/05/28 15:36:00.5349,15.891731385747963,23.408687845897443 +115.632,2024/05/28 15:36:00.8749,16.074682027923203,24.475838426224886 +116.031,2024/05/28 15:36:01.2739,16.57268906932396,25.296244780599352 +116.371,2024/05/28 15:36:01.6139,16.753658032538734,26.090228055729984 +116.77,2024/05/28 15:36:02.0129,16.60480473326525,26.267851073127396 +117.016,2024/05/28 15:36:02.2589,16.601793283554283,26.207505286336076 +117.602,2024/05/28 15:36:02.8449,16.79425873436413,26.31476138342635 +117.755,2024/05/28 15:36:02.9979,17.292081770394493,26.366013476949195 +117.848,2024/05/28 15:36:03.0909,17.45088345423581,26.417166136182484 +118.095,2024/05/28 15:36:03.3379,17.58316854528625,26.407069760451147 +118.247,2024/05/28 15:36:03.4899,18.524416940581396,26.64832702691359 +118.341,2024/05/28 15:36:03.5839,18.628367935866457,26.897335679703794 +118.587,2024/05/28 15:36:03.8299,18.33669770592879,26.595739007091595 +118.74,2024/05/28 15:36:03.9829,19.27788322428559,26.73823728919566 +118.834,2024/05/28 15:36:04.0769,19.35036903031031,27.038244518952535 +119.08,2024/05/28 15:36:04.3229,19.31219613457327,26.998765403872326 +119.326,2024/05/28 15:36:04.5689,19.383130477980956,26.959228475607382 +119.479,2024/05/28 15:36:04.7219,19.808305468091937,27.063505562534452 +119.573,2024/05/28 15:36:04.8159,19.86879376100224,27.16738240365948 +119.819,2024/05/28 15:36:05.0619,19.90439794294884,27.128091221708416 +119.972,2024/05/28 15:36:05.2149,20.09529023565411,27.11887411625588 +120.065,2024/05/28 15:36:05.3079,20.143622247286682,27.148971742345356 +120.312,2024/05/28 15:36:05.5549,20.189789157068997,27.148971742345356 +120.463,2024/05/28 15:36:05.7059,19.71291075855422,26.632686683847727 +121.051,2024/05/28 15:36:06.2939,19.7387826430582,26.10619339033045 +121.203,2024/05/28 15:36:06.4459,19.990831231675834,26.197964297504747 +121.296,2024/05/28 15:36:06.5389,17.395467767513278,24.585225915848998 +121.543,2024/05/28 15:36:06.7859,17.392692348410467,22.753754268984565 +121.695,2024/05/28 15:36:06.9379,13.903443714650766,20.67849124090053 +121.789,2024/05/28 15:36:07.0319,14.189238272671465,18.630619957478604 +122.035,2024/05/28 15:36:07.2779,11.677712340919705,17.060676031935742 +122.282,2024/05/28 15:36:07.5249,12.078288681402253,14.745620818851044 +122.434,2024/05/28 15:36:07.6769,10.626847371516089,13.290347374441849 +122.528,2024/05/28 15:36:07.7709,11.069062197451963,11.654755824698059 +122.775,2024/05/28 15:36:08.0179,10.900015817768894,11.067971810589327 +122.926,2024/05/28 15:36:08.1689,11.880100235655418,11.210114480533491 +123.021,2024/05/28 15:36:08.2639,12.22941620395995,11.172883841396246 +123.266,2024/05/28 15:36:08.5089,12.372754643622619,11.051395085387787 +123.513,2024/05/28 15:36:08.7559,12.642248090495153,10.928555866780082 +123.666,2024/05/28 15:36:08.9089,14.061278043972417,11.522441870830448 +123.759,2024/05/28 15:36:09.0019,13.469633791709814,11.522441870830448 +124.006,2024/05/28 15:36:09.2489,13.587350439067716,10.928555866780082 +124.158,2024/05/28 15:36:09.4009,14.519151047029037,11.411982007229652 +124.252,2024/05/28 15:36:09.4949,13.523245206663393,11.175866856758809 +124.498,2024/05/28 15:36:09.7409,13.509511336526089,10.429125882194857 +124.745,2024/05/28 15:36:09.9879,13.471127063754446,10.429125882194857 +124.896,2024/05/28 15:36:10.1389,13.702965531877224,10.58772874605314 +125.389,2024/05/28 15:36:10.6319,12.96041719209303,10.67551716155553 +125.483,2024/05/28 15:36:10.7259,12.815624443820642,10.448285345771653 +125.729,2024/05/28 15:36:10.9719,12.642929967413158,10.448285345771653 +125.882,2024/05/28 15:36:11.1249,12.541242307709537,11.120551545074852 +125.976,2024/05/28 15:36:11.2189,12.334653548475199,11.75443178833697 +126.222,2024/05/28 15:36:11.4649,12.097116593843678,11.75443178833697 +126.468,2024/05/28 15:36:11.7109,10.722465405297575,11.385663499916609 +126.621,2024/05/28 15:36:11.8639,11.337304916011075,12.058192235986288 +126.715,2024/05/28 15:36:11.9579,10.191781679033808,12.519318405301997 +126.961,2024/05/28 15:36:12.2039,9.798486864183197,12.326124019063467 +127.207,2024/05/28 15:36:12.4499,9.371085389606348,12.326124019063467 +127.359,2024/05/28 15:36:12.6019,10.581701838224708,13.275290329530776 +127.454,2024/05/28 15:36:12.6969,10.598254031005881,13.816656614391198 +127.605,2024/05/28 15:36:12.8479,11.491176024966704,14.338758663147937 +127.7,2024/05/28 15:36:12.9429,11.585960588514439,14.597945060863875 +127.946,2024/05/28 15:36:13.1889,11.675891262837258,14.596803303006677 +128.193,2024/05/28 15:36:13.4359,11.746606259710976,14.595661455834515 +128.344,2024/05/28 15:36:13.5869,12.149641686216185,14.709407420649775 +128.438,2024/05/28 15:36:13.6809,11.813152615311466,14.659467930317254 +128.685,2024/05/28 15:36:13.9279,11.824385478916897,14.49482666333061 +128.837,2024/05/28 15:36:14.0799,11.999808427589606,14.551059526142188 +128.931,2024/05/28 15:36:14.1739,11.980299921408388,14.607075910895604 +129.177,2024/05/28 15:36:14.4199,10.923979738782855,14.143314085932381 +129.424,2024/05/28 15:36:14.6669,10.853729694251111,13.663820841916802 +129.576,2024/05/28 15:36:14.8189,11.548797021494835,14.143314085932381 +130.068,2024/05/28 15:36:15.3109,10.628307463573137,13.854000625571421 +130.163,2024/05/28 15:36:15.4059,10.457412264245095,13.607595917966798 +130.807,2024/05/28 15:36:16.0499,10.424551039149462,13.729530217745982 +130.902,2024/05/28 15:36:16.1449,10.235446634910922,13.850391089544487 +131.147,2024/05/28 15:36:16.3899,9.449441995324825,13.729530217745982 +131.3,2024/05/28 15:36:16.5429,11.017697362535914,14.595661455834515 +131.394,2024/05/28 15:36:16.6369,10.830777771076972,15.627966385084571 +131.64,2024/05/28 15:36:16.8829,10.692192876382562,15.666312052724258 +131.886,2024/05/28 15:36:17.1289,10.55146119423041,15.142654985173506 +132.039,2024/05/28 15:36:17.2819,12.270186276678192,15.593802187621423 +132.133,2024/05/28 15:36:17.3759,12.165525060597039,16.527754435090895 +132.379,2024/05/28 15:36:17.6219,12.05757261936579,16.527754435090895 +132.531,2024/05/28 15:36:17.7739,13.59804752719055,16.952875862224673 +132.625,2024/05/28 15:36:17.8679,13.59804752719055,17.60113632695344 +132.872,2024/05/28 15:36:18.1149,13.59804752719055,17.60113632695344 +133.118,2024/05/28 15:36:18.3609,13.59804752719055,17.60113632695344 +133.27,2024/05/28 15:36:18.5129,13.373674604004574,17.21336689901194 +133.364,2024/05/28 15:36:18.6069,13.373674604004574,16.816658407662327 +133.611,2024/05/28 15:36:18.8539,12.874326229440916,16.373759494996865 +133.762,2024/05/28 15:36:19.0049,12.888736952466932,16.1936201429246 +133.857,2024/05/28 15:36:19.0999,12.857128261257941,16.243973241379916 +134.103,2024/05/28 15:36:19.3459,12.822214917957782,16.243973241379916 +134.255,2024/05/28 15:36:19.4979,12.574559245949118,16.206994374857626 +134.349,2024/05/28 15:36:19.5919,12.531156573017114,16.169930941926335 +134.596,2024/05/28 15:36:19.8389,12.484288977125049,16.169930941926335 +134.842,2024/05/28 15:36:20.0849,12.243177785969104,16.11934655416693 +134.994,2024/05/28 15:36:20.2369,12.471622962162641,16.27062793297583 +135.088,2024/05/28 15:36:20.3309,12.418423465935895,16.470175064845748 +135.486,2024/05/28 15:36:20.7289,12.916397846664982,16.870091878825082 +135.827,2024/05/28 15:36:21.0699,12.022249488287,16.667333320000534 +135.979,2024/05/28 15:36:21.2219,12.72177967742395,17.06555985994404 +136.566,2024/05/28 15:36:21.8089,12.72177967742395,17.416467303484175 +136.717,2024/05/28 15:36:21.9599,13.691007200382305,17.780138732117173 +136.812,2024/05/28 15:36:22.0549,13.691007200382305,18.136519327956325 +137.058,2024/05/28 15:36:22.3009,13.691007200382305,18.136519327956325 +137.21,2024/05/28 15:36:22.4529,13.12140481685635,17.369513522260778 +137.305,2024/05/28 15:36:22.5479,13.12140481685635,16.56703554250629 +137.551,2024/05/28 15:36:22.7939,13.129811652228453,16.53077937263294 +137.797,2024/05/28 15:36:23.0399,13.135063191986452,16.53077937263294 +137.949,2024/05/28 15:36:23.1919,11.620236015566984,15.64928113364956 +138.044,2024/05/28 15:36:23.2869,11.605389156390824,14.71507163874282 +138.289,2024/05/28 15:36:23.5319,11.5869526306263,14.71507163874282 +138.442,2024/05/28 15:36:23.6849,10.457632091708337,14.353861269126622 +138.535,2024/05/28 15:36:23.7779,10.425929215183238,13.983323400870528 +138.782,2024/05/28 15:36:24.0249,10.390147853317826,13.983323400870528 +139.028,2024/05/28 15:36:24.2709,10.350245707562168,13.983323400870528 +139.181,2024/05/28 15:36:24.4239,10.678639114294736,14.521248798456236 +139.275,2024/05/28 15:36:24.5179,10.638522497017757,15.039946808416577 +139.521,2024/05/28 15:36:24.7639,10.594348959944199,15.039946808416577 +139.673,2024/05/28 15:36:24.9159,10.8651081316596,15.201973556088038 +140.26,2024/05/28 15:36:25.5029,10.827593528074825,15.362291495737216 +140.412,2024/05/28 15:36:25.6549,10.807032618762733,15.372052563011877 +140.506,2024/05/28 15:36:25.7489,10.796391478893783,15.312304420519684 +140.753,2024/05/28 15:36:25.9959,10.796391478893783,15.281797450998143 +140.904,2024/05/28 15:36:26.1469,10.781476238673042,15.390473243752664 +140.998,2024/05/28 15:36:26.2409,10.781476238673042,15.498387012847498 +141.244,2024/05/28 15:36:26.4869,10.709593937160419,15.286159317064135 +141.397,2024/05/28 15:36:26.6399,10.698855884691262,15.181128636128035 +141.491,2024/05/28 15:36:26.7339,10.382622528760464,14.84811997077969 +141.737,2024/05/28 15:36:26.9799,10.417105737873362,14.626460041080799 +141.983,2024/05/28 15:36:27.2259,9.461901828221695,14.064138793399332 +142.136,2024/05/28 15:36:27.3789,9.809741815296068,13.873235623554683 +142.23,2024/05/28 15:36:27.4729,8.729985319470353,13.67966861197059 +142.476,2024/05/28 15:36:27.7189,8.731565145211015,13.076696830622021 +142.629,2024/05/28 15:36:27.8719,9.19745092122179,13.528981237821764 +143.121,2024/05/28 15:36:28.3639,9.313443503080123,13.351654079801 +143.215,2024/05/28 15:36:28.4579,9.321585381414247,13.66747965061591 +143.462,2024/05/28 15:36:28.7049,9.325283885235695,13.66747965061591 +143.708,2024/05/28 15:36:28.9509,9.324544301829855,13.66747965061591 +143.86,2024/05/28 15:36:29.1029,9.594119367445321,13.917614738165444 +143.953,2024/05/28 15:36:29.1959,9.601304987931147,14.163332941084171 +144.2,2024/05/28 15:36:29.4429,9.60417773081402,14.163332941084171 +144.352,2024/05/28 15:36:29.5949,8.452436226374632,13.382824813917276 +144.447,2024/05/28 15:36:29.6899,8.480945512242087,12.553883861180172 +144.693,2024/05/28 15:36:29.9359,8.504495092691778,12.553883861180172 +144.939,2024/05/28 15:36:30.1819,8.52312607914069,12.553883861180172 +145.091,2024/05/28 15:36:30.3339,7.057155820574916,11.583033569262703 +145.186,2024/05/28 15:36:30.4289,7.103908589036809,10.52299070290064 +145.432,2024/05/28 15:36:30.6749,7.144566297979035,10.52299070290064 +145.583,2024/05/28 15:36:30.8259,6.757626598251165,10.233930492891446 +145.678,2024/05/28 15:36:30.9209,6.806437115474456,9.936464830780277 +145.925,2024/05/28 15:36:31.1679,6.799594308385718,9.921357434007371 +146.17,2024/05/28 15:36:31.4129,6.832982889809104,9.906226997870245 +146.323,2024/05/28 15:36:31.5659,7.555465404015374,10.17185659880568 +146.909,2024/05/28 15:36:32.1519,7.480549491157923,10.327955589886445 +147.061,2024/05/28 15:36:32.3039,10.47651999780329,12.205190152827061 +147.155,2024/05/28 15:36:32.3979,10.47651999780329,13.949910393977447 +147.402,2024/05/28 15:36:32.6449,10.370659319090912,13.82991925741675 +147.553,2024/05/28 15:36:32.7959,11.871389348238559,14.762565269401295 +148.141,2024/05/28 15:36:33.3839,11.871389348238559,15.745898936971917 +148.292,2024/05/28 15:36:33.5349,13.717846417890263,17.13378728322103 +148.387,2024/05/28 15:36:33.6299,13.262339732204465,18.121810064118872 +148.633,2024/05/28 15:36:33.8759,13.262339732204465,17.82133552795637 +148.88,2024/05/28 15:36:34.1229,13.262339732204465,17.82133552795637 +149.031,2024/05/28 15:36:34.2739,14.39524187034511,18.875027593798816 +149.126,2024/05/28 15:36:34.3689,13.734929044667721,20.172588662175546 +149.372,2024/05/28 15:36:34.6149,13.734929044667721,19.83935482821959 +149.524,2024/05/28 15:36:34.7669,15.215086282196923,21.140797840510498 +149.618,2024/05/28 15:36:34.8609,15.215086282196923,22.366641828103447 +149.865,2024/05/28 15:36:35.1079,14.721163122462292,22.175061067183858 +150.016,2024/05/28 15:36:35.2589,14.876850797637026,22.253838620187157 +150.111,2024/05/28 15:36:35.3539,14.876850797637026,22.522581261184666 +150.357,2024/05/28 15:36:35.5999,14.431009077278183,22.377071598699715 +150.509,2024/05/28 15:36:35.7519,14.467919327088888,22.233608194203057 +150.604,2024/05/28 15:36:35.8469,14.467919327088888,22.23660645572221 +150.849,2024/05/28 15:36:36.0919,14.467919327088888,22.23660645572221 +151.096,2024/05/28 15:36:36.3389,14.222371886184963,22.175812649521248 +151.247,2024/05/28 15:36:36.4899,15.0702950569466,22.444746972658585 +151.342,2024/05/28 15:36:36.5849,15.0702950569466,22.76986312358216 +151.588,2024/05/28 15:36:36.8309,14.993523506048112,22.75814872377218 +151.74,2024/05/28 15:36:36.9829,16.6056353819047,23.530830839560256 +151.835,2024/05/28 15:36:37.0779,16.6056353819047,24.289915602982237 +152.233,2024/05/28 15:36:37.4759,18.380899631529335,25.261301101355276 +152.574,2024/05/28 15:36:37.8169,18.29754081837198,26.071696019502326 +152.725,2024/05/28 15:36:37.9679,19.738782643057736,26.81106736654349 +152.82,2024/05/28 15:36:38.0629,18.62466539080732,26.81106736654349 +153.066,2024/05/28 15:36:38.3089,18.62466539080732,25.946097972527586 +153.313,2024/05/28 15:36:38.5559,18.62466539080732,25.946097972527586 +153.464,2024/05/28 15:36:38.7069,18.750509571619748,26.025628394590846 +153.559,2024/05/28 15:36:38.8019,18.750509571619748,26.104916522882558 +153.804,2024/05/28 15:36:39.0469,17.37814719698289,25.232254490367417 +154.051,2024/05/28 15:36:39.2939,17.421911161114068,24.311177127677986 +154.203,2024/05/28 15:36:39.4459,17.839514451410242,24.842839343896795 +154.297,2024/05/28 15:36:39.5399,17.88793338872732,25.36335939894398 +154.544,2024/05/28 15:36:39.7869,16.16655409369531,24.343376922686794 +154.79,2024/05/28 15:36:40.0329,16.230239975280117,23.278745670675644 +154.942,2024/05/28 15:36:40.1849,17.398936418808834,23.757805734817627 +155.036,2024/05/28 15:36:40.2789,15.53357505608407,23.100505044984047 +155.283,2024/05/28 15:36:40.5259,15.599476855360495,21.915747762739013 +155.529,2024/05/28 15:36:40.7719,15.663266933640966,21.915747762739013 +155.681,2024/05/28 15:36:40.9239,25.852010304454225,29.03101789465881 +156.267,2024/05/28 15:36:41.5099,25.93185144836803,34.11890971294364 +156.42,2024/05/28 15:36:41.6629,36.125340550436896,41.252070655099644 +156.514,2024/05/28 15:36:41.7569,36.118515008742584,47.32053817670857 +156.76,2024/05/28 15:36:42.0029,36.11904009620472,47.31912932419615 +156.912,2024/05/28 15:36:42.1549,40.554263350010906,50.46087593373702 +157.006,2024/05/28 15:36:42.2489,40.5179256484157,53.4181617055473 diff --git a/data/case-study/processed/hrv_01.csv b/data/case-study/processed/hrv_01.csv index 9614286..3d2af2d 100755 --- a/data/case-study/processed/hrv_01.csv +++ b/data/case-study/processed/hrv_01.csv @@ -1,1902 +1,1902 @@ reltime,datetime,sdnn,rmssd -0.001,2024/05/28 15:36:54.8549,36.228287730953,42.82785615878869 -0.001,2024/05/28 15:36:54.8549,36.228287730953,42.82785615878869 -0.202,2024/05/28 15:36:55.0559,36.228287730953,42.82785615878869 -0.354,2024/05/28 15:36:55.2079,36.228287730953,42.82785615878869 -0.448,2024/05/28 15:36:55.3019,36.228287730953,42.82785615878869 -0.695,2024/05/28 15:36:55.5489,36.228287730953,42.82785615878869 -0.941,2024/05/28 15:36:55.7949,36.228287730953,42.82785615878869 -1.093,2024/05/28 15:36:55.9469,36.228287730953,42.82785615878869 -1.186,2024/05/28 15:36:56.0399,36.228287730953,42.82785615878869 -1.584,2024/05/28 15:36:56.4379,36.228287730953,42.82785615878869 -1.926,2024/05/28 15:36:56.7799,36.228287730953,42.82785615878869 -2.323,2024/05/28 15:36:57.1769,36.228287730953,42.82785615878869 -2.665,2024/05/28 15:36:57.5189,36.228287730953,42.82785615878869 -2.911,2024/05/28 15:36:57.7649,36.228287730953,42.82785615878869 -3.063,2024/05/28 15:36:57.9169,36.228287730953,42.82785615878869 -3.157,2024/05/28 15:36:58.0109,36.228287730953,42.82785615878869 -3.404,2024/05/28 15:36:58.2579,36.228287730953,42.82785615878869 -3.555,2024/05/28 15:36:58.4089,36.228287730953,42.82785615878869 -3.65,2024/05/28 15:36:58.5039,36.228287730953,42.82785615878869 -3.895,2024/05/28 15:36:58.7489,36.228287730953,42.82785615878869 -4.142,2024/05/28 15:36:58.9959,36.228287730953,42.82785615878869 -4.294,2024/05/28 15:36:59.1479,36.228287730953,42.82785615878869 -4.388,2024/05/28 15:36:59.2419,36.228287730953,42.82785615878869 -4.786,2024/05/28 15:36:59.6399,36.228287730953,42.82785615878869 -5.525,2024/05/28 15:37:00.3789,36.228287730953,42.82785615878869 -5.62,2024/05/28 15:37:00.4739,36.228287730953,42.82785615878869 -5.867,2024/05/28 15:37:00.7209,36.228287730953,42.82785615878869 -6.113,2024/05/28 15:37:00.9669,36.228287730953,42.82785615878869 -6.263,2024/05/28 15:37:01.1169,36.228287730953,42.82785615878869 -6.358,2024/05/28 15:37:01.2119,36.228287730953,42.82785615878869 -6.605,2024/05/28 15:37:01.4589,36.228287730953,42.82785615878869 -6.756,2024/05/28 15:37:01.6099,36.228287730953,42.82785615878869 -6.851,2024/05/28 15:37:01.7049,36.228287730953,42.82785615878869 -7.097,2024/05/28 15:37:01.9509,36.228287730953,42.82785615878869 -7.344,2024/05/28 15:37:02.1979,36.228287730953,42.82785615878869 -7.495,2024/05/28 15:37:02.3489,36.228287730953,42.82785615878869 -7.59,2024/05/28 15:37:02.4439,36.228287730953,42.82785615878869 -7.836,2024/05/28 15:37:02.6899,36.228287730953,42.82785615878869 -7.988,2024/05/28 15:37:02.8419,36.228287730953,42.82785615878869 -8.083,2024/05/28 15:37:02.9369,36.228287730953,42.82785615878869 -8.329,2024/05/28 15:37:03.1829,36.228287730953,42.82785615878869 -8.481,2024/05/28 15:37:03.3349,36.228287730953,42.82785615878869 -8.575,2024/05/28 15:37:03.4289,36.228287730953,42.82785615878869 -8.822,2024/05/28 15:37:03.6759,36.228287730953,42.82785615878869 -9.068,2024/05/28 15:37:03.9219,36.228287730953,42.82785615878869 -9.22,2024/05/28 15:37:04.0739,36.228287730953,42.82785615878869 -9.314,2024/05/28 15:37:04.1679,36.228287730953,42.82785615878869 -9.561,2024/05/28 15:37:04.4149,36.228287730953,42.82785615878869 -9.711,2024/05/28 15:37:04.5649,36.228287730953,42.82785615878869 -9.807,2024/05/28 15:37:04.6609,36.228287730953,42.82785615878869 -10.052,2024/05/28 15:37:04.9059,36.228287730953,42.82785615878869 -10.299,2024/05/28 15:37:05.1529,36.228287730953,42.82785615878869 -10.45,2024/05/28 15:37:05.3039,36.228287730953,42.82785615878869 -10.545,2024/05/28 15:37:05.3989,36.228287730953,42.82785615878869 -10.697,2024/05/28 15:37:05.5509,36.228287730953,42.82785615878869 -11.284,2024/05/28 15:37:06.1379,36.228287730953,42.82785615878869 -11.436,2024/05/28 15:37:06.2899,36.228287730953,42.82785615878869 -11.531,2024/05/28 15:37:06.3849,36.228287730953,42.82785615878869 -11.777,2024/05/28 15:37:06.6309,36.228287730953,42.82785615878869 -11.929,2024/05/28 15:37:06.7829,36.228287730953,42.82785615878869 -12.023,2024/05/28 15:37:06.8769,36.228287730953,42.82785615878869 -12.27,2024/05/28 15:37:07.1239,36.228287730953,42.82785615878869 -12.421,2024/05/28 15:37:07.2749,36.228287730953,42.82785615878869 -12.516,2024/05/28 15:37:07.3699,36.228287730953,42.82785615878869 -12.762,2024/05/28 15:37:07.6159,36.228287730953,42.82785615878869 -12.913,2024/05/28 15:37:07.7669,36.228287730953,42.82785615878869 -13.008,2024/05/28 15:37:07.8619,36.228287730953,42.82785615878869 -13.254,2024/05/28 15:37:08.1079,36.228287730953,42.82785615878869 -13.501,2024/05/28 15:37:08.3549,36.228287730953,42.82785615878869 -13.652,2024/05/28 15:37:08.5059,36.228287730953,42.82785615878869 -14.145,2024/05/28 15:37:08.9989,36.228287730953,42.82785615878869 -14.24,2024/05/28 15:37:09.0939,36.228287730953,42.82785615878869 -14.638,2024/05/28 15:37:09.4919,36.228287730953,42.82785615878869 -15.376,2024/05/28 15:37:10.2299,36.228287730953,42.82785615878869 -15.471,2024/05/28 15:37:10.3249,36.228287730953,42.82785615878869 -15.717,2024/05/28 15:37:10.5709,36.228287730953,42.82785615878869 -15.868,2024/05/28 15:37:10.7219,36.228287730953,42.82785615878869 -15.963,2024/05/28 15:37:10.8169,36.228287730953,42.82785615878869 -16.21,2024/05/28 15:37:11.0639,36.228287730953,42.82785615878869 -16.361,2024/05/28 15:37:11.2149,36.228287730953,42.82785615878869 -16.456,2024/05/28 15:37:11.3099,36.228287730953,42.82785615878869 -16.702,2024/05/28 15:37:11.5559,36.228287730953,42.82785615878869 -16.854,2024/05/28 15:37:11.7079,36.228287730953,42.82785615878869 -16.949,2024/05/28 15:37:11.8029,36.228287730953,42.82785615878869 -17.195,2024/05/28 15:37:12.0489,36.228287730953,42.82785615878869 -17.346,2024/05/28 15:37:12.1999,36.228287730953,42.82785615878869 -17.838,2024/05/28 15:37:12.6919,36.228287730953,42.82785615878869 -17.933,2024/05/28 15:37:12.7869,36.228287730953,42.82785615878869 -18.18,2024/05/28 15:37:13.0339,36.228287730953,42.82785615878869 -18.426,2024/05/28 15:37:13.2799,36.228287730953,42.82785615878869 -18.578,2024/05/28 15:37:13.4319,36.228287730953,42.82785615878869 -18.672,2024/05/28 15:37:13.5259,36.228287730953,42.82785615878869 -18.919,2024/05/28 15:37:13.7729,36.228287730953,42.82785615878869 -19.07,2024/05/28 15:37:13.9239,36.228287730953,42.82785615878869 -19.165,2024/05/28 15:37:14.0189,36.228287730953,42.82785615878869 -19.411,2024/05/28 15:37:14.2649,36.228287730953,42.82785615878869 -19.563,2024/05/28 15:37:14.4169,36.228287730953,42.82785615878869 -19.658,2024/05/28 15:37:14.5119,36.228287730953,42.82785615878869 -19.904,2024/05/28 15:37:14.7579,36.228287730953,42.82785615878869 -20.056,2024/05/28 15:37:14.9099,36.228287730953,42.82785615878869 -20.15,2024/05/28 15:37:15.0039,36.228287730953,42.82785615878869 -20.396,2024/05/28 15:37:15.2499,36.228287730953,42.82785615878869 -20.642,2024/05/28 15:37:15.4959,36.228287730953,42.82785615878869 -20.794,2024/05/28 15:37:15.6479,36.228287730953,42.82785615878869 -20.889,2024/05/28 15:37:15.7429,36.228287730953,42.82785615878869 -21.135,2024/05/28 15:37:15.9889,36.228287730953,42.82785615878869 -21.287,2024/05/28 15:37:16.1409,36.228287730953,42.82785615878869 -21.381,2024/05/28 15:37:16.2349,36.228287730953,42.82785615878869 -21.628,2024/05/28 15:37:16.4819,36.228287730953,42.82785615878869 -21.779,2024/05/28 15:37:16.6329,36.228287730953,42.82785615878869 -21.874,2024/05/28 15:37:16.7279,36.228287730953,42.82785615878869 -22.121,2024/05/28 15:37:16.9749,36.228287730953,42.82785615878869 -22.367,2024/05/28 15:37:17.2209,36.228287730953,42.82785615878869 -22.517,2024/05/28 15:37:17.3709,36.228287730953,42.82785615878869 -22.613,2024/05/28 15:37:17.4669,36.228287730953,42.82785615878869 -22.86,2024/05/28 15:37:17.7139,36.228287730953,42.82785615878869 -23.01,2024/05/28 15:37:17.8639,36.228287730953,42.82785615878869 -23.106,2024/05/28 15:37:17.9599,36.228287730953,42.82785615878869 -23.351,2024/05/28 15:37:18.2049,36.228287730953,42.82785615878869 -23.598,2024/05/28 15:37:18.4519,36.228287730953,42.82785615878869 -23.749,2024/05/28 15:37:18.6029,36.228287730953,42.82785615878869 -23.844,2024/05/28 15:37:18.6979,36.228287730953,42.82785615878869 -24.242,2024/05/28 15:37:19.0959,36.228287730953,42.82785615878869 -24.583,2024/05/28 15:37:19.4369,36.228287730953,42.82785615878869 -24.829,2024/05/28 15:37:19.6829,36.228287730953,42.82785615878869 -24.981,2024/05/28 15:37:19.8349,36.228287730953,42.82785615878869 -25.076,2024/05/28 15:37:19.9299,36.228287730953,42.82785615878869 -25.322,2024/05/28 15:37:20.1759,36.228287730953,42.82785615878869 -25.473,2024/05/28 15:37:20.3269,36.228287730953,42.82785615878869 -25.568,2024/05/28 15:37:20.4219,36.228287730953,42.82785615878869 -25.815,2024/05/28 15:37:20.6689,36.228287730953,42.82785615878869 -26.061,2024/05/28 15:37:20.9149,36.228287730953,42.82785615878869 -26.212,2024/05/28 15:37:21.0659,36.228287730953,42.82785615878869 -26.307,2024/05/28 15:37:21.1609,36.228287730953,42.82785615878869 -26.553,2024/05/28 15:37:21.4069,36.228287730953,42.82785615878869 -26.951,2024/05/28 15:37:21.8049,36.228287730953,42.82785615878869 -27.292,2024/05/28 15:37:22.1459,36.228287730953,42.82785615878869 -27.444,2024/05/28 15:37:22.2979,36.228287730953,42.82785615878869 -27.538,2024/05/28 15:37:22.3919,36.228287730953,42.82785615878869 -27.785,2024/05/28 15:37:22.6389,36.228287730953,42.82785615878869 -28.031,2024/05/28 15:37:22.8849,36.228287730953,42.82785615878869 -28.182,2024/05/28 15:37:23.0359,36.228287730953,42.82785615878869 -28.277,2024/05/28 15:37:23.1309,36.228287730953,42.82785615878869 -28.523,2024/05/28 15:37:23.3769,36.228287730953,42.82785615878869 -28.769,2024/05/28 15:37:23.6229,36.228287730953,42.82785615878869 -28.921,2024/05/28 15:37:23.7749,36.228287730953,42.82785615878869 -29.016,2024/05/28 15:37:23.8699,36.228287730953,42.82785615878869 -29.262,2024/05/28 15:37:24.1159,36.228287730953,42.82785615878869 -29.508,2024/05/28 15:37:24.3619,36.228287730953,42.82785615878869 -29.66,2024/05/28 15:37:24.5139,36.228287730953,42.82785615878869 -30.153,2024/05/28 15:37:25.0069,36.228287730953,42.82785615878869 -30.247,2024/05/28 15:37:25.1009,36.228287730953,42.82785615878869 -30.494,2024/05/28 15:37:25.3479,36.228287730953,42.82785615878869 -30.645,2024/05/28 15:37:25.4989,36.228287730953,42.82785615878869 -30.74,2024/05/28 15:37:25.5939,36.228287730953,42.82785615878869 -30.987,2024/05/28 15:37:25.8409,36.228287730953,42.82785615878869 -31.232,2024/05/28 15:37:26.0859,36.228287730953,42.82785615878869 -31.384,2024/05/28 15:37:26.2379,36.228287730953,42.82785615878869 -31.478,2024/05/28 15:37:26.3319,36.228287730953,42.82785615878869 -31.725,2024/05/28 15:37:26.5789,36.228287730953,42.82785615878869 -31.876,2024/05/28 15:37:26.7299,36.228287730953,42.82785615878869 -31.971,2024/05/28 15:37:26.8249,36.228287730953,42.82785615878869 -32.218,2024/05/28 15:37:27.0719,36.228287730953,42.82785615878869 -32.464,2024/05/28 15:37:27.3179,36.228287730953,42.82785615878869 -32.711,2024/05/28 15:37:27.5649,36.228287730953,42.82785615878869 -32.861,2024/05/28 15:37:27.7149,36.228287730953,42.82785615878869 -32.957,2024/05/28 15:37:27.8109,36.228287730953,42.82785615878869 -33.202,2024/05/28 15:37:28.0559,36.228287730953,42.82785615878869 -33.354,2024/05/28 15:37:28.2079,36.228287730953,42.82785615878869 -33.449,2024/05/28 15:37:28.3029,36.228287730953,42.82785615878869 -33.695,2024/05/28 15:37:28.5489,36.228287730953,42.82785615878869 -33.847,2024/05/28 15:37:28.7009,36.228287730953,42.82785615878869 -33.942,2024/05/28 15:37:28.7959,36.228287730953,42.82785615878869 -34.188,2024/05/28 15:37:29.0419,36.228287730953,42.82785615878869 -34.585,2024/05/28 15:37:29.4389,36.228287730953,42.82785615878869 -34.927,2024/05/28 15:37:29.7809,36.228287730953,42.82785615878869 -35.173,2024/05/28 15:37:30.0269,36.228287730953,42.82785615878869 -35.324,2024/05/28 15:37:30.1779,36.228287730953,42.82785615878869 -35.419,2024/05/28 15:37:30.2729,36.228287730953,42.82785615878869 -35.666,2024/05/28 15:37:30.5199,36.228287730953,42.82785615878869 -35.817,2024/05/28 15:37:30.6709,36.228287730953,42.82785615878869 -35.911,2024/05/28 15:37:30.7649,36.228287730953,42.82785615878869 -36.158,2024/05/28 15:37:31.0119,36.228287730953,42.82785615878869 -36.404,2024/05/28 15:37:31.2579,36.228287730953,42.82785615878869 -36.556,2024/05/28 15:37:31.4099,36.228287730953,42.82785615878869 -36.65,2024/05/28 15:37:31.5039,36.228287730953,42.82785615878869 -36.897,2024/05/28 15:37:31.7509,36.228287730953,42.82785615878869 -37.048,2024/05/28 15:37:31.9019,36.228287730953,42.82785615878869 -37.143,2024/05/28 15:37:31.9969,36.228287730953,42.82785615878869 -37.389,2024/05/28 15:37:32.2429,36.228287730953,42.82785615878869 -37.636,2024/05/28 15:37:32.4899,36.228287730953,42.82785615878869 -37.786,2024/05/28 15:37:32.6399,36.228287730953,42.82785615878869 -37.882,2024/05/28 15:37:32.7359,36.228287730953,42.82785615878869 -38.128,2024/05/28 15:37:32.9819,36.228287730953,42.82785615878869 -38.279,2024/05/28 15:37:33.1329,36.228287730953,42.82785615878869 -38.375,2024/05/28 15:37:33.2289,36.228287730953,42.82785615878869 -38.621,2024/05/28 15:37:33.4749,36.228287730953,42.82785615878869 -38.867,2024/05/28 15:37:33.7209,36.228287730953,42.82785615878869 -39.018,2024/05/28 15:37:33.8719,36.228287730953,42.82785615878869 -39.511,2024/05/28 15:37:34.3649,36.228287730953,42.82785615878869 -39.606,2024/05/28 15:37:34.4599,36.228287730953,42.82785615878869 -39.853,2024/05/28 15:37:34.7069,36.228287730953,42.82785615878869 -40.098,2024/05/28 15:37:34.9519,36.228287730953,42.82785615878869 -40.25,2024/05/28 15:37:35.1039,36.228287730953,42.82785615878869 -40.345,2024/05/28 15:37:35.1989,36.228287730953,42.82785615878869 -40.591,2024/05/28 15:37:35.4449,36.228287730953,42.82785615878869 -40.837,2024/05/28 15:37:35.6909,36.228287730953,42.82785615878869 -41.084,2024/05/28 15:37:35.9379,36.228287730953,42.82785615878869 -41.234,2024/05/28 15:37:36.0879,36.228287730953,42.82785615878869 -41.33,2024/05/28 15:37:36.1839,36.228287730953,42.82785615878869 -41.481,2024/05/28 15:37:36.3349,36.228287730953,42.82785615878869 -41.576,2024/05/28 15:37:36.4299,36.228287730953,42.82785615878869 -41.823,2024/05/28 15:37:36.6769,36.228287730953,42.82785615878869 -42.466,2024/05/28 15:37:37.3199,36.228287730953,42.82785615878869 -42.562,2024/05/28 15:37:37.4159,36.228287730953,42.82785615878869 -42.807,2024/05/28 15:37:37.6609,36.228287730953,42.82785615878869 -42.959,2024/05/28 15:37:37.8129,36.228287730953,42.82785615878869 -43.053,2024/05/28 15:37:37.9069,36.228287730953,42.82785615878869 -43.3,2024/05/28 15:37:38.1539,36.228287730953,42.82785615878869 -43.451,2024/05/28 15:37:38.3049,36.228287730953,42.82785615878869 -43.546,2024/05/28 15:37:38.3999,36.228287730953,42.82785615878869 -43.793,2024/05/28 15:37:38.6469,36.228287730953,42.82785615878869 -43.943,2024/05/28 15:37:38.7969,36.228287730953,42.82785615878869 -44.039,2024/05/28 15:37:38.8929,36.228287730953,42.82785615878869 -44.285,2024/05/28 15:37:39.1389,36.228287730953,42.82785615878869 -44.532,2024/05/28 15:37:39.3859,36.228287730953,42.82785615878869 -44.683,2024/05/28 15:37:39.5369,36.228287730953,42.82785615878869 -44.777,2024/05/28 15:37:39.6309,36.228287730953,42.82785615878869 -45.024,2024/05/28 15:37:39.8779,36.228287730953,42.82785615878869 -45.175,2024/05/28 15:37:40.0289,36.228287730953,42.82785615878869 -45.27,2024/05/28 15:37:40.1239,36.228287730953,42.82785615878869 -45.516,2024/05/28 15:37:40.3699,36.228287730953,42.82785615878869 -45.763,2024/05/28 15:37:40.6169,36.228287730953,42.82785615878869 -45.913,2024/05/28 15:37:40.7669,36.228287730953,42.82785615878869 -46.009,2024/05/28 15:37:40.8629,36.228287730953,42.82785615878869 -46.256,2024/05/28 15:37:41.1099,36.228287730953,42.82785615878869 -46.406,2024/05/28 15:37:41.2599,36.228287730953,42.82785615878869 -46.502,2024/05/28 15:37:41.3559,36.228287730953,42.82785615878869 -46.748,2024/05/28 15:37:41.6019,36.228287730953,42.82785615878869 -46.899,2024/05/28 15:37:41.7529,36.228287730953,42.82785615878869 -46.995,2024/05/28 15:37:41.8489,36.228287730953,42.82785615878869 -47.241,2024/05/28 15:37:42.0949,36.228287730953,42.82785615878869 -47.486,2024/05/28 15:37:42.3399,36.228287730953,42.82785615878869 -47.638,2024/05/28 15:37:42.4919,36.228287730953,42.82785615878869 -47.733,2024/05/28 15:37:42.5869,36.228287730953,42.82785615878869 -47.979,2024/05/28 15:37:42.8329,36.228287730953,42.82785615878869 -48.13,2024/05/28 15:37:42.9839,36.228287730953,42.82785615878869 -48.226,2024/05/28 15:37:43.0799,36.228287730953,42.82785615878869 -48.472,2024/05/28 15:37:43.3259,36.228287730953,42.82785615878869 -48.719,2024/05/28 15:37:43.5729,36.228287730953,42.82785615878869 -48.869,2024/05/28 15:37:43.7229,36.228287730953,42.82785615878869 -48.965,2024/05/28 15:37:43.8189,36.228287730953,42.82785615878869 -49.211,2024/05/28 15:37:44.0649,36.228287730953,42.82785615878869 -49.362,2024/05/28 15:37:44.2159,36.228287730953,42.82785615878869 -49.457,2024/05/28 15:37:44.3109,36.228287730953,42.82785615878869 -49.703,2024/05/28 15:37:44.5569,36.228287730953,42.82785615878869 -49.854,2024/05/28 15:37:44.7079,36.228287730953,42.82785615878869 -49.949,2024/05/28 15:37:44.8029,36.228287730953,42.82785615878869 -50.196,2024/05/28 15:37:45.0499,36.228287730953,42.82785615878869 -50.346,2024/05/28 15:37:45.1999,36.228287730953,42.82785615878869 -50.442,2024/05/28 15:37:45.2959,36.228287730953,42.82785615878869 -50.688,2024/05/28 15:37:45.5419,36.228287730953,42.82785615878869 -50.935,2024/05/28 15:37:45.7889,36.228287730953,42.82785615878869 -51.085,2024/05/28 15:37:45.9389,36.228287730953,42.82785615878869 -51.181,2024/05/28 15:37:46.0349,36.228287730953,42.82785615878869 -51.427,2024/05/28 15:37:46.2809,36.228287730953,42.82785615878869 -51.578,2024/05/28 15:37:46.4319,36.228287730953,42.82785615878869 -51.674,2024/05/28 15:37:46.5279,36.228287730953,42.82785615878869 -51.919,2024/05/28 15:37:46.7729,36.228287730953,42.82785615878869 -52.071,2024/05/28 15:37:46.9249,36.228287730953,42.82785615878869 -52.166,2024/05/28 15:37:47.0199,36.228287730953,42.82785615878869 -52.412,2024/05/28 15:37:47.2659,36.228287730953,42.82785615878869 -52.564,2024/05/28 15:37:47.4179,36.228287730953,42.82785615878869 -52.658,2024/05/28 15:37:47.5119,36.228287730953,42.82785615878869 -52.905,2024/05/28 15:37:47.7589,36.228287730953,42.82785615878869 -53.151,2024/05/28 15:37:48.0049,36.228287730953,42.82785615878869 -53.301,2024/05/28 15:37:48.1549,36.228287730953,42.82785615878869 -53.397,2024/05/28 15:37:48.2509,36.228287730953,42.82785615878869 -53.644,2024/05/28 15:37:48.4979,36.228287730953,42.82785615878869 -53.794,2024/05/28 15:37:48.6479,36.228287730953,42.82785615878869 -54.287,2024/05/28 15:37:49.1409,36.228287730953,42.82785615878869 -54.383,2024/05/28 15:37:49.2369,36.228287730953,42.82785615878869 -54.629,2024/05/28 15:37:49.4829,36.228287730953,42.82785615878869 -54.78,2024/05/28 15:37:49.6339,36.228287730953,42.82785615878869 -54.875,2024/05/28 15:37:49.7289,36.228287730953,42.82785615878869 -55.122,2024/05/28 15:37:49.9759,36.228287730953,42.82785615878869 -55.368,2024/05/28 15:37:50.2219,36.228287730953,42.82785615878869 -55.519,2024/05/28 15:37:50.3729,36.228287730953,42.82785615878869 -55.613,2024/05/28 15:37:50.4669,36.228287730953,42.82785615878869 -55.86,2024/05/28 15:37:50.7139,36.228287730953,42.82785615878869 -56.011,2024/05/28 15:37:50.8649,36.228287730953,42.82785615878869 -56.106,2024/05/28 15:37:50.9599,36.228287730953,42.82785615878869 -56.352,2024/05/28 15:37:51.2059,36.228287730953,42.82785615878869 -56.503,2024/05/28 15:37:51.3569,36.228287730953,42.82785615878869 -56.599,2024/05/28 15:37:51.4529,36.228287730953,42.82785615878869 -56.845,2024/05/28 15:37:51.6989,36.228287730953,42.82785615878869 -56.996,2024/05/28 15:37:51.8499,36.228287730953,42.82785615878869 -57.091,2024/05/28 15:37:51.9449,36.228287730953,42.82785615878869 -57.338,2024/05/28 15:37:52.1919,36.228287730953,42.82785615878869 -57.584,2024/05/28 15:37:52.4379,36.228287730953,42.82785615878869 -57.735,2024/05/28 15:37:52.5889,36.228287730953,42.82785615878869 -57.831,2024/05/28 15:37:52.6849,36.228287730953,42.82785615878869 -58.077,2024/05/28 15:37:52.9309,36.228287730953,42.82785615878869 -58.227,2024/05/28 15:37:53.0809,36.228287730953,42.82785615878869 -58.323,2024/05/28 15:37:53.1769,36.228287730953,42.82785615878869 -58.57,2024/05/28 15:37:53.4239,36.228287730953,42.82785615878869 -58.719,2024/05/28 15:37:53.5729,36.228287730953,42.82785615878869 -58.815,2024/05/28 15:37:53.6689,36.228287730953,42.82785615878869 -59.061,2024/05/28 15:37:53.9149,36.228287730953,42.82785615878869 -59.308,2024/05/28 15:37:54.1619,36.228287730953,42.82785615878869 -59.458,2024/05/28 15:37:54.3119,36.228287730953,42.82785615878869 -59.554,2024/05/28 15:37:54.4079,36.228287730953,42.82785615878869 -59.801,2024/05/28 15:37:54.6549,36.228287730953,42.82785615878869 -59.951,2024/05/28 15:37:54.8049,36.228287730953,42.82785615878869 -60.047,2024/05/28 15:37:54.9009,36.228287730953,42.82785615878869 -60.293,2024/05/28 15:37:55.1469,36.228287730953,42.82785615878869 -60.54,2024/05/28 15:37:55.3939,36.228287730953,42.82785615878869 -60.69,2024/05/28 15:37:55.5439,36.228287730953,42.82785615878869 -60.785,2024/05/28 15:37:55.6389,36.228287730953,42.82785615878869 -61.032,2024/05/28 15:37:55.8859,36.228287730953,42.82785615878869 -61.183,2024/05/28 15:37:56.0369,36.228287730953,42.82785615878869 -61.278,2024/05/28 15:37:56.1319,36.228287730953,42.82785615878869 -61.524,2024/05/28 15:37:56.3779,36.228287730953,42.82785615878869 -61.771,2024/05/28 15:37:56.6249,36.228287730953,42.82785615878869 -62.017,2024/05/28 15:37:56.8709,36.228287730953,42.82785615878869 -62.168,2024/05/28 15:37:57.0219,36.228287730953,42.82785615878869 -62.263,2024/05/28 15:37:57.1169,36.228287730953,42.82785615878869 -62.414,2024/05/28 15:37:57.2679,36.228287730953,42.82785615878869 -62.51,2024/05/28 15:37:57.3639,36.228287730953,42.82785615878869 -62.756,2024/05/28 15:37:57.6099,36.228287730953,42.82785615878869 -63.002,2024/05/28 15:37:57.8559,36.228287730953,42.82785615878869 -63.153,2024/05/28 15:37:58.0069,36.228287730953,42.82785615878869 -63.249,2024/05/28 15:37:58.1029,36.228287730953,42.82785615878869 -63.495,2024/05/28 15:37:58.3489,36.228287730953,42.82785615878869 -63.646,2024/05/28 15:37:58.4999,36.228287730953,42.82785615878869 -63.741,2024/05/28 15:37:58.5949,36.228287730953,42.82785615878869 -63.987,2024/05/28 15:37:58.8409,36.228287730953,42.82785615878869 -64.233,2024/05/28 15:37:59.0869,36.228287730953,42.82785615878869 -64.63,2024/05/28 15:37:59.4839,36.228287730953,42.82785615878869 -64.876,2024/05/28 15:37:59.7299,36.228287730953,42.82785615878869 -64.972,2024/05/28 15:37:59.8259,36.228287730953,42.82785615878869 -65.218,2024/05/28 15:38:00.0719,36.228287730953,42.82785615878869 -65.465,2024/05/28 15:38:00.3189,36.228287730953,42.82785615878869 -65.615,2024/05/28 15:38:00.4689,36.228287730953,42.82785615878869 -65.711,2024/05/28 15:38:00.5649,36.228287730953,42.82785615878869 -65.957,2024/05/28 15:38:00.8109,36.228287730953,42.82785615878869 -66.108,2024/05/28 15:38:00.9619,36.228287730953,42.82785615878869 -66.204,2024/05/28 15:38:01.0579,36.228287730953,42.82785615878869 -66.45,2024/05/28 15:38:01.3039,36.228287730953,42.82785615878869 -66.697,2024/05/28 15:38:01.5509,36.228287730953,42.82785615878869 -66.847,2024/05/28 15:38:01.7009,36.228287730953,42.82785615878869 -66.943,2024/05/28 15:38:01.7969,36.228287730953,42.82785615878869 -67.189,2024/05/28 15:38:02.0429,36.228287730953,42.82785615878869 -67.34,2024/05/28 15:38:02.1939,36.228287730953,42.82785615878869 -67.927,2024/05/28 15:38:02.7809,36.228287730953,42.82785615878869 -68.078,2024/05/28 15:38:02.9319,36.228287730953,42.82785615878869 -68.571,2024/05/28 15:38:03.4249,36.228287730953,42.82785615878869 -68.666,2024/05/28 15:38:03.5199,36.228287730953,42.82785615878869 -68.913,2024/05/28 15:38:03.7669,36.228287730953,42.82785615878869 -69.063,2024/05/28 15:38:03.9169,36.228287730953,42.82785615878869 -69.159,2024/05/28 15:38:04.0129,36.228287730953,42.82785615878869 -69.406,2024/05/28 15:38:04.2599,36.228287730953,42.82785615878869 -69.652,2024/05/28 15:38:04.5059,36.228287730953,42.82785615878869 -69.897,2024/05/28 15:38:04.7509,36.228287730953,42.82785615878869 -70.144,2024/05/28 15:38:04.9979,36.228287730953,42.82785615878869 -70.294,2024/05/28 15:38:05.1479,36.228287730953,42.82785615878869 -70.39,2024/05/28 15:38:05.2439,36.228287730953,42.82785615878869 -70.541,2024/05/28 15:38:05.3949,36.228287730953,42.82785615878869 -70.636,2024/05/28 15:38:05.4899,36.228287730953,42.82785615878869 -70.883,2024/05/28 15:38:05.7369,36.228287730953,42.82785615878869 -71.034,2024/05/28 15:38:05.8879,36.228287730953,42.82785615878869 -71.622,2024/05/28 15:38:06.4759,36.228287730953,42.82785615878869 -71.773,2024/05/28 15:38:06.6269,36.228287730953,42.82785615878869 -71.868,2024/05/28 15:38:06.7219,36.228287730953,42.82785615878869 -72.114,2024/05/28 15:38:06.9679,36.228287730953,42.82785615878869 -72.264,2024/05/28 15:38:07.1179,36.228287730953,42.82785615878869 -72.36,2024/05/28 15:38:07.2139,36.228287730953,42.82785615878869 -72.606,2024/05/28 15:38:07.4599,36.228287730953,42.82785615878869 -72.853,2024/05/28 15:38:07.7069,36.228287730953,42.82785615878869 -73.003,2024/05/28 15:38:07.8569,36.228287730953,42.82785615878869 -73.099,2024/05/28 15:38:07.9529,36.228287730953,42.82785615878869 -73.742,2024/05/28 15:38:08.5959,36.228287730953,42.82785615878869 -73.838,2024/05/28 15:38:08.6919,36.228287730953,42.82785615878869 -74.085,2024/05/28 15:38:08.9389,36.228287730953,42.82785615878869 -74.235,2024/05/28 15:38:09.0889,36.228287730953,42.82785615878869 -74.331,2024/05/28 15:38:09.1849,36.228287730953,42.82785615878869 -74.577,2024/05/28 15:38:09.4309,36.228287730953,42.82785615878869 -74.824,2024/05/28 15:38:09.6779,36.228287730953,42.82785615878869 -75.069,2024/05/28 15:38:09.9229,36.228287730953,42.82785615878869 -75.22,2024/05/28 15:38:10.0739,36.228287730953,42.82785615878869 -75.315,2024/05/28 15:38:10.1689,36.228287730953,42.82785615878869 -75.466,2024/05/28 15:38:10.3199,36.228287730953,42.82785615878869 -75.562,2024/05/28 15:38:10.4159,36.228287730953,42.82785615878869 -75.808,2024/05/28 15:38:10.6619,36.228287730953,42.82785615878869 -76.055,2024/05/28 15:38:10.9089,36.228287730953,42.82785615878869 -76.205,2024/05/28 15:38:11.0589,36.228287730953,42.82785615878869 -76.301,2024/05/28 15:38:11.1549,36.228287730953,42.82785615878869 -76.547,2024/05/28 15:38:11.4009,36.228287730953,42.82785615878869 -76.698,2024/05/28 15:38:11.5519,36.228287730953,42.82785615878869 -77.191,2024/05/28 15:38:12.0449,36.228287730953,42.82785615878869 -77.286,2024/05/28 15:38:12.1399,36.228287730953,42.82785615878869 -77.533,2024/05/28 15:38:12.3869,36.228287730953,42.82785615878869 -77.779,2024/05/28 15:38:12.6329,36.228287730953,42.82785615878869 -77.929,2024/05/28 15:38:12.7829,36.228287730953,42.82785615878869 -78.025,2024/05/28 15:38:12.8789,36.228287730953,42.82785615878869 -78.271,2024/05/28 15:38:13.1249,36.228287730953,42.82785615878869 -78.421,2024/05/28 15:38:13.2749,36.228287730953,42.82785615878869 -78.517,2024/05/28 15:38:13.3709,36.228287730953,42.82785615878869 -78.763,2024/05/28 15:38:13.6169,36.228287730953,42.82785615878869 -78.914,2024/05/28 15:38:13.7679,36.228287730953,42.82785615878869 -79.01,2024/05/28 15:38:13.8639,36.228287730953,42.82785615878869 -79.256,2024/05/28 15:38:14.1099,36.228287730953,42.82785615878869 -79.407,2024/05/28 15:38:14.2609,36.228287730953,42.82785615878869 -79.502,2024/05/28 15:38:14.3559,36.228287730953,42.82785615878869 -79.749,2024/05/28 15:38:14.6029,36.228287730953,42.82785615878869 -79.995,2024/05/28 15:38:14.8489,36.228287730953,42.82785615878869 -80.146,2024/05/28 15:38:14.9999,36.228287730953,42.82785615878869 -80.241,2024/05/28 15:38:15.0949,36.228287730953,42.82785615878869 -80.488,2024/05/28 15:38:15.3419,36.228287730953,42.82785615878869 -80.638,2024/05/28 15:38:15.4919,36.228287730953,42.82785615878869 -80.734,2024/05/28 15:38:15.5879,36.228287730953,42.82785615878869 -80.98,2024/05/28 15:38:15.8339,36.228287730953,42.82785615878869 -81.131,2024/05/28 15:38:15.9849,36.228287730953,42.82785615878869 -81.227,2024/05/28 15:38:16.0809,36.228287730953,42.82785615878869 -81.473,2024/05/28 15:38:16.3269,36.228287730953,42.82785615878869 -81.718,2024/05/28 15:38:16.5719,36.228287730953,42.82785615878869 -81.869,2024/05/28 15:38:16.7229,36.228287730953,42.82785615878869 -81.965,2024/05/28 15:38:16.8189,36.228287730953,42.82785615878869 -82.211,2024/05/28 15:38:17.0649,36.228287730953,42.82785615878869 -82.362,2024/05/28 15:38:17.2159,36.228287730953,42.82785615878869 -82.457,2024/05/28 15:38:17.3109,36.228287730953,42.82785615878869 -82.704,2024/05/28 15:38:17.5579,36.228287730953,42.82785615878869 -82.95,2024/05/28 15:38:17.8039,36.228287730953,42.82785615878869 -83.101,2024/05/28 15:38:17.9549,36.228287730953,42.82785615878869 -83.197,2024/05/28 15:38:18.0509,36.228287730953,42.82785615878869 -83.594,2024/05/28 15:38:18.4479,36.228287730953,42.82785615878869 -84.086,2024/05/28 15:38:18.9399,36.228287730953,42.82785615878869 -84.182,2024/05/28 15:38:19.0359,36.228287730953,42.82785615878869 -84.428,2024/05/28 15:38:19.2819,36.228287730953,42.82785615878869 -84.675,2024/05/28 15:38:19.5289,36.228287730953,42.82785615878869 -84.824,2024/05/28 15:38:19.6779,36.228287730953,42.82785615878869 -84.92,2024/05/28 15:38:19.7739,36.228287730953,42.82785615878869 -85.166,2024/05/28 15:38:20.0199,36.228287730953,42.82785615878869 -85.317,2024/05/28 15:38:20.1709,36.228287730953,42.82785615878869 -85.413,2024/05/28 15:38:20.2669,36.228287730953,42.82785615878869 -85.659,2024/05/28 15:38:20.5129,36.228287730953,42.82785615878869 -85.81,2024/05/28 15:38:20.6639,36.228287730953,42.82785615878869 -85.905,2024/05/28 15:38:20.7589,36.228287730953,42.82785615878869 -86.152,2024/05/28 15:38:21.0059,36.228287730953,42.82785615878869 -86.398,2024/05/28 15:38:21.2519,36.228287730953,42.82785615878869 -86.549,2024/05/28 15:38:21.4029,36.228287730953,42.82785615878869 -86.645,2024/05/28 15:38:21.4989,36.228287730953,42.82785615878869 -86.891,2024/05/28 15:38:21.7449,36.228287730953,42.82785615878869 -87.041,2024/05/28 15:38:21.8949,36.228287730953,42.82785615878869 -87.629,2024/05/28 15:38:22.4829,36.228287730953,42.82785615878869 -87.78,2024/05/28 15:38:22.6339,36.228287730953,42.82785615878869 -87.875,2024/05/28 15:38:22.7289,36.228287730953,42.82785615878869 -88.122,2024/05/28 15:38:22.9759,36.228287730953,42.82785615878869 -88.273,2024/05/28 15:38:23.1269,36.228287730953,42.82785615878869 -88.369,2024/05/28 15:38:23.2229,36.228287730953,42.82785615878869 -88.615,2024/05/28 15:38:23.4689,36.228287730953,42.82785615878869 -88.861,2024/05/28 15:38:23.7149,36.228287730953,42.82785615878869 -89.011,2024/05/28 15:38:23.8649,36.228287730953,42.82785615878869 -89.107,2024/05/28 15:38:23.9609,36.228287730953,42.82785615878869 -89.353,2024/05/28 15:38:24.2069,36.228287730953,42.82785615878869 -89.504,2024/05/28 15:38:24.3579,36.228287730953,42.82785615878869 -89.599,2024/05/28 15:38:24.4529,36.228287730953,42.82785615878869 -89.846,2024/05/28 15:38:24.6999,36.228287730953,42.82785615878869 -90.092,2024/05/28 15:38:24.9459,36.228287730953,42.82785615878869 -90.339,2024/05/28 15:38:25.1929,36.228287730953,42.82785615878869 -90.488,2024/05/28 15:38:25.3419,36.228287730953,42.82785615878869 -90.585,2024/05/28 15:38:25.4389,36.228287730953,42.82785615878869 -90.832,2024/05/28 15:38:25.6859,36.228287730953,42.82785615878869 -90.981,2024/05/28 15:38:25.8349,36.228287730953,42.82785615878869 -91.078,2024/05/28 15:38:25.9319,36.228287730953,42.82785615878869 -91.323,2024/05/28 15:38:26.1769,36.228287730953,42.82785615878869 -91.474,2024/05/28 15:38:26.3279,36.228287730953,42.82785615878869 -91.57,2024/05/28 15:38:26.4239,36.228287730953,42.82785615878869 -91.816,2024/05/28 15:38:26.6699,36.228287730953,42.82785615878869 -92.062,2024/05/28 15:38:26.9159,36.228287730953,42.82785615878869 -92.213,2024/05/28 15:38:27.0669,36.228287730953,42.82785615878869 -92.309,2024/05/28 15:38:27.1629,36.228287730953,42.82785615878869 -92.555,2024/05/28 15:38:27.4089,36.228287730953,42.82785615878869 -92.706,2024/05/28 15:38:27.5599,36.228287730953,42.82785615878869 -93.294,2024/05/28 15:38:28.1479,36.228287730953,42.82785615878869 -93.445,2024/05/28 15:38:28.2989,36.228287730953,42.82785615878869 -93.54,2024/05/28 15:38:28.3939,36.228287730953,42.82785615878869 -93.787,2024/05/28 15:38:28.6409,36.228287730953,42.82785615878869 -93.936,2024/05/28 15:38:28.7899,36.228287730953,42.82785615878869 -94.526,2024/05/28 15:38:29.3799,36.228287730953,42.82785615878869 -94.675,2024/05/28 15:38:29.5289,36.228287730953,42.82785615878869 -94.771,2024/05/28 15:38:29.6249,36.228287730953,42.82785615878869 -95.017,2024/05/28 15:38:29.8709,36.228287730953,42.82785615878869 -95.168,2024/05/28 15:38:30.0219,36.228287730953,42.82785615878869 -95.264,2024/05/28 15:38:30.1179,36.228287730953,42.82785615878869 -95.51,2024/05/28 15:38:30.3639,36.228287730953,42.82785615878869 -95.757,2024/05/28 15:38:30.6109,36.228287730953,42.82785615878869 -96.003,2024/05/28 15:38:30.8569,36.228287730953,42.82785615878869 -96.249,2024/05/28 15:38:31.1029,36.228287730953,42.82785615878869 -96.4,2024/05/28 15:38:31.2539,36.228287730953,42.82785615878869 -96.645,2024/05/28 15:38:31.4989,36.228287730953,42.82785615878869 -96.988,2024/05/28 15:38:31.8419,36.228287730953,42.82785615878869 -97.138,2024/05/28 15:38:31.9919,36.228287730953,42.82785615878869 -97.235,2024/05/28 15:38:32.0889,36.228287730953,42.82785615878869 -97.48,2024/05/28 15:38:32.3339,36.228287730953,42.82785615878869 -97.631,2024/05/28 15:38:32.4849,36.228287730953,42.82785615878869 -97.726,2024/05/28 15:38:32.5799,36.228287730953,42.82785615878869 -97.973,2024/05/28 15:38:32.8269,36.228287730953,42.82785615878869 -98.219,2024/05/28 15:38:33.0729,36.228287730953,42.82785615878869 -98.37,2024/05/28 15:38:33.2239,36.228287730953,42.82785615878869 -98.466,2024/05/28 15:38:33.3199,36.228287730953,42.82785615878869 -98.712,2024/05/28 15:38:33.5659,36.228287730953,42.82785615878869 -98.862,2024/05/28 15:38:33.7159,36.228287730953,42.82785615878869 -98.958,2024/05/28 15:38:33.8119,36.228287730953,42.82785615878869 -99.205,2024/05/28 15:38:34.0589,36.228287730953,42.82785615878869 -99.601,2024/05/28 15:38:34.4549,36.228287730953,42.82785615878869 -99.944,2024/05/28 15:38:34.7979,36.228287730953,42.82785615878869 -100.093,2024/05/28 15:38:34.9469,36.228287730953,42.82785615878869 -100.19,2024/05/28 15:38:35.0439,36.228287730953,42.82785615878869 -100.436,2024/05/28 15:38:35.2899,36.228287730953,42.82785615878869 -100.683,2024/05/28 15:38:35.5369,36.228287730953,42.82785615878869 -100.832,2024/05/28 15:38:35.6859,36.228287730953,42.82785615878869 -100.928,2024/05/28 15:38:35.7819,36.228287730953,42.82785615878869 -101.174,2024/05/28 15:38:36.0279,36.228287730953,42.82785615878869 -101.325,2024/05/28 15:38:36.1789,36.228287730953,42.82785615878869 -101.423,2024/05/28 15:38:36.2769,36.228287730953,42.82785615878869 -101.667,2024/05/28 15:38:36.5209,36.228287730953,42.82785615878869 -101.913,2024/05/28 15:38:36.7669,36.228287730953,42.82785615878869 -102.064,2024/05/28 15:38:36.9179,36.228287730953,42.82785615878869 -102.16,2024/05/28 15:38:37.0139,36.228287730953,42.82785615878869 -102.406,2024/05/28 15:38:37.2599,36.228287730953,42.82785615878869 -102.653,2024/05/28 15:38:37.5069,36.228287730953,42.82785615878869 -102.802,2024/05/28 15:38:37.6559,36.228287730953,42.82785615878869 -102.899,2024/05/28 15:38:37.7529,36.228287730953,42.82785615878869 -103.295,2024/05/28 15:38:38.1489,36.228287730953,42.82785615878869 -103.637,2024/05/28 15:38:38.4909,36.228287730953,42.82785615878869 -103.884,2024/05/28 15:38:38.7379,36.228287730953,42.82785615878869 -104.034,2024/05/28 15:38:38.8879,36.228287730953,42.82785615878869 -104.13,2024/05/28 15:38:38.9839,36.228287730953,42.82785615878869 -104.527,2024/05/28 15:38:39.3809,36.228287730953,42.82785615878869 -104.869,2024/05/28 15:38:39.7229,36.228287730953,42.82785615878869 -105.115,2024/05/28 15:38:39.9689,36.228287730953,42.82785615878869 -105.266,2024/05/28 15:38:40.1199,36.228287730953,42.82785615878869 -105.361,2024/05/28 15:38:40.2149,36.228287730953,42.82785615878869 -105.608,2024/05/28 15:38:40.4619,36.228287730953,42.82785615878869 -105.854,2024/05/28 15:38:40.7079,36.228287730953,42.82785615878869 -106.004,2024/05/28 15:38:40.8579,36.228287730953,42.82785615878869 -106.1,2024/05/28 15:38:40.9539,36.228287730953,42.82785615878869 -106.347,2024/05/28 15:38:41.2009,36.228287730953,42.82785615878869 -106.497,2024/05/28 15:38:41.3509,36.228287730953,42.82785615878869 -106.592,2024/05/28 15:38:41.4459,36.228287730953,42.82785615878869 -106.839,2024/05/28 15:38:41.6929,36.228287730953,42.82785615878869 -106.989,2024/05/28 15:38:41.8429,36.228287730953,42.82785615878869 -107.085,2024/05/28 15:38:41.9389,36.228287730953,42.82785615878869 -107.331,2024/05/28 15:38:42.1849,36.228287730953,42.82785615878869 -107.578,2024/05/28 15:38:42.4319,36.228287730953,42.82785615878869 -107.728,2024/05/28 15:38:42.5819,36.228287730953,42.82785615878869 -107.824,2024/05/28 15:38:42.6779,36.228287730953,42.82785615878869 -108.07,2024/05/28 15:38:42.9239,36.228287730953,42.82785615878869 -108.22,2024/05/28 15:38:43.0739,36.228287730953,42.82785615878869 -108.317,2024/05/28 15:38:43.1709,36.228287730953,42.82785615878869 -108.563,2024/05/28 15:38:43.4169,36.228287730953,42.82785615878869 -108.81,2024/05/28 15:38:43.6639,36.228287730953,42.82785615878869 -108.959,2024/05/28 15:38:43.8129,36.228287730953,42.82785615878869 -109.056,2024/05/28 15:38:43.9099,36.228287730953,42.82785615878869 -109.302,2024/05/28 15:38:44.1559,36.228287730953,42.82785615878869 -109.452,2024/05/28 15:38:44.3059,36.228287730953,42.82785615878869 -109.549,2024/05/28 15:38:44.4029,36.228287730953,42.82785615878869 -109.794,2024/05/28 15:38:44.6479,36.228287730953,42.82785615878869 -110.04,2024/05/28 15:38:44.8939,36.228287730953,42.82785615878869 -110.191,2024/05/28 15:38:45.0449,36.228287730953,42.82785615878869 -110.287,2024/05/28 15:38:45.1409,36.228287730953,42.82785615878869 -110.533,2024/05/28 15:38:45.3869,36.228287730953,42.82785615878869 -110.779,2024/05/28 15:38:45.6329,36.228287730953,42.82785615878869 -110.93,2024/05/28 15:38:45.7839,36.228287730953,42.82785615878869 -111.026,2024/05/28 15:38:45.8799,36.228287730953,42.82785615878869 -111.272,2024/05/28 15:38:46.1259,36.228287730953,42.82785615878869 -111.423,2024/05/28 15:38:46.2769,36.228287730953,42.82785615878869 -111.518,2024/05/28 15:38:46.3719,36.228287730953,42.82785615878869 -112.161,2024/05/28 15:38:47.0149,36.228287730953,42.82785615878869 -112.257,2024/05/28 15:38:47.1109,36.228287730953,42.82785615878869 -112.653,2024/05/28 15:38:47.5069,36.228287730953,42.82785615878869 -112.996,2024/05/28 15:38:47.8499,36.228287730953,42.82785615878869 -113.242,2024/05/28 15:38:48.0959,36.228287730953,42.82785615878869 -113.392,2024/05/28 15:38:48.2459,36.228287730953,42.82785615878869 -113.885,2024/05/28 15:38:48.7389,36.228287730953,42.82785615878869 -113.981,2024/05/28 15:38:48.8349,36.228287730953,42.82785615878869 -114.227,2024/05/28 15:38:49.0809,36.228287730953,42.82785615878869 -114.474,2024/05/28 15:38:49.3279,36.228287730953,42.82785615878869 -114.623,2024/05/28 15:38:49.4769,36.228287730953,42.82785615878869 -114.72,2024/05/28 15:38:49.5739,36.228287730953,42.82785615878869 -114.966,2024/05/28 15:38:49.8199,36.228287730953,42.82785615878869 -115.116,2024/05/28 15:38:49.9699,36.228287730953,42.82785615878869 -115.213,2024/05/28 15:38:50.0669,36.228287730953,42.82785615878869 -115.609,2024/05/28 15:38:50.4629,36.228287730953,42.82785615878869 -115.951,2024/05/28 15:38:50.8049,36.228287730953,42.82785615878869 -116.197,2024/05/28 15:38:51.0509,36.228287730953,42.82785615878869 -116.348,2024/05/28 15:38:51.2019,36.228287730953,42.82785615878869 -116.443,2024/05/28 15:38:51.2969,36.228287730953,42.82785615878869 -116.69,2024/05/28 15:38:51.5439,36.228287730953,42.82785615878869 -116.84,2024/05/28 15:38:51.6939,36.228287730953,42.82785615878869 -116.936,2024/05/28 15:38:51.7899,36.228287730953,42.82785615878869 -117.183,2024/05/28 15:38:52.0369,36.228287730953,42.82785615878869 -117.429,2024/05/28 15:38:52.2829,36.228287730953,42.82785615878869 -117.578,2024/05/28 15:38:52.4319,36.228287730953,42.82785615878869 -117.675,2024/05/28 15:38:52.5289,36.228287730953,42.82785615878869 -117.922,2024/05/28 15:38:52.7759,36.228287730953,42.82785615878869 -118.071,2024/05/28 15:38:52.9249,36.228287730953,42.82785615878869 -118.168,2024/05/28 15:38:53.0219,36.228287730953,42.82785615878869 -118.414,2024/05/28 15:38:53.2679,36.228287730953,42.82785615878869 -118.661,2024/05/28 15:38:53.5149,36.228287730953,42.82785615878869 -118.81,2024/05/28 15:38:53.6639,36.228287730953,42.82785615878869 -118.907,2024/05/28 15:38:53.7609,36.228287730953,42.82785615878869 -119.152,2024/05/28 15:38:54.0059,36.228287730953,42.82785615878869 -119.4,2024/05/28 15:38:54.2539,36.228287730953,42.82785615878869 -119.549,2024/05/28 15:38:54.4029,36.228287730953,42.82785615878869 -119.645,2024/05/28 15:38:54.4989,36.228287730953,42.82785615878869 -119.891,2024/05/28 15:38:54.7449,36.228287730953,42.82785615878869 -120.138,2024/05/28 15:38:54.9919,36.228287730953,42.82785615878869 -120.288,2024/05/28 15:38:55.1419,36.228287730953,42.82785615878869 -120.384,2024/05/28 15:38:55.2379,36.228287730953,42.82785615878869 -120.534,2024/05/28 15:38:55.3879,36.228287730953,42.82785615878869 -120.63,2024/05/28 15:38:55.4839,36.228287730953,42.82785615878869 -120.877,2024/05/28 15:38:55.7309,36.228287730953,42.82785615878869 -121.273,2024/05/28 15:38:56.1269,36.228287730953,42.82785615878869 -121.616,2024/05/28 15:38:56.4699,36.228287730953,42.82785615878869 -121.765,2024/05/28 15:38:56.6189,36.228287730953,42.82785615878869 -121.862,2024/05/28 15:38:56.7159,36.228287730953,42.82785615878869 -122.108,2024/05/28 15:38:56.9619,36.228287730953,42.82785615878869 -122.355,2024/05/28 15:38:57.2089,36.228287730953,42.82785615878869 -122.504,2024/05/28 15:38:57.3579,36.228287730953,42.82785615878869 -122.997,2024/05/28 15:38:57.8509,36.228287730953,42.82785615878869 -123.093,2024/05/28 15:38:57.9469,36.228287730953,42.82785615878869 -123.339,2024/05/28 15:38:58.1929,36.228287730953,42.82785615878869 -123.49,2024/05/28 15:38:58.3439,36.228287730953,42.82785615878869 -123.585,2024/05/28 15:38:58.4389,36.228287730953,42.82785615878869 -123.832,2024/05/28 15:38:58.6859,36.228287730953,42.82785615878869 -124.078,2024/05/28 15:38:58.9319,36.228287730953,42.82785615878869 -124.228,2024/05/28 15:38:59.0819,36.228287730953,42.82785615878869 -124.324,2024/05/28 15:38:59.1779,36.228287730953,42.82785615878869 -124.571,2024/05/28 15:38:59.4249,36.228287730953,42.82785615878869 -124.817,2024/05/28 15:38:59.6709,36.228287730953,42.82785615878869 -124.967,2024/05/28 15:38:59.8209,36.228287730953,42.82785615878869 -125.064,2024/05/28 15:38:59.9179,36.228287730953,42.82785615878869 -125.31,2024/05/28 15:39:00.1639,36.228287730953,42.82785615878869 -125.459,2024/05/28 15:39:00.3129,36.228287730953,42.82785615878869 -125.556,2024/05/28 15:39:00.4099,36.228287730953,42.82785615878869 -125.803,2024/05/28 15:39:00.6569,36.228287730953,42.82785615878869 -126.049,2024/05/28 15:39:00.9029,36.228287730953,42.82785615878869 -126.198,2024/05/28 15:39:01.0519,36.228287730953,42.82785615878869 -126.295,2024/05/28 15:39:01.1489,36.228287730953,42.82785615878869 -126.541,2024/05/28 15:39:01.3949,36.228287730953,42.82785615878869 -126.691,2024/05/28 15:39:01.5449,36.228287730953,42.82785615878869 -126.787,2024/05/28 15:39:01.6409,36.228287730953,42.82785615878869 -127.033,2024/05/28 15:39:01.8869,36.228287730953,42.82785615878869 -127.28,2024/05/28 15:39:02.1339,36.228287730953,42.82785615878869 -127.429,2024/05/28 15:39:02.2829,36.228287730953,42.82785615878869 -127.526,2024/05/28 15:39:02.3799,36.228287730953,42.82785615878869 -127.772,2024/05/28 15:39:02.6259,36.228287730953,42.82785615878869 -127.922,2024/05/28 15:39:02.7759,36.228287730953,42.82785615878869 -128.019,2024/05/28 15:39:02.8729,36.228287730953,42.82785615878869 -128.265,2024/05/28 15:39:03.1189,36.228287730953,42.82785615878869 -128.511,2024/05/28 15:39:03.3649,36.228287730953,42.82785615878869 -128.661,2024/05/28 15:39:03.5149,36.228287730953,42.82785615878869 -128.758,2024/05/28 15:39:03.6119,36.228287730953,42.82785615878869 -129.004,2024/05/28 15:39:03.8579,36.228287730953,42.82785615878869 -129.154,2024/05/28 15:39:04.0079,36.228287730953,42.82785615878869 -129.25,2024/05/28 15:39:04.1039,36.228287730953,42.82785615878869 -129.497,2024/05/28 15:39:04.3509,36.228287730953,42.82785615878869 -129.743,2024/05/28 15:39:04.5969,36.228287730953,42.82785615878869 -129.893,2024/05/28 15:39:04.7469,36.228287730953,42.82785615878869 -130.385,2024/05/28 15:39:05.2389,36.228287730953,42.82785615878869 -130.481,2024/05/28 15:39:05.3349,36.228287730953,42.82785615878869 -130.727,2024/05/28 15:39:05.5809,36.228287730953,42.82785615878869 -130.974,2024/05/28 15:39:05.8279,36.228287730953,42.82785615878869 -131.123,2024/05/28 15:39:05.9769,36.228287730953,42.82785615878869 -131.22,2024/05/28 15:39:06.0739,36.228287730953,42.82785615878869 -131.862,2024/05/28 15:39:06.7159,36.228287730953,42.82785615878869 -131.959,2024/05/28 15:39:06.8129,36.228287730953,42.82785615878869 -132.206,2024/05/28 15:39:07.0599,36.228287730953,42.82785615878869 -132.355,2024/05/28 15:39:07.2089,36.228287730953,42.82785615878869 -132.452,2024/05/28 15:39:07.3059,36.228287730953,42.82785615878869 -132.698,2024/05/28 15:39:07.5519,36.228287730953,42.82785615878869 -133.094,2024/05/28 15:39:07.9479,36.228287730953,42.82785615878869 -133.437,2024/05/28 15:39:08.2909,36.228287730953,42.82785615878869 -133.683,2024/05/28 15:39:08.5369,36.228287730953,42.82785615878869 -133.832,2024/05/28 15:39:08.6859,36.228287730953,42.82785615878869 -133.929,2024/05/28 15:39:08.7829,36.228287730953,42.82785615878869 -134.325,2024/05/28 15:39:09.1789,36.228287730953,42.82785615878869 -134.668,2024/05/28 15:39:09.5219,36.228287730953,42.82785615878869 -134.915,2024/05/28 15:39:09.7689,36.228287730953,42.82785615878869 -135.064,2024/05/28 15:39:09.9179,36.228287730953,42.82785615878869 -135.161,2024/05/28 15:39:10.0149,36.228287730953,42.82785615878869 -135.407,2024/05/28 15:39:10.2609,36.228287730953,42.82785615878869 -135.557,2024/05/28 15:39:10.4109,36.228287730953,42.82785615878869 -135.653,2024/05/28 15:39:10.5069,36.228287730953,42.82785615878869 -135.899,2024/05/28 15:39:10.7529,36.228287730953,42.82785615878869 -136.146,2024/05/28 15:39:10.9999,36.228287730953,42.82785615878869 -136.295,2024/05/28 15:39:11.1489,36.228287730953,42.82785615878869 -136.392,2024/05/28 15:39:11.2459,36.228287730953,42.82785615878869 -136.638,2024/05/28 15:39:11.4919,36.228287730953,42.82785615878869 -136.788,2024/05/28 15:39:11.6419,36.228287730953,42.82785615878869 -136.885,2024/05/28 15:39:11.7389,36.228287730953,42.82785615878869 -137.527,2024/05/28 15:39:12.3809,36.228287730953,42.82785615878869 -137.624,2024/05/28 15:39:12.4779,36.228287730953,42.82785615878869 -137.87,2024/05/28 15:39:12.7239,36.228287730953,42.82785615878869 -138.02,2024/05/28 15:39:12.8739,36.228287730953,42.82785615878869 -138.116,2024/05/28 15:39:12.9699,36.228287730953,42.82785615878869 -138.363,2024/05/28 15:39:13.2169,36.228287730953,42.82785615878869 -138.609,2024/05/28 15:39:13.4629,36.228287730953,42.82785615878869 -138.759,2024/05/28 15:39:13.6129,36.228287730953,42.82785615878869 -138.855,2024/05/28 15:39:13.7089,36.228287730953,42.82785615878869 -139.101,2024/05/28 15:39:13.9549,36.228287730953,42.82785615878869 -139.347,2024/05/28 15:39:14.2009,36.228287730953,42.82785615878869 -139.594,2024/05/28 15:39:14.4479,36.228287730953,42.82785615878869 -139.743,2024/05/28 15:39:14.5969,36.228287730953,42.82785615878869 -139.84,2024/05/28 15:39:14.6939,36.228287730953,42.82785615878869 -139.99,2024/05/28 15:39:14.8439,36.228287730953,42.82785615878869 -140.579,2024/05/28 15:39:15.4329,36.228287730953,42.82785615878869 -140.729,2024/05/28 15:39:15.5829,36.228287730953,42.82785615878869 -140.825,2024/05/28 15:39:15.6789,36.228287730953,42.82785615878869 -141.072,2024/05/28 15:39:15.9259,36.228287730953,42.82785615878869 -141.317,2024/05/28 15:39:16.1709,36.228287730953,42.82785615878869 -141.467,2024/05/28 15:39:16.3209,36.228287730953,42.82785615878869 -141.564,2024/05/28 15:39:16.4179,36.228287730953,42.82785615878869 -141.81,2024/05/28 15:39:16.6639,36.228287730953,42.82785615878869 -141.96,2024/05/28 15:39:16.8139,36.228287730953,42.82785615878869 -142.056,2024/05/28 15:39:16.9099,36.228287730953,42.82785615878869 -142.303,2024/05/28 15:39:17.1569,36.228287730953,42.82785615878869 -142.549,2024/05/28 15:39:17.4029,36.228287730953,42.82785615878869 -142.699,2024/05/28 15:39:17.5529,36.228287730953,42.82785615878869 -142.795,2024/05/28 15:39:17.6489,36.228287730953,42.82785615878869 -143.042,2024/05/28 15:39:17.8959,36.228287730953,42.82785615878869 -143.288,2024/05/28 15:39:18.1419,36.228287730953,42.82785615878869 -143.438,2024/05/28 15:39:18.2919,36.228287730953,42.82785615878869 -143.534,2024/05/28 15:39:18.3879,36.228287730953,42.82785615878869 -143.781,2024/05/28 15:39:18.6349,36.228287730953,42.82785615878869 -143.93,2024/05/28 15:39:18.7839,36.228287730953,42.82785615878869 -144.027,2024/05/28 15:39:18.8809,36.228287730953,42.82785615878869 -144.273,2024/05/28 15:39:19.1269,36.228287730953,42.82785615878869 -144.668,2024/05/28 15:39:19.5219,36.228287730953,42.82785615878869 -145.012,2024/05/28 15:39:19.8659,36.228287730953,42.82785615878869 -145.161,2024/05/28 15:39:20.0149,36.228287730953,42.82785615878869 -145.258,2024/05/28 15:39:20.1119,36.228287730953,42.82785615878869 -145.504,2024/05/28 15:39:20.3579,36.228287730953,42.82785615878869 -145.753,2024/05/28 15:39:20.6069,36.228287730953,42.82785615878869 -145.9,2024/05/28 15:39:20.7539,36.228287730953,42.82785615878869 -145.997,2024/05/28 15:39:20.8509,36.228287730953,42.82785615878869 -146.243,2024/05/28 15:39:21.0969,36.228287730953,42.82785615878869 -146.393,2024/05/28 15:39:21.2469,36.228287730953,42.82785615878869 -146.49,2024/05/28 15:39:21.3439,36.228287730953,42.82785615878869 -146.736,2024/05/28 15:39:21.5899,36.228287730953,42.82785615878869 -146.982,2024/05/28 15:39:21.8359,36.228287730953,42.82785615878869 -147.132,2024/05/28 15:39:21.9859,36.228287730953,42.82785615878869 -147.229,2024/05/28 15:39:22.0829,36.228287730953,42.82785615878869 -147.475,2024/05/28 15:39:22.3289,36.228287730953,42.82785615878869 -147.624,2024/05/28 15:39:22.4779,36.228287730953,42.82785615878869 -147.72,2024/05/28 15:39:22.5739,36.228287730953,42.82785615878869 -147.968,2024/05/28 15:39:22.8219,36.228287730953,42.82785615878869 -148.213,2024/05/28 15:39:23.0669,36.228287730953,42.82785615878869 -148.363,2024/05/28 15:39:23.2169,36.228287730953,42.82785615878869 -148.459,2024/05/28 15:39:23.3129,36.228287730953,42.82785615878869 -148.706,2024/05/28 15:39:23.5599,36.228287730953,42.82785615878869 -148.855,2024/05/28 15:39:23.7089,36.228287730953,42.82785615878869 -148.952,2024/05/28 15:39:23.8059,36.228287730953,42.82785615878869 -149.198,2024/05/28 15:39:24.0519,36.228287730953,42.82785615878869 -149.445,2024/05/28 15:39:24.2989,36.228287730953,42.82785615878869 -149.594,2024/05/28 15:39:24.4479,36.228287730953,42.82785615878869 -149.691,2024/05/28 15:39:24.5449,36.228287730953,42.82785615878869 -149.937,2024/05/28 15:39:24.7909,36.228287730953,42.82785615878869 -150.087,2024/05/28 15:39:24.9409,36.228287730953,42.82785615878869 -150.184,2024/05/28 15:39:25.0379,36.228287730953,42.82785615878869 -150.43,2024/05/28 15:39:25.2839,36.228287730953,42.82785615878869 -150.825,2024/05/28 15:39:25.6789,36.228287730953,42.82785615878869 -151.168,2024/05/28 15:39:26.0219,36.228287730953,42.82785615878869 -151.318,2024/05/28 15:39:26.1719,36.228287730953,42.82785615878869 -151.415,2024/05/28 15:39:26.2689,36.228287730953,42.82785615878869 -151.661,2024/05/28 15:39:26.5149,36.228287730953,42.82785615878869 -151.907,2024/05/28 15:39:26.7609,36.228287730953,42.82785615878869 -152.057,2024/05/28 15:39:26.9109,36.228287730953,42.82785615878869 -152.154,2024/05/28 15:39:27.0079,36.228287730953,42.82785615878869 -152.796,2024/05/28 15:39:27.6499,36.228287730953,42.82785615878869 -152.893,2024/05/28 15:39:27.7469,36.228287730953,42.82785615878869 -153.289,2024/05/28 15:39:28.1429,36.228287730953,42.82785615878869 -153.632,2024/05/28 15:39:28.4859,36.228287730953,42.82785615878869 -153.878,2024/05/28 15:39:28.7319,36.228287730953,42.82785615878869 -154.027,2024/05/28 15:39:28.8809,36.228287730953,42.82785615878869 -154.124,2024/05/28 15:39:28.9779,36.228287730953,42.82785615878869 -154.37,2024/05/28 15:39:29.2239,36.228287730953,42.82785615878869 -154.52,2024/05/28 15:39:29.3739,36.228287730953,42.82785615878869 -154.616,2024/05/28 15:39:29.4699,36.228287730953,42.82785615878869 -154.862,2024/05/28 15:39:29.7159,36.228287730953,42.82785615878869 -155.012,2024/05/28 15:39:29.8659,36.228287730953,42.82785615878869 -155.109,2024/05/28 15:39:29.9629,36.228287730953,42.82785615878869 -155.751,2024/05/28 15:39:30.6049,36.228287730953,42.82785615878869 -155.848,2024/05/28 15:39:30.7019,36.228287730953,42.82785615878869 -156.094,2024/05/28 15:39:30.9479,36.228287730953,42.82785615878869 -156.244,2024/05/28 15:39:31.0979,36.228287730953,42.82785615878869 -156.341,2024/05/28 15:39:31.1949,36.228287730953,42.82785615878869 -156.587,2024/05/28 15:39:31.4409,36.228287730953,42.82785615878869 -156.982,2024/05/28 15:39:31.8359,36.228287730953,42.82785615878869 -157.325,2024/05/28 15:39:32.1789,36.228287730953,42.82785615878869 -157.571,2024/05/28 15:39:32.4249,36.228287730953,42.82785615878869 -157.721,2024/05/28 15:39:32.5749,36.228287730953,42.82785615878869 -157.818,2024/05/28 15:39:32.6719,36.228287730953,42.82785615878869 -158.064,2024/05/28 15:39:32.9179,36.228287730953,42.82785615878869 -158.46,2024/05/28 15:39:33.3139,36.228287730953,42.82785615878869 -158.803,2024/05/28 15:39:33.6569,36.228287730953,42.82785615878869 -159.049,2024/05/28 15:39:33.9029,36.228287730953,42.82785615878869 -159.199,2024/05/28 15:39:34.0529,36.228287730953,42.82785615878869 -159.296,2024/05/28 15:39:34.1499,36.228287730953,42.82785615878869 -159.542,2024/05/28 15:39:34.3959,36.228287730953,42.82785615878869 -160.183,2024/05/28 15:39:35.0369,36.228287730953,42.82785615878869 -160.281,2024/05/28 15:39:35.1349,36.228287730953,42.82785615878869 -160.528,2024/05/28 15:39:35.3819,36.228287730953,42.82785615878869 -160.676,2024/05/28 15:39:35.5299,36.228287730953,42.82785615878869 -160.773,2024/05/28 15:39:35.6269,36.228287730953,42.82785615878869 -161.02,2024/05/28 15:39:35.8739,36.228287730953,42.82785615878869 -161.266,2024/05/28 15:39:36.1199,36.228287730953,42.82785615878869 -161.416,2024/05/28 15:39:36.2699,36.228287730953,42.82785615878869 -161.512,2024/05/28 15:39:36.3659,36.228287730953,42.82785615878869 -161.759,2024/05/28 15:39:36.6129,36.228287730953,42.82785615878869 -162.005,2024/05/28 15:39:36.8589,36.228287730953,42.82785615878869 -162.154,2024/05/28 15:39:37.0079,36.228287730953,42.82785615878869 -162.251,2024/05/28 15:39:37.1049,36.228287730953,42.82785615878869 -162.497,2024/05/28 15:39:37.3509,36.228287730953,42.82785615878869 -162.893,2024/05/28 15:39:37.7469,36.228287730953,42.82785615878869 -163.236,2024/05/28 15:39:38.0899,36.228287730953,42.82785615878869 -163.482,2024/05/28 15:39:38.3359,36.228287730953,42.82785615878869 -163.632,2024/05/28 15:39:38.4859,36.228287730953,42.82785615878869 -163.729,2024/05/28 15:39:38.5829,36.228287730953,42.82785615878869 -163.975,2024/05/28 15:39:38.8289,36.228287730953,42.82785615878869 -164.221,2024/05/28 15:39:39.0749,36.228287730953,42.82785615878869 -164.371,2024/05/28 15:39:39.2249,36.228287730953,42.82785615878869 -164.468,2024/05/28 15:39:39.3219,36.228287730953,42.82785615878869 -164.714,2024/05/28 15:39:39.5679,36.228287730953,42.82785615878869 -164.96,2024/05/28 15:39:39.8139,36.228287730953,42.82785615878869 -165.207,2024/05/28 15:39:40.0609,36.228287730953,42.82785615878869 -165.355,2024/05/28 15:39:40.2089,36.228287730953,42.82785615878869 -165.453,2024/05/28 15:39:40.3069,36.228287730953,42.82785615878869 -165.699,2024/05/28 15:39:40.5529,36.228287730953,42.82785615878869 -165.945,2024/05/28 15:39:40.7989,36.228287730953,42.82785615878869 -166.191,2024/05/28 15:39:41.0449,36.228287730953,42.82785615878869 -166.341,2024/05/28 15:39:41.1949,36.228287730953,42.82785615878869 -166.437,2024/05/28 15:39:41.2909,36.228287730953,42.82785615878869 -166.684,2024/05/28 15:39:41.5379,36.228287730953,42.82785615878869 -166.93,2024/05/28 15:39:41.7839,36.228287730953,42.82785615878869 -167.08,2024/05/28 15:39:41.9339,36.228287730953,42.82785615878869 -167.176,2024/05/28 15:39:42.0299,36.228287730953,42.82785615878869 -167.423,2024/05/28 15:39:42.2769,36.228287730953,42.82785615878869 -167.669,2024/05/28 15:39:42.5229,36.228287730953,42.82785615878869 -167.819,2024/05/28 15:39:42.6729,36.228287730953,42.82785615878869 -167.916,2024/05/28 15:39:42.7699,36.228287730953,42.82785615878869 -168.162,2024/05/28 15:39:43.0159,36.228287730953,42.82785615878869 -168.408,2024/05/28 15:39:43.2619,36.228287730953,42.82785615878869 -168.557,2024/05/28 15:39:43.4109,36.228287730953,42.82785615878869 -168.655,2024/05/28 15:39:43.5089,36.228287730953,42.82785615878869 -168.901,2024/05/28 15:39:43.7549,36.228287730953,42.82785615878869 -169.545,2024/05/28 15:39:44.3989,36.228287730953,42.82785615878869 -169.639,2024/05/28 15:39:44.4929,36.228287730953,42.82785615878869 -169.885,2024/05/28 15:39:44.7389,36.228287730953,42.82785615878869 -170.132,2024/05/28 15:39:44.9859,36.228287730953,42.82785615878869 -170.281,2024/05/28 15:39:45.1349,36.228287730953,42.82785615878869 -170.378,2024/05/28 15:39:45.2319,36.228287730953,42.82785615878869 -170.624,2024/05/28 15:39:45.4779,36.228287730953,42.82785615878869 -170.774,2024/05/28 15:39:45.6279,36.228287730953,42.82785615878869 -170.871,2024/05/28 15:39:45.7249,36.228287730953,42.82785615878869 -171.117,2024/05/28 15:39:45.9709,36.228287730953,42.82785615878869 -171.363,2024/05/28 15:39:46.2169,36.228287730953,42.82785615878869 -171.512,2024/05/28 15:39:46.3659,36.228287730953,42.82785615878869 -171.61,2024/05/28 15:39:46.4639,36.228287730953,42.82785615878869 -172.349,2024/05/28 15:39:47.2029,36.228287730953,42.82785615878869 -172.497,2024/05/28 15:39:47.3509,36.228287730953,42.82785615878869 -172.595,2024/05/28 15:39:47.4489,36.228287730953,42.82785615878869 -172.84,2024/05/28 15:39:47.6939,36.228287730953,42.82785615878869 -172.99,2024/05/28 15:39:47.8439,36.228287730953,42.82785615878869 -173.087,2024/05/28 15:39:47.9409,36.228287730953,42.82785615878869 -173.333,2024/05/28 15:39:48.1869,36.228287730953,42.82785615878869 -173.483,2024/05/28 15:39:48.3369,36.228287730953,42.82785615878869 -174.072,2024/05/28 15:39:48.9259,36.228287730953,42.82785615878869 -174.222,2024/05/28 15:39:49.0759,36.228287730953,42.82785615878869 -174.318,2024/05/28 15:39:49.1719,36.228287730953,42.82785615878869 -174.565,2024/05/28 15:39:49.4189,36.228287730953,42.82785615878869 -174.811,2024/05/28 15:39:49.6649,36.228287730953,42.82785615878869 -174.96,2024/05/28 15:39:49.8139,36.228287730953,42.82785615878869 -175.057,2024/05/28 15:39:49.9109,36.228287730953,42.82785615878869 -175.304,2024/05/28 15:39:50.1579,36.228287730953,42.82785615878869 -175.55,2024/05/28 15:39:50.4039,36.228287730953,42.82785615878869 -175.7,2024/05/28 15:39:50.5539,36.228287730953,42.82785615878869 -175.796,2024/05/28 15:39:50.6499,36.228287730953,42.82785615878869 -176.043,2024/05/28 15:39:50.8969,36.228287730953,42.82785615878869 -176.289,2024/05/28 15:39:51.1429,36.228287730953,42.82785615878869 -176.438,2024/05/28 15:39:51.2919,36.228287730953,42.82785615878869 -176.535,2024/05/28 15:39:51.3889,36.228287730953,42.82785615878869 -176.781,2024/05/28 15:39:51.6349,36.228287730953,42.82785615878869 -176.93,2024/05/28 15:39:51.7839,36.228287730953,42.82785615878869 -177.027,2024/05/28 15:39:51.8809,36.228287730953,42.82785615878869 -177.274,2024/05/28 15:39:52.1279,36.228287730953,42.82785615878869 -177.52,2024/05/28 15:39:52.3739,36.228287730953,42.82785615878869 -177.669,2024/05/28 15:39:52.5229,36.228287730953,42.82785615878869 -177.766,2024/05/28 15:39:52.6199,36.228287730953,42.82785615878869 -178.013,2024/05/28 15:39:52.8669,36.228287730953,42.82785615878869 -178.162,2024/05/28 15:39:53.0159,36.228287730953,42.82785615878869 -178.259,2024/05/28 15:39:53.1129,36.228287730953,42.82785615878869 -178.505,2024/05/28 15:39:53.3589,36.228287730953,42.82785615878869 -178.752,2024/05/28 15:39:53.6059,36.228287730953,42.82785615878869 -178.9,2024/05/28 15:39:53.7539,36.228287730953,42.82785615878869 -178.998,2024/05/28 15:39:53.8519,36.228287730953,42.82785615878869 -179.244,2024/05/28 15:39:54.0979,36.228287730953,42.82785615878869 -179.393,2024/05/28 15:39:54.2469,36.228287730953,42.82785615878869 -179.49,2024/05/28 15:39:54.3439,36.228287730953,42.82785615878869 -179.736,2024/05/28 15:39:54.5899,36.228287730953,42.82785615878869 -179.983,2024/05/28 15:39:54.8369,36.228287730953,42.82785615878869 -180.229,2024/05/28 15:39:55.0829,36.228287730953,42.82785615878869 -180.379,2024/05/28 15:39:55.2329,36.228287730953,42.82785615878869 -180.475,2024/05/28 15:39:55.3289,36.228287730953,42.82785615878869 -180.625,2024/05/28 15:39:55.4789,36.228287730953,42.82785615878869 -180.722,2024/05/28 15:39:55.5759,36.228287730953,42.82785615878869 -180.968,2024/05/28 15:39:55.8219,36.228287730953,42.82785615878869 -181.214,2024/05/28 15:39:56.0679,36.228287730953,42.82785615878869 -181.363,2024/05/28 15:39:56.2169,36.228287730953,42.82785615878869 -181.953,2024/05/28 15:39:56.8069,36.228287730953,42.82785615878869 -182.102,2024/05/28 15:39:56.9559,36.228287730953,42.82785615878869 -182.595,2024/05/28 15:39:57.4489,36.228287730953,42.82785615878869 -182.692,2024/05/28 15:39:57.5459,36.228287730953,42.82785615878869 -182.938,2024/05/28 15:39:57.7919,36.228287730953,42.82785615878869 -183.087,2024/05/28 15:39:57.9409,36.228287730953,42.82785615878869 -183.184,2024/05/28 15:39:58.0379,36.228287730953,42.82785615878869 -183.431,2024/05/28 15:39:58.2849,36.228287730953,42.82785615878869 -183.677,2024/05/28 15:39:58.5309,36.228287730953,42.82785615878869 -183.826,2024/05/28 15:39:58.6799,36.228287730953,42.82785615878869 -183.923,2024/05/28 15:39:58.7769,36.228287730953,42.82785615878869 -184.17,2024/05/28 15:39:59.0239,36.228287730953,42.82785615878869 -184.416,2024/05/28 15:39:59.2699,36.228287730953,42.82785615878869 -184.565,2024/05/28 15:39:59.4189,36.228287730953,42.82785615878869 -184.662,2024/05/28 15:39:59.5159,36.228287730953,42.82785615878869 -184.908,2024/05/28 15:39:59.7619,36.228287730953,42.82785615878869 -185.057,2024/05/28 15:39:59.9109,36.228287730953,42.82785615878869 -185.796,2024/05/28 15:40:00.6499,36.228287730953,42.82785615878869 -185.893,2024/05/28 15:40:00.7469,36.228287730953,42.82785615878869 -186.14,2024/05/28 15:40:00.9939,36.228287730953,42.82785615878869 -186.289,2024/05/28 15:40:01.1429,36.228287730953,42.82785615878869 -186.386,2024/05/28 15:40:01.2399,36.228287730953,42.82785615878869 -186.632,2024/05/28 15:40:01.4859,36.228287730953,42.82785615878869 -186.879,2024/05/28 15:40:01.7329,36.228287730953,42.82785615878869 -187.027,2024/05/28 15:40:01.8809,36.228287730953,42.82785615878869 -187.125,2024/05/28 15:40:01.9789,36.228287730953,42.82785615878869 -187.371,2024/05/28 15:40:02.2249,36.228287730953,42.82785615878869 -187.52,2024/05/28 15:40:02.3739,36.228287730953,42.82785615878869 -187.618,2024/05/28 15:40:02.4719,36.228287730953,42.82785615878869 -187.863,2024/05/28 15:40:02.7169,36.228287730953,42.82785615878869 -188.11,2024/05/28 15:40:02.9639,36.228287730953,42.82785615878869 -188.259,2024/05/28 15:40:03.1129,36.228287730953,42.82785615878869 -188.356,2024/05/28 15:40:03.2099,36.228287730953,42.82785615878869 -188.602,2024/05/28 15:40:03.4559,36.228287730953,42.82785615878869 -188.752,2024/05/28 15:40:03.6059,36.228287730953,42.82785615878869 -188.849,2024/05/28 15:40:03.7029,36.228287730953,42.82785615878869 -189.096,2024/05/28 15:40:03.9499,36.228287730953,42.82785615878869 -189.244,2024/05/28 15:40:04.0979,36.228287730953,42.82785615878869 -189.341,2024/05/28 15:40:04.1949,36.228287730953,42.82785615878869 -189.588,2024/05/28 15:40:04.4419,36.228287730953,42.82785615878869 -189.834,2024/05/28 15:40:04.6879,36.228287730953,42.82785615878869 -189.983,2024/05/28 15:40:04.8369,36.228287730953,42.82785615878869 -190.08,2024/05/28 15:40:04.9339,36.228287730953,42.82785615878869 -190.327,2024/05/28 15:40:05.1809,36.228287730953,42.82785615878869 -190.572,2024/05/28 15:40:05.4259,36.228287730953,42.82785615878869 -190.722,2024/05/28 15:40:05.5759,36.228287730953,42.82785615878869 -191.214,2024/05/28 15:40:06.0679,36.228287730953,42.82785615878869 -191.804,2024/05/28 15:40:06.6579,36.228287730953,42.82785615878869 -191.953,2024/05/28 15:40:06.8069,36.228287730953,42.82785615878869 -192.05,2024/05/28 15:40:06.9039,36.228287730953,42.82785615878869 -192.297,2024/05/28 15:40:07.1509,36.228287730953,42.82785615878869 -192.692,2024/05/28 15:40:07.5459,36.228287730953,42.82785615878869 -193.036,2024/05/28 15:40:07.8899,36.228287730953,42.82785615878869 -193.184,2024/05/28 15:40:08.0379,36.228287730953,42.82785615878869 -193.282,2024/05/28 15:40:08.1359,36.228287730953,42.82785615878869 -193.527,2024/05/28 15:40:08.3809,36.228287730953,42.82785615878869 -193.677,2024/05/28 15:40:08.5309,36.228287730953,42.82785615878869 -194.266,2024/05/28 15:40:09.1199,36.228287730953,42.82785615878869 -194.661,2024/05/28 15:40:09.5149,36.228287730953,42.82785615878869 -195.006,2024/05/28 15:40:09.8599,36.228287730953,42.82785615878869 -195.154,2024/05/28 15:40:10.0079,36.228287730953,42.82785615878869 -195.252,2024/05/28 15:40:10.1059,36.228287730953,42.82785615878869 -195.498,2024/05/28 15:40:10.3519,36.228287730953,42.82785615878869 -195.647,2024/05/28 15:40:10.5009,36.228287730953,42.82785615878869 -195.745,2024/05/28 15:40:10.5989,36.228287730953,42.82785615878869 -195.991,2024/05/28 15:40:10.8449,36.228287730953,42.82785615878869 -196.237,2024/05/28 15:40:11.0909,36.228287730953,42.82785615878869 -196.386,2024/05/28 15:40:11.2399,36.228287730953,42.82785615878869 -196.484,2024/05/28 15:40:11.3379,36.228287730953,42.82785615878869 -196.73,2024/05/28 15:40:11.5839,36.228287730953,42.82785615878869 -196.879,2024/05/28 15:40:11.7329,36.228287730953,42.82785615878869 -196.976,2024/05/28 15:40:11.8299,36.228287730953,42.82785615878869 -197.222,2024/05/28 15:40:12.0759,36.228287730953,42.82785615878869 -197.618,2024/05/28 15:40:12.4719,36.228287730953,42.82785615878869 -197.961,2024/05/28 15:40:12.8149,36.228287730953,42.82785615878869 -198.109,2024/05/28 15:40:12.9629,36.228287730953,42.82785615878869 -198.207,2024/05/28 15:40:13.0609,36.228287730953,42.82785615878869 -198.454,2024/05/28 15:40:13.3079,36.228287730953,42.82785615878869 -198.7,2024/05/28 15:40:13.5539,36.228287730953,42.82785615878869 -198.848,2024/05/28 15:40:13.7019,36.228287730953,42.82785615878869 -198.946,2024/05/28 15:40:13.7999,36.228287730953,42.82785615878869 -199.193,2024/05/28 15:40:14.0469,36.228287730953,42.82785615878869 -199.341,2024/05/28 15:40:14.1949,36.228287730953,42.82785615878869 -199.439,2024/05/28 15:40:14.2929,36.228287730953,42.82785615878869 -199.685,2024/05/28 15:40:14.5389,36.228287730953,42.82785615878869 -199.931,2024/05/28 15:40:14.7849,36.228287730953,42.82785615878869 -200.08,2024/05/28 15:40:14.9339,36.228287730953,42.82785615878869 -200.177,2024/05/28 15:40:15.0309,36.228287730953,42.82785615878869 -200.423,2024/05/28 15:40:15.2769,36.228287730953,42.82785615878869 -200.572,2024/05/28 15:40:15.4259,36.228287730953,42.82785615878869 -200.67,2024/05/28 15:40:15.5239,36.228287730953,42.82785615878869 -200.916,2024/05/28 15:40:15.7699,36.228287730953,42.82785615878869 -201.162,2024/05/28 15:40:16.0159,36.228287730953,42.82785615878869 -201.311,2024/05/28 15:40:16.1649,36.228287730953,42.82785615878869 -201.409,2024/05/28 15:40:16.2629,36.228287730953,42.82785615878869 -201.804,2024/05/28 15:40:16.6579,36.228287730953,42.82785615878869 -202.148,2024/05/28 15:40:17.0019,36.228287730953,42.82785615878869 -202.394,2024/05/28 15:40:17.2479,36.228287730953,42.82785615878869 -202.543,2024/05/28 15:40:17.3969,36.228287730953,42.82785615878869 -202.64,2024/05/28 15:40:17.4939,36.228287730953,42.82785615878869 -202.887,2024/05/28 15:40:17.7409,36.228287730953,42.82785615878869 -203.133,2024/05/28 15:40:17.9869,36.228287730953,42.82785615878869 -203.282,2024/05/28 15:40:18.1359,36.228287730953,42.82785615878869 -203.379,2024/05/28 15:40:18.2329,36.228287730953,42.82785615878869 -203.625,2024/05/28 15:40:18.4789,36.228287730953,42.82785615878869 -203.774,2024/05/28 15:40:18.6279,36.228287730953,42.82785615878869 -203.871,2024/05/28 15:40:18.7249,36.228287730953,42.82785615878869 -204.117,2024/05/28 15:40:18.9709,36.228287730953,42.82785615878869 -204.267,2024/05/28 15:40:19.1209,36.228287730953,42.82785615878869 -204.364,2024/05/28 15:40:19.2179,36.228287730953,42.82785615878869 -204.61,2024/05/28 15:40:19.4639,36.228287730953,42.82785615878869 -204.856,2024/05/28 15:40:19.7099,36.228287730953,42.82785615878869 -205.005,2024/05/28 15:40:19.8589,36.228287730953,42.82785615878869 -205.103,2024/05/28 15:40:19.9569,36.228287730953,42.82785615878869 -205.349,2024/05/28 15:40:20.2029,36.228287730953,42.82785615878869 -205.595,2024/05/28 15:40:20.4489,36.228287730953,42.82785615878869 -205.744,2024/05/28 15:40:20.5979,36.228287730953,42.82785615878869 -205.842,2024/05/28 15:40:20.6959,36.228287730953,42.82785615878869 -206.088,2024/05/28 15:40:20.9419,36.228287730953,42.82785615878869 -206.237,2024/05/28 15:40:21.0909,36.228287730953,42.82785615878869 -206.335,2024/05/28 15:40:21.1889,36.228287730953,42.82785615878869 -206.581,2024/05/28 15:40:21.4349,36.228287730953,42.82785615878869 -206.827,2024/05/28 15:40:21.6809,36.228287730953,42.82785615878869 -206.976,2024/05/28 15:40:21.8299,36.228287730953,42.82785615878869 -207.073,2024/05/28 15:40:21.9269,36.228287730953,42.82785615878869 -207.319,2024/05/28 15:40:22.1729,36.228287730953,42.82785615878869 -207.468,2024/05/28 15:40:22.3219,36.228287730953,42.82785615878869 -207.565,2024/05/28 15:40:22.4189,36.228287730953,42.82785615878869 -207.812,2024/05/28 15:40:22.6659,36.228287730953,42.82785615878869 -208.058,2024/05/28 15:40:22.9119,36.228287730953,42.82785615878869 -208.207,2024/05/28 15:40:23.0609,36.228287730953,42.82785615878869 -208.305,2024/05/28 15:40:23.1589,36.228287730953,42.82785615878869 -208.551,2024/05/28 15:40:23.4049,36.228287730953,42.82785615878869 -208.699,2024/05/28 15:40:23.5529,36.228287730953,42.82785615878869 -208.797,2024/05/28 15:40:23.6509,36.228287730953,42.82785615878869 -209.044,2024/05/28 15:40:23.8979,36.228287730953,42.82785615878869 -209.29,2024/05/28 15:40:24.1439,36.228287730953,42.82785615878869 -209.536,2024/05/28 15:40:24.3899,36.228287730953,42.82785615878869 -209.685,2024/05/28 15:40:24.5389,36.228287730953,42.82785615878869 -209.783,2024/05/28 15:40:24.6369,36.228287730953,42.82785615878869 -210.028,2024/05/28 15:40:24.8819,36.228287730953,42.82785615878869 -210.178,2024/05/28 15:40:25.0319,36.228287730953,42.82785615878869 -210.274,2024/05/28 15:40:25.1279,36.228287730953,42.82785615878869 -210.916,2024/05/28 15:40:25.7699,36.228287730953,42.82785615878869 -211.013,2024/05/28 15:40:25.8669,36.228287730953,42.82785615878869 -211.26,2024/05/28 15:40:26.1139,36.228287730953,42.82785615878869 -211.408,2024/05/28 15:40:26.2619,36.228287730953,42.82785615878869 -211.506,2024/05/28 15:40:26.3599,36.228287730953,42.82785615878869 -211.752,2024/05/28 15:40:26.6059,36.228287730953,42.82785615878869 -211.999,2024/05/28 15:40:26.8529,36.228287730953,42.82785615878869 -212.148,2024/05/28 15:40:27.0019,36.228287730953,42.82785615878869 -212.245,2024/05/28 15:40:27.0989,36.228287730953,42.82785615878869 -212.491,2024/05/28 15:40:27.3449,36.228287730953,42.82785615878869 -212.738,2024/05/28 15:40:27.5919,36.228287730953,42.82785615878869 -212.886,2024/05/28 15:40:27.7399,36.228287730953,42.82785615878869 -212.984,2024/05/28 15:40:27.8379,36.228287730953,42.82785615878869 -213.23,2024/05/28 15:40:28.0839,36.228287730953,42.82785615878869 -213.477,2024/05/28 15:40:28.3309,36.228287730953,42.82785615878869 -213.722,2024/05/28 15:40:28.5759,36.228287730953,42.82785615878869 -213.871,2024/05/28 15:40:28.7249,36.228287730953,42.82785615878869 -213.968,2024/05/28 15:40:28.8219,36.228287730953,42.82785615878869 -214.215,2024/05/28 15:40:29.0689,36.228287730953,42.82785615878869 -214.461,2024/05/28 15:40:29.3149,36.228287730953,42.82785615878869 -214.61,2024/05/28 15:40:29.4639,36.228287730953,42.82785615878869 -214.707,2024/05/28 15:40:29.5609,36.228287730953,42.82785615878869 -214.856,2024/05/28 15:40:29.7099,36.228287730953,42.82785615878869 -214.954,2024/05/28 15:40:29.8079,36.228287730953,42.82785615878869 -215.2,2024/05/28 15:40:30.0539,36.228287730953,42.82785615878869 -215.447,2024/05/28 15:40:30.3009,36.228287730953,42.82785615878869 -215.595,2024/05/28 15:40:30.4489,36.228287730953,42.82785615878869 -215.693,2024/05/28 15:40:30.5469,36.228287730953,42.82785615878869 -215.939,2024/05/28 15:40:30.7929,36.228287730953,42.82785615878869 -216.087,2024/05/28 15:40:30.9409,36.228287730953,42.82785615878869 -216.186,2024/05/28 15:40:31.0399,36.228287730953,42.82785615878869 -216.431,2024/05/28 15:40:31.2849,36.228287730953,42.82785615878869 -216.677,2024/05/28 15:40:31.5309,36.228287730953,42.82785615878869 -216.826,2024/05/28 15:40:31.6799,36.228287730953,42.82785615878869 -216.924,2024/05/28 15:40:31.7779,36.228287730953,42.82785615878869 -217.17,2024/05/28 15:40:32.0239,36.228287730953,42.82785615878869 -217.319,2024/05/28 15:40:32.1729,36.228287730953,42.82785615878869 -217.416,2024/05/28 15:40:32.2699,36.228287730953,42.82785615878869 -217.663,2024/05/28 15:40:32.5169,36.228287730953,42.82785615878869 -217.909,2024/05/28 15:40:32.7629,36.228287730953,42.82785615878869 -218.058,2024/05/28 15:40:32.9119,36.228287730953,42.82785615878869 -218.155,2024/05/28 15:40:33.0089,36.228287730953,42.82785615878869 -218.402,2024/05/28 15:40:33.2559,36.228287730953,42.82785615878869 -218.648,2024/05/28 15:40:33.5019,36.228287730953,42.82785615878869 -218.797,2024/05/28 15:40:33.6509,36.228287730953,42.82785615878869 -218.895,2024/05/28 15:40:33.7489,36.228287730953,42.82785615878869 -219.141,2024/05/28 15:40:33.9949,36.228287730953,42.82785615878869 -219.29,2024/05/28 15:40:34.1439,36.228287730953,42.82785615878869 -219.387,2024/05/28 15:40:34.2409,36.228287730953,42.82785615878869 -219.633,2024/05/28 15:40:34.4869,36.228287730953,42.82785615878869 -219.879,2024/05/28 15:40:34.7329,36.228287730953,42.82785615878869 -220.028,2024/05/28 15:40:34.8819,36.228287730953,42.82785615878869 -220.125,2024/05/28 15:40:34.9789,36.228287730953,42.82785615878869 -220.372,2024/05/28 15:40:35.2259,36.228287730953,42.82785615878869 -220.52,2024/05/28 15:40:35.3739,36.228287730953,42.82785615878869 -220.618,2024/05/28 15:40:35.4719,36.228287730953,42.82785615878869 -221.259,2024/05/28 15:40:36.1129,36.228287730953,42.82785615878869 -221.603,2024/05/28 15:40:36.4569,36.228287730953,42.82785615878869 -221.752,2024/05/28 15:40:36.6059,36.228287730953,42.82785615878869 -221.85,2024/05/28 15:40:36.7039,36.228287730953,42.82785615878869 -222.491,2024/05/28 15:40:37.3449,36.228287730953,42.82785615878869 -222.589,2024/05/28 15:40:37.4429,36.228287730953,42.82785615878869 -222.835,2024/05/28 15:40:37.6889,36.228287730953,42.82785615878869 -222.984,2024/05/28 15:40:37.8379,36.228287730953,42.82785615878869 -223.08,2024/05/28 15:40:37.9339,36.228287730953,42.82785615878869 -223.328,2024/05/28 15:40:38.1819,36.228287730953,42.82785615878869 -223.573,2024/05/28 15:40:38.4269,36.228287730953,42.82785615878869 -223.722,2024/05/28 15:40:38.5759,36.228287730953,42.82785615878869 -223.819,2024/05/28 15:40:38.6729,36.228287730953,42.82785615878869 -224.066,2024/05/28 15:40:38.9199,36.228287730953,42.82785615878869 -224.214,2024/05/28 15:40:39.0679,36.228287730953,42.82785615878869 -224.312,2024/05/28 15:40:39.1659,36.228287730953,42.82785615878869 -224.558,2024/05/28 15:40:39.4119,36.228287730953,42.82785615878869 -224.805,2024/05/28 15:40:39.6589,36.228287730953,42.82785615878869 -225.051,2024/05/28 15:40:39.9049,36.228287730953,42.82785615878869 -225.2,2024/05/28 15:40:40.0539,36.228287730953,42.82785615878869 -225.298,2024/05/28 15:40:40.1519,36.228287730953,42.82785615878869 -225.446,2024/05/28 15:40:40.2999,36.228287730953,42.82785615878869 -225.544,2024/05/28 15:40:40.3979,36.228287730953,42.82785615878869 -225.79,2024/05/28 15:40:40.6439,36.228287730953,42.82785615878869 -225.939,2024/05/28 15:40:40.7929,36.228287730953,42.82785615878869 -226.037,2024/05/28 15:40:40.8909,36.228287730953,42.82785615878869 -226.283,2024/05/28 15:40:41.1369,36.228287730953,42.82785615878869 -226.431,2024/05/28 15:40:41.2849,36.228287730953,42.82785615878869 -226.529,2024/05/28 15:40:41.3829,36.228287730953,42.82785615878869 -226.775,2024/05/28 15:40:41.6289,36.228287730953,42.82785615878869 -227.022,2024/05/28 15:40:41.8759,36.228287730953,42.82785615878869 -227.17,2024/05/28 15:40:42.0239,36.228287730953,42.82785615878869 -227.267,2024/05/28 15:40:42.1209,36.228287730953,42.82785615878869 -227.514,2024/05/28 15:40:42.3679,36.228287730953,42.82785615878869 -227.662,2024/05/28 15:40:42.5159,36.228287730953,42.82785615878869 -227.76,2024/05/28 15:40:42.6139,36.228287730953,42.82785615878869 -228.006,2024/05/28 15:40:42.8599,36.228287730953,42.82785615878869 -228.253,2024/05/28 15:40:43.1069,36.228287730953,42.82785615878869 -228.401,2024/05/28 15:40:43.2549,36.228287730953,42.82785615878869 -228.499,2024/05/28 15:40:43.3529,36.228287730953,42.82785615878869 -228.745,2024/05/28 15:40:43.5989,36.228287730953,42.82785615878869 -228.992,2024/05/28 15:40:43.8459,36.228287730953,42.82785615878869 -229.14,2024/05/28 15:40:43.9939,36.228287730953,42.82785615878869 -229.238,2024/05/28 15:40:44.0919,36.228287730953,42.82785615878869 -229.387,2024/05/28 15:40:44.2409,36.228287730953,42.82785615878869 -229.484,2024/05/28 15:40:44.3379,36.228287730953,42.82785615878869 -229.731,2024/05/28 15:40:44.5849,36.228287730953,42.82785615878869 -229.878,2024/05/28 15:40:44.7319,36.228287730953,42.82785615878869 -229.977,2024/05/28 15:40:44.8309,36.228287730953,42.82785615878869 -230.223,2024/05/28 15:40:45.0769,36.228287730953,42.82785615878869 -230.47,2024/05/28 15:40:45.3239,36.228287730953,42.82785615878869 -230.617,2024/05/28 15:40:45.4709,36.228287730953,42.82785615878869 -230.715,2024/05/28 15:40:45.5689,36.228287730953,42.82785615878869 -230.961,2024/05/28 15:40:45.8149,36.228287730953,42.82785615878869 -231.11,2024/05/28 15:40:45.9639,36.228287730953,42.82785615878869 -231.208,2024/05/28 15:40:46.0619,36.228287730953,42.82785615878869 -231.603,2024/05/28 15:40:46.4569,36.228287730953,42.82785615878869 -231.947,2024/05/28 15:40:46.8009,36.228287730953,42.82785615878869 -232.193,2024/05/28 15:40:47.0469,36.228287730953,42.82785615878869 -232.342,2024/05/28 15:40:47.1959,36.228287730953,42.82785615878869 -232.439,2024/05/28 15:40:47.2929,36.228287730953,42.82785615878869 -232.686,2024/05/28 15:40:47.5399,36.228287730953,42.82785615878869 -232.834,2024/05/28 15:40:47.6879,36.228287730953,42.82785615878869 -232.932,2024/05/28 15:40:47.7859,36.228287730953,42.82785615878869 -233.178,2024/05/28 15:40:48.0319,36.228287730953,42.82785615878869 -233.326,2024/05/28 15:40:48.1799,36.228287730953,42.82785615878869 -233.425,2024/05/28 15:40:48.2789,36.228287730953,42.82785615878869 -233.671,2024/05/28 15:40:48.5249,36.228287730953,42.82785615878869 -233.819,2024/05/28 15:40:48.6729,36.228287730953,42.82785615878869 -233.918,2024/05/28 15:40:48.7719,36.228287730953,42.82785615878869 -234.163,2024/05/28 15:40:49.0169,36.228287730953,42.82785615878869 -234.409,2024/05/28 15:40:49.2629,36.228287730953,42.82785615878869 -234.558,2024/05/28 15:40:49.4119,36.228287730953,42.82785615878869 -234.656,2024/05/28 15:40:49.5099,36.228287730953,42.82785615878869 -234.902,2024/05/28 15:40:49.7559,36.228287730953,42.82785615878869 -235.148,2024/05/28 15:40:50.0019,36.228287730953,42.82785615878869 -235.297,2024/05/28 15:40:50.1509,36.228287730953,42.82785615878869 -235.395,2024/05/28 15:40:50.2489,36.228287730953,42.82785615878869 -235.543,2024/05/28 15:40:50.3969,36.228287730953,42.82785615878869 -235.641,2024/05/28 15:40:50.4949,36.228287730953,42.82785615878869 -236.284,2024/05/28 15:40:51.1379,36.228287730953,42.82785615878869 -236.38,2024/05/28 15:40:51.2339,36.228287730953,42.82785615878869 -236.626,2024/05/28 15:40:51.4799,36.228287730953,42.82785615878869 -236.774,2024/05/28 15:40:51.6279,36.228287730953,42.82785615878869 -236.872,2024/05/28 15:40:51.7259,36.228287730953,42.82785615878869 -237.118,2024/05/28 15:40:51.9719,36.228287730953,42.82785615878869 -237.267,2024/05/28 15:40:52.1209,36.228287730953,42.82785615878869 -237.365,2024/05/28 15:40:52.2189,36.228287730953,42.82785615878869 -237.611,2024/05/28 15:40:52.4649,36.228287730953,42.82785615878869 -237.858,2024/05/28 15:40:52.7119,36.228287730953,42.82785615878869 -238.006,2024/05/28 15:40:52.8599,36.228287730953,42.82785615878869 -238.104,2024/05/28 15:40:52.9579,36.228287730953,42.82785615878869 -238.35,2024/05/28 15:40:53.2039,36.228287730953,42.82785615878869 -238.498,2024/05/28 15:40:53.3519,36.228287730953,42.82785615878869 -238.597,2024/05/28 15:40:53.4509,36.228287730953,42.82785615878869 -238.843,2024/05/28 15:40:53.6969,36.228287730953,42.82785615878869 -238.991,2024/05/28 15:40:53.8449,36.228287730953,42.82785615878869 -239.088,2024/05/28 15:40:53.9419,36.228287730953,42.82785615878869 -239.336,2024/05/28 15:40:54.1899,36.228287730953,42.82785615878869 -239.581,2024/05/28 15:40:54.4349,36.228287730953,42.82785615878869 -239.73,2024/05/28 15:40:54.5839,36.228287730953,42.82785615878869 -239.827,2024/05/28 15:40:54.6809,36.228287730953,42.82785615878869 -240.074,2024/05/28 15:40:54.9279,36.228287730953,42.82785615878869 -240.222,2024/05/28 15:40:55.0759,36.228287730953,42.82785615878869 -240.32,2024/05/28 15:40:55.1739,36.228287730953,42.82785615878869 -240.964,2024/05/28 15:40:55.8179,36.228287730953,42.82785615878869 -241.059,2024/05/28 15:40:55.9129,36.228287730953,42.82785615878869 -241.305,2024/05/28 15:40:56.1589,36.228287730953,42.82785615878869 -241.453,2024/05/28 15:40:56.3069,36.228287730953,42.82785615878869 -241.552,2024/05/28 15:40:56.4059,36.228287730953,42.82785615878869 -242.192,2024/05/28 15:40:57.0459,36.228287730953,42.82785615878869 -242.291,2024/05/28 15:40:57.1449,36.228287730953,42.82785615878869 -242.537,2024/05/28 15:40:57.3909,36.228287730953,42.82785615878869 -242.685,2024/05/28 15:40:57.5389,36.228287730953,42.82785615878869 -242.784,2024/05/28 15:40:57.6379,36.228287730953,42.82785615878869 -243.029,2024/05/28 15:40:57.8829,36.228287730953,42.82785615878869 -243.275,2024/05/28 15:40:58.1289,36.228287730953,42.82785615878869 -243.424,2024/05/28 15:40:58.2779,36.228287730953,42.82785615878869 -243.522,2024/05/28 15:40:58.3759,36.228287730953,42.82785615878869 -243.768,2024/05/28 15:40:58.6219,36.228287730953,42.82785615878869 -243.916,2024/05/28 15:40:58.7699,36.228287730953,42.82785615878869 -244.014,2024/05/28 15:40:58.8679,36.228287730953,42.82785615878869 -244.261,2024/05/28 15:40:59.1149,36.228287730953,42.82785615878869 -244.507,2024/05/28 15:40:59.3609,36.228287730953,42.82785615878869 -244.655,2024/05/28 15:40:59.5089,36.228287730953,42.82785615878869 -244.753,2024/05/28 15:40:59.6069,36.228287730953,42.82785615878869 -245.0,2024/05/28 15:40:59.8539,36.228287730953,42.82785615878869 -245.147,2024/05/28 15:41:00.0009,36.228287730953,42.82785615878869 -245.246,2024/05/28 15:41:00.0999,36.228287730953,42.82785615878869 -245.492,2024/05/28 15:41:00.3459,36.228287730953,42.82785615878869 -245.738,2024/05/28 15:41:00.5919,36.228287730953,42.82785615878869 -245.984,2024/05/28 15:41:00.8379,36.228287730953,42.82785615878869 -246.133,2024/05/28 15:41:00.9869,36.228287730953,42.82785615878869 -246.231,2024/05/28 15:41:01.0849,36.228287730953,42.82785615878869 -246.379,2024/05/28 15:41:01.2329,36.228287730953,42.82785615878869 -246.477,2024/05/28 15:41:01.3309,36.228287730953,42.82785615878869 -246.723,2024/05/28 15:41:01.5769,36.228287730953,42.82785615878869 -246.97,2024/05/28 15:41:01.8239,36.228287730953,42.82785615878869 -247.118,2024/05/28 15:41:01.9719,36.228287730953,42.82785615878869 -247.216,2024/05/28 15:41:02.0699,36.228287730953,42.82785615878869 -247.462,2024/05/28 15:41:02.3159,36.228287730953,42.82785615878869 -247.61,2024/05/28 15:41:02.4639,36.228287730953,42.82785615878869 -247.709,2024/05/28 15:41:02.5629,36.228287730953,42.82785615878869 -247.955,2024/05/28 15:41:02.8089,36.228287730953,42.82785615878869 -248.103,2024/05/28 15:41:02.9569,36.228287730953,42.82785615878869 -248.201,2024/05/28 15:41:03.0549,36.228287730953,42.82785615878869 -248.448,2024/05/28 15:41:03.3019,36.228287730953,42.82785615878869 -248.694,2024/05/28 15:41:03.5479,36.228287730953,42.82785615878869 -248.842,2024/05/28 15:41:03.6959,36.228287730953,42.82785615878869 -248.939,2024/05/28 15:41:03.7929,36.228287730953,42.82785615878869 -249.187,2024/05/28 15:41:04.0409,36.228287730953,42.82785615878869 -249.334,2024/05/28 15:41:04.1879,36.228287730953,42.82785615878869 -249.432,2024/05/28 15:41:04.2859,36.228287730953,42.82785615878869 -249.678,2024/05/28 15:41:04.5319,36.228287730953,42.82785615878869 -249.925,2024/05/28 15:41:04.7789,36.228287730953,42.82785615878869 -250.073,2024/05/28 15:41:04.9269,36.228287730953,42.82785615878869 -250.171,2024/05/28 15:41:05.0249,36.228287730953,42.82785615878869 -250.417,2024/05/28 15:41:05.2709,36.228287730953,42.82785615878869 -250.664,2024/05/28 15:41:05.5179,36.228287730953,42.82785615878869 -250.811,2024/05/28 15:41:05.6649,36.228287730953,42.82785615878869 -251.304,2024/05/28 15:41:06.1579,36.228287730953,42.82785615878869 -251.403,2024/05/28 15:41:06.2569,36.228287730953,42.82785615878869 -251.649,2024/05/28 15:41:06.5029,36.228287730953,42.82785615878869 -251.896,2024/05/28 15:41:06.7499,36.228287730953,42.82785615878869 -252.043,2024/05/28 15:41:06.8969,36.228287730953,42.82785615878869 -252.142,2024/05/28 15:41:06.9959,36.228287730953,42.82785615878869 -252.388,2024/05/28 15:41:07.2419,36.228287730953,42.82785615878869 -252.635,2024/05/28 15:41:07.4889,36.228287730953,42.82785615878869 -252.782,2024/05/28 15:41:07.6359,36.228287730953,42.82785615878869 -252.88,2024/05/28 15:41:07.7339,36.228287730953,42.82785615878869 -253.126,2024/05/28 15:41:07.9799,36.228287730953,42.82785615878869 -253.373,2024/05/28 15:41:08.2269,36.228287730953,42.82785615878869 -253.521,2024/05/28 15:41:08.3749,36.228287730953,42.82785615878869 -253.619,2024/05/28 15:41:08.4729,36.228287730953,42.82785615878869 -253.865,2024/05/28 15:41:08.7189,36.228287730953,42.82785615878869 -254.014,2024/05/28 15:41:08.8679,36.228287730953,42.82785615878869 -254.112,2024/05/28 15:41:08.9659,36.228287730953,42.82785615878869 -254.358,2024/05/28 15:41:09.2119,36.228287730953,42.82785615878869 -254.604,2024/05/28 15:41:09.4579,36.228287730953,42.82785615878869 -254.752,2024/05/28 15:41:09.6059,36.228287730953,42.82785615878869 -254.851,2024/05/28 15:41:09.7049,36.228287730953,42.82785615878869 -255.097,2024/05/28 15:41:09.9509,36.228287730953,42.82785615878869 -255.245,2024/05/28 15:41:10.0989,36.228287730953,42.82785615878869 -255.343,2024/05/28 15:41:10.1969,36.228287730953,42.82785615878869 -255.59,2024/05/28 15:41:10.4439,36.228287730953,42.82785615878869 -255.836,2024/05/28 15:41:10.6899,36.228287730953,42.82785615878869 -256.081,2024/05/28 15:41:10.9349,36.228287730953,42.82785615878869 -256.328,2024/05/28 15:41:11.1819,36.228287730953,42.82785615878869 -256.574,2024/05/28 15:41:11.4279,36.228287730953,42.82785615878869 -256.821,2024/05/28 15:41:11.6749,36.228287730953,42.82785615878869 -257.067,2024/05/28 15:41:11.9209,36.228287730953,42.82785615878869 -257.215,2024/05/28 15:41:12.0689,36.228287730953,42.82785615878869 -257.313,2024/05/28 15:41:12.1669,36.228287730953,42.82785615878869 -257.56,2024/05/28 15:41:12.4139,36.228287730953,42.82785615878869 -257.806,2024/05/28 15:41:12.6599,36.228287730953,42.82785615878869 -257.954,2024/05/28 15:41:12.8079,36.228287730953,42.82785615878869 -258.052,2024/05/28 15:41:12.9059,36.228287730953,42.82785615878869 -258.299,2024/05/28 15:41:13.1529,36.228287730953,42.82785615878869 -258.446,2024/05/28 15:41:13.2999,36.228287730953,42.82785615878869 -258.545,2024/05/28 15:41:13.3989,36.228287730953,42.82785615878869 -258.791,2024/05/28 15:41:13.6449,36.228287730953,42.82785615878869 -259.038,2024/05/28 15:41:13.8919,36.228287730953,42.82785615878869 -259.187,2024/05/28 15:41:14.0409,36.228287730953,42.82785615878869 -259.283,2024/05/28 15:41:14.1369,36.228287730953,42.82785615878869 -259.529,2024/05/28 15:41:14.3829,36.228287730953,42.82785615878869 -259.678,2024/05/28 15:41:14.5319,36.228287730953,42.82785615878869 -259.776,2024/05/28 15:41:14.6299,36.228287730953,42.82785615878869 -260.417,2024/05/28 15:41:15.2709,36.228287730953,42.82785615878869 -260.515,2024/05/28 15:41:15.3689,36.228287730953,42.82785615878869 -260.761,2024/05/28 15:41:15.6149,36.228287730953,42.82785615878869 -261.007,2024/05/28 15:41:15.8609,36.228287730953,42.82785615878869 -261.155,2024/05/28 15:41:16.0089,36.228287730953,42.82785615878869 -261.254,2024/05/28 15:41:16.1079,36.228287730953,42.82785615878869 -261.5,2024/05/28 15:41:16.3539,36.228287730953,42.82785615878869 -261.648,2024/05/28 15:41:16.5019,36.228287730953,42.82785615878869 -261.746,2024/05/28 15:41:16.5999,36.228287730953,42.82785615878869 -261.993,2024/05/28 15:41:16.8469,36.228287730953,42.82785615878869 -262.14,2024/05/28 15:41:16.9939,36.228287730953,42.82785615878869 -262.239,2024/05/28 15:41:17.0929,36.228287730953,42.82785615878869 -262.485,2024/05/28 15:41:17.3389,36.228287730953,42.82785615878869 -262.731,2024/05/28 15:41:17.5849,36.228287730953,42.82785615878869 -262.88,2024/05/28 15:41:17.7339,36.228287730953,42.82785615878869 -262.977,2024/05/28 15:41:17.8309,36.228287730953,42.82785615878869 -263.224,2024/05/28 15:41:18.0779,36.228287730953,42.82785615878869 -263.371,2024/05/28 15:41:18.2249,36.228287730953,42.82785615878869 -263.47,2024/05/28 15:41:18.3239,36.228287730953,42.82785615878869 -263.716,2024/05/28 15:41:18.5699,36.228287730953,42.82785615878869 -263.864,2024/05/28 15:41:18.7179,36.228287730953,42.82785615878869 -263.963,2024/05/28 15:41:18.8169,36.228287730953,42.82785615878869 -264.209,2024/05/28 15:41:19.0629,36.228287730953,42.82785615878869 -264.455,2024/05/28 15:41:19.3089,36.228287730953,42.82785615878869 -264.603,2024/05/28 15:41:19.4569,36.228287730953,42.82785615878869 -264.702,2024/05/28 15:41:19.5559,36.228287730953,42.82785615878869 -264.948,2024/05/28 15:41:19.8019,36.228287730953,42.82785615878869 -265.195,2024/05/28 15:41:20.0489,36.228287730953,42.82785615878869 -265.342,2024/05/28 15:41:20.1959,36.228287730953,42.82785615878869 -265.44,2024/05/28 15:41:20.2939,36.228287730953,42.82785615878869 -265.588,2024/05/28 15:41:20.4419,36.228287730953,42.82785615878869 -265.686,2024/05/28 15:41:20.5399,36.228287730953,42.82785615878869 -265.933,2024/05/28 15:41:20.7869,36.228287730953,42.82785615878869 -266.179,2024/05/28 15:41:21.0329,36.228287730953,42.82785615878869 -266.327,2024/05/28 15:41:21.1809,36.228287730953,42.82785615878869 -266.426,2024/05/28 15:41:21.2799,36.228287730953,42.82785615878869 -266.672,2024/05/28 15:41:21.5259,36.228287730953,42.82785615878869 -266.819,2024/05/28 15:41:21.6729,36.228287730953,42.82785615878869 -266.918,2024/05/28 15:41:21.7719,36.228287730953,42.82785615878869 -267.312,2024/05/28 15:41:22.1659,36.228287730953,42.82785615878869 -267.656,2024/05/28 15:41:22.5099,36.228287730953,42.82785615878869 -267.904,2024/05/28 15:41:22.7579,36.228287730953,42.82785615878869 -268.051,2024/05/28 15:41:22.9049,36.228287730953,42.82785615878869 -268.149,2024/05/28 15:41:23.0029,36.228287730953,42.82785615878869 -268.395,2024/05/28 15:41:23.2489,36.228287730953,42.82785615878869 -268.544,2024/05/28 15:41:23.3979,36.228287730953,42.82785615878869 -268.642,2024/05/28 15:41:23.4959,36.228287730953,42.82785615878869 -268.888,2024/05/28 15:41:23.7419,36.228287730953,42.82785615878869 -269.036,2024/05/28 15:41:23.8899,36.228287730953,42.82785615878869 -269.134,2024/05/28 15:41:23.9879,36.228287730953,42.82785615878869 -269.381,2024/05/28 15:41:24.2349,36.228287730953,42.82785615878869 -269.627,2024/05/28 15:41:24.4809,36.228287730953,42.82785615878869 -269.775,2024/05/28 15:41:24.6289,36.228287730953,42.82785615878869 -269.873,2024/05/28 15:41:24.7269,36.228287730953,42.82785615878869 -270.12,2024/05/28 15:41:24.9739,36.228287730953,42.82785615878869 -270.514,2024/05/28 15:41:25.3679,36.228287730953,42.82785615878869 -270.859,2024/05/28 15:41:25.7129,36.228287730953,42.82785615878869 -271.006,2024/05/28 15:41:25.8599,36.228287730953,42.82785615878869 -271.105,2024/05/28 15:41:25.9589,36.228287730953,42.82785615878869 -271.351,2024/05/28 15:41:26.2049,36.228287730953,42.82785615878869 -271.499,2024/05/28 15:41:26.3529,36.228287730953,42.82785615878869 -271.598,2024/05/28 15:41:26.4519,36.228287730953,42.82785615878869 -271.843,2024/05/28 15:41:26.6969,36.228287730953,42.82785615878869 -272.089,2024/05/28 15:41:26.9429,36.228287730953,42.82785615878869 -272.238,2024/05/28 15:41:27.0919,36.228287730953,42.82785615878869 -272.336,2024/05/28 15:41:27.1899,36.228287730953,42.82785615878869 -272.582,2024/05/28 15:41:27.4359,36.228287730953,42.82785615878869 -272.73,2024/05/28 15:41:27.5839,36.228287730953,42.82785615878869 -272.829,2024/05/28 15:41:27.6829,36.228287730953,42.82785615878869 -273.075,2024/05/28 15:41:27.9289,36.228287730953,42.82785615878869 -273.223,2024/05/28 15:41:28.0769,36.228287730953,42.82785615878869 -273.321,2024/05/28 15:41:28.1749,36.228287730953,42.82785615878869 -273.567,2024/05/28 15:41:28.4209,36.228287730953,42.82785615878869 -273.716,2024/05/28 15:41:28.5699,36.228287730953,42.82785615878869 -273.813,2024/05/28 15:41:28.6669,36.228287730953,42.82785615878869 -274.06,2024/05/28 15:41:28.9139,36.228287730953,42.82785615878869 -274.306,2024/05/28 15:41:29.1599,36.228287730953,42.82785615878869 -274.454,2024/05/28 15:41:29.3079,36.228287730953,42.82785615878869 -274.552,2024/05/28 15:41:29.4059,36.228287730953,42.82785615878869 -274.799,2024/05/28 15:41:29.6529,36.228287730953,42.82785615878869 -274.946,2024/05/28 15:41:29.7999,36.228287730953,42.82785615878869 -275.045,2024/05/28 15:41:29.8989,36.228287730953,42.82785615878869 -275.292,2024/05/28 15:41:30.1459,36.228287730953,42.82785615878869 -275.538,2024/05/28 15:41:30.3919,36.228287730953,42.82785615878869 -275.686,2024/05/28 15:41:30.5399,36.228287730953,42.82785615878869 -275.784,2024/05/28 15:41:30.6379,36.228287730953,42.82785615878869 -276.031,2024/05/28 15:41:30.8849,36.228287730953,42.82785615878869 -276.178,2024/05/28 15:41:31.0319,36.228287730953,42.82785615878869 -276.277,2024/05/28 15:41:31.1309,36.228287730953,42.82785615878869 -276.522,2024/05/28 15:41:31.3759,36.228287730953,42.82785615878869 -276.769,2024/05/28 15:41:31.6229,36.228287730953,42.82785615878869 -277.015,2024/05/28 15:41:31.8689,36.228287730953,42.82785615878869 -277.164,2024/05/28 15:41:32.0179,36.228287730953,42.82785615878869 -277.265,2024/05/28 15:41:32.1189,36.228287730953,42.82785615878869 -277.508,2024/05/28 15:41:32.3619,36.228287730953,42.82785615878869 -277.655,2024/05/28 15:41:32.5089,36.228287730953,42.82785615878869 -277.754,2024/05/28 15:41:32.6079,36.228287730953,42.82785615878869 -278.0,2024/05/28 15:41:32.8539,36.228287730953,42.82785615878869 -278.247,2024/05/28 15:41:33.1009,36.228287730953,42.82785615878869 -278.394,2024/05/28 15:41:33.2479,36.228287730953,42.82785615878869 -278.493,2024/05/28 15:41:33.3469,36.228287730953,42.82785615878869 -278.739,2024/05/28 15:41:33.5929,36.228287730953,42.82785615878869 -278.887,2024/05/28 15:41:33.7409,36.228287730953,42.82785615878869 -278.986,2024/05/28 15:41:33.8399,36.228287730953,42.82785615878869 -279.232,2024/05/28 15:41:34.0859,36.228287730953,42.82785615878869 -279.478,2024/05/28 15:41:34.3319,36.228287730953,42.82785615878869 -279.626,2024/05/28 15:41:34.4799,36.228287730953,42.82785615878869 -279.725,2024/05/28 15:41:34.5789,36.228287730953,42.82785615878869 -279.97,2024/05/28 15:41:34.8239,36.228287730953,42.82785615878869 -280.118,2024/05/28 15:41:34.9719,36.228287730953,42.82785615878869 -280.857,2024/05/28 15:41:35.7109,36.228287730953,42.82785615878869 -281.202,2024/05/28 15:41:36.0559,36.228287730953,42.82785615878869 -281.35,2024/05/28 15:41:36.2039,36.228287730953,42.82785615878869 -281.448,2024/05/28 15:41:36.3019,36.228287730953,42.82785615878869 -281.695,2024/05/28 15:41:36.5489,36.228287730953,42.82785615878869 -281.941,2024/05/28 15:41:36.7949,36.228287730953,42.82785615878869 -282.089,2024/05/28 15:41:36.9429,36.228287730953,42.82785615878869 -282.187,2024/05/28 15:41:37.0409,36.228287730953,42.82785615878869 -282.434,2024/05/28 15:41:37.2879,36.228287730953,42.82785615878869 -282.581,2024/05/28 15:41:37.4349,36.228287730953,42.82785615878869 -282.679,2024/05/28 15:41:37.5329,36.228287730953,42.82785615878869 -282.925,2024/05/28 15:41:37.7789,36.228287730953,42.82785615878869 -283.319,2024/05/28 15:41:38.1729,36.228287730953,42.82785615878869 -283.665,2024/05/28 15:41:38.5189,36.228287730953,42.82785615878869 -283.911,2024/05/28 15:41:38.7649,36.228287730953,42.82785615878869 -284.059,2024/05/28 15:41:38.9129,36.228287730953,42.82785615878869 -284.157,2024/05/28 15:41:39.0109,36.228287730953,42.82785615878869 -284.404,2024/05/28 15:41:39.2579,36.228287730953,42.82785615878869 -284.551,2024/05/28 15:41:39.4049,36.228287730953,42.82785615878869 -284.65,2024/05/28 15:41:39.5039,36.228287730953,42.82785615878869 -284.896,2024/05/28 15:41:39.7499,36.228287730953,42.82785615878869 -285.143,2024/05/28 15:41:39.9969,36.228287730953,42.82785615878869 -285.29,2024/05/28 15:41:40.1439,36.228287730953,42.82785615878869 -285.389,2024/05/28 15:41:40.2429,36.228287730953,42.82785615878869 -285.635,2024/05/28 15:41:40.4889,36.228287730953,42.82785615878869 -285.881,2024/05/28 15:41:40.7349,36.228287730953,42.82785615878869 -286.028,2024/05/28 15:41:40.8819,36.228287730953,42.82785615878869 -286.127,2024/05/28 15:41:40.9809,36.228287730953,42.82785615878869 -286.275,2024/05/28 15:41:41.1289,36.228287730953,42.82785615878869 -286.373,2024/05/28 15:41:41.2269,36.228287730953,42.82785615878869 -286.62,2024/05/28 15:41:41.4739,36.228287730953,42.82785615878869 -286.866,2024/05/28 15:41:41.7199,36.228287730953,42.82785615878869 -287.014,2024/05/28 15:41:41.8679,36.228287730953,42.82785615878869 -287.112,2024/05/28 15:41:41.9659,36.228287730953,42.82785615878869 -287.359,2024/05/28 15:41:42.2129,36.228287730953,42.82785615878869 -287.506,2024/05/28 15:41:42.3599,36.228287730953,42.82785615878869 -287.605,2024/05/28 15:41:42.4589,36.228287730953,42.82785615878869 -287.851,2024/05/28 15:41:42.7049,36.228287730953,42.82785615878869 -287.999,2024/05/28 15:41:42.8529,36.228287730953,42.82785615878869 -288.098,2024/05/28 15:41:42.9519,36.228287730953,42.82785615878869 -288.344,2024/05/28 15:41:43.1979,36.228287730953,42.82785615878869 -288.59,2024/05/28 15:41:43.4439,36.228287730953,42.82785615878869 -288.738,2024/05/28 15:41:43.5919,36.228287730953,42.82785615878869 -288.837,2024/05/28 15:41:43.6909,36.228287730953,42.82785615878869 -289.083,2024/05/28 15:41:43.9369,36.228287730953,42.82785615878869 -289.231,2024/05/28 15:41:44.0849,36.228287730953,42.82785615878869 -289.328,2024/05/28 15:41:44.1819,36.228287730953,42.82785615878869 -289.576,2024/05/28 15:41:44.4299,36.228287730953,42.82785615878869 -289.969,2024/05/28 15:41:44.8229,36.228287730953,42.82785615878869 -290.314,2024/05/28 15:41:45.1679,36.228287730953,42.82785615878869 -290.461,2024/05/28 15:41:45.3149,36.228287730953,42.82785615878869 -290.56,2024/05/28 15:41:45.4139,36.228287730953,42.82785615878869 -290.807,2024/05/28 15:41:45.6609,36.228287730953,42.82785615878869 -291.201,2024/05/28 15:41:46.0549,36.228287730953,42.82785615878869 -291.546,2024/05/28 15:41:46.3999,36.228287730953,42.82785615878869 -291.792,2024/05/28 15:41:46.6459,36.228287730953,42.82785615878869 -291.94,2024/05/28 15:41:46.7939,36.228287730953,42.82785615878869 -292.038,2024/05/28 15:41:46.8919,36.228287730953,42.82785615878869 -292.285,2024/05/28 15:41:47.1389,36.228287730953,42.82785615878869 -292.432,2024/05/28 15:41:47.2859,36.228287730953,42.82785615878869 -293.024,2024/05/28 15:41:47.8779,36.228287730953,42.82785615878869 -293.17,2024/05/28 15:41:48.0239,36.228287730953,42.82785615878869 -293.27,2024/05/28 15:41:48.1239,36.228287730953,42.82785615878869 -293.909,2024/05/28 15:41:48.7629,36.228287730953,42.82785615878869 -294.008,2024/05/28 15:41:48.8619,36.228287730953,42.82785615878869 -294.254,2024/05/28 15:41:49.1079,36.228287730953,42.82785615878869 -294.501,2024/05/28 15:41:49.3549,36.228287730953,42.82785615878869 -294.648,2024/05/28 15:41:49.5019,36.228287730953,42.82785615878869 -294.747,2024/05/28 15:41:49.6009,36.228287730953,42.82785615878869 -294.993,2024/05/28 15:41:49.8469,36.228287730953,42.82785615878869 -295.141,2024/05/28 15:41:49.9949,36.228287730953,42.82785615878869 -295.24,2024/05/28 15:41:50.0939,36.228287730953,42.82785615878869 -295.486,2024/05/28 15:41:50.3399,36.228287730953,42.82785615878869 -295.732,2024/05/28 15:41:50.5859,36.228287730953,42.82785615878869 -295.88,2024/05/28 15:41:50.7339,36.228287730953,42.82785615878869 -295.979,2024/05/28 15:41:50.8329,36.228287730953,42.82785615878869 -296.225,2024/05/28 15:41:51.0789,36.228287730953,42.82785615878869 -296.471,2024/05/28 15:41:51.3249,36.228287730953,42.82785615878869 -296.618,2024/05/28 15:41:51.4719,36.228287730953,42.82785615878869 -296.718,2024/05/28 15:41:51.5719,36.228287730953,42.82785615878869 -296.963,2024/05/28 15:41:51.8169,36.228287730953,42.82785615878869 -297.111,2024/05/28 15:41:51.9649,36.228287730953,42.82785615878869 -297.209,2024/05/28 15:41:52.0629,36.228287730953,42.82785615878869 -297.456,2024/05/28 15:41:52.3099,36.228287730953,42.82785615878869 -297.702,2024/05/28 15:41:52.5559,36.228287730953,42.82785615878869 -297.85,2024/05/28 15:41:52.7039,36.228287730953,42.82785615878869 -297.948,2024/05/28 15:41:52.8019,36.228287730953,42.82785615878869 -298.195,2024/05/28 15:41:53.0489,36.228287730953,42.82785615878869 -298.342,2024/05/28 15:41:53.1959,36.228287730953,42.82785615878869 -298.441,2024/05/28 15:41:53.2949,36.228287730953,42.82785615878869 -299.081,2024/05/28 15:41:53.9349,36.228287730953,42.82785615878869 -299.18,2024/05/28 15:41:54.0339,36.228287730953,42.82785615878869 -299.426,2024/05/28 15:41:54.2799,36.228287730953,42.82785615878869 -299.673,2024/05/28 15:41:54.5269,36.228287730953,42.82785615878869 -299.821,2024/05/28 15:41:54.6749,36.228287730953,42.82785615878869 -299.919,2024/05/28 15:41:54.7729,36.228287730953,42.82785615878869 -300.312,2024/05/28 15:41:55.1659,36.228287730953,42.82785615878869 -301.051,2024/05/28 15:41:55.9049,36.228287730953,42.82785615878869 -301.15,2024/05/28 15:41:56.0039,36.228287730953,42.82785615878869 -301.396,2024/05/28 15:41:56.2499,36.228287730953,42.82785615878869 -301.643,2024/05/28 15:41:56.4969,36.228287730953,42.82785615878869 -301.889,2024/05/28 15:41:56.7429,36.228287730953,42.82785615878869 -302.037,2024/05/28 15:41:56.8909,36.228287730953,42.82785615878869 -302.135,2024/05/28 15:41:56.9889,36.228287730953,42.82785615878869 -302.283,2024/05/28 15:41:57.1369,36.228287730953,42.82785615878869 -302.382,2024/05/28 15:41:57.2359,36.228287730953,42.82785615878869 -302.628,2024/05/28 15:41:57.4819,36.228287730953,42.82785615878869 -302.874,2024/05/28 15:41:57.7279,36.228287730953,42.82785615878869 -303.022,2024/05/28 15:41:57.8759,36.228287730953,42.82785615878869 -303.121,2024/05/28 15:41:57.9749,36.228287730953,42.82785615878869 -303.366,2024/05/28 15:41:58.2199,36.228287730953,42.82785615878869 -303.613,2024/05/28 15:41:58.4669,36.228287730953,42.82785615878869 -303.76,2024/05/28 15:41:58.6139,36.228287730953,42.82785615878869 -303.859,2024/05/28 15:41:58.7129,36.228287730953,42.82785615878869 -304.105,2024/05/28 15:41:58.9589,36.228287730953,42.82785615878869 -304.253,2024/05/28 15:41:59.1069,36.228287730953,42.82785615878869 -304.352,2024/05/28 15:41:59.2059,36.228287730953,42.82785615878869 -304.598,2024/05/28 15:41:59.4519,36.228287730953,42.82785615878869 -304.844,2024/05/28 15:41:59.6979,36.228287730953,42.82785615878869 -304.992,2024/05/28 15:41:59.8459,36.228287730953,42.82785615878869 -305.091,2024/05/28 15:41:59.9449,36.228287730953,42.82785615878869 -305.337,2024/05/28 15:42:00.1909,36.228287730953,42.82785615878869 -305.485,2024/05/28 15:42:00.3389,36.228287730953,42.82785615878869 -305.583,2024/05/28 15:42:00.4369,36.228287730953,42.82785615878869 -305.83,2024/05/28 15:42:00.6839,36.228287730953,42.82785615878869 -306.076,2024/05/28 15:42:00.9299,36.228287730953,42.82785615878869 -306.223,2024/05/28 15:42:01.0769,36.228287730953,42.82785615878869 -306.322,2024/05/28 15:42:01.1759,36.228287730953,42.82785615878869 -306.568,2024/05/28 15:42:01.4219,36.228287730953,42.82785615878869 -306.715,2024/05/28 15:42:01.5689,36.228287730953,42.82785615878869 -306.814,2024/05/28 15:42:01.6679,36.228287730953,42.82785615878869 -307.061,2024/05/28 15:42:01.9149,36.228287730953,42.82785615878869 -307.307,2024/05/28 15:42:02.1609,36.228287730953,42.82785615878869 -307.454,2024/05/28 15:42:02.3079,36.228287730953,42.82785615878869 -307.553,2024/05/28 15:42:02.4069,36.228287730953,42.82785615878869 -307.8,2024/05/28 15:42:02.6539,36.228287730953,42.82785615878869 -308.046,2024/05/28 15:42:02.8999,36.228287730953,42.82785615878869 -308.193,2024/05/28 15:42:03.0469,36.228287730953,42.82785615878869 -308.292,2024/05/28 15:42:03.1459,36.228287730953,42.82785615878869 -308.539,2024/05/28 15:42:03.3929,36.228287730953,42.82785615878869 -308.785,2024/05/28 15:42:03.6389,36.228287730953,42.82785615878869 -308.933,2024/05/28 15:42:03.7869,36.228287730953,42.82785615878869 -309.031,2024/05/28 15:42:03.8849,36.228287730953,42.82785615878869 -309.671,2024/05/28 15:42:04.5249,36.228287730953,42.82785615878869 -309.77,2024/05/28 15:42:04.6239,36.228287730953,42.82785615878869 -310.017,2024/05/28 15:42:04.8709,36.228287730953,42.82785615878869 -310.163,2024/05/28 15:42:05.0169,36.228287730953,42.82785615878869 -310.263,2024/05/28 15:42:05.1169,36.228287730953,42.82785615878869 -310.508,2024/05/28 15:42:05.3619,36.228287730953,42.82785615878869 -310.902,2024/05/28 15:42:05.7559,36.228287730953,42.82785615878869 -311.247,2024/05/28 15:42:06.1009,36.228287730953,42.82785615878869 -311.494,2024/05/28 15:42:06.3479,36.228287730953,42.82785615878869 -311.641,2024/05/28 15:42:06.4949,36.228287730953,42.82785615878869 -311.74,2024/05/28 15:42:06.5939,36.228287730953,42.82785615878869 -311.986,2024/05/28 15:42:06.8399,36.228287730953,42.82785615878869 -312.233,2024/05/28 15:42:07.0869,36.228287730953,42.82785615878869 -312.379,2024/05/28 15:42:07.2329,36.228287730953,42.82785615878869 -312.479,2024/05/28 15:42:07.3329,36.228287730953,42.82785615878869 -312.726,2024/05/28 15:42:07.5799,36.228287730953,42.82785615878869 -312.972,2024/05/28 15:42:07.8259,36.228287730953,42.82785615878869 -313.119,2024/05/28 15:42:07.9729,36.228287730953,42.82785615878869 -313.217,2024/05/28 15:42:08.0709,36.228287730953,42.82785615878869 -313.464,2024/05/28 15:42:08.3179,36.228287730953,42.82785615878869 -313.611,2024/05/28 15:42:08.4649,36.228287730953,42.82785615878869 -313.71,2024/05/28 15:42:08.5639,36.228287730953,42.82785615878869 -313.956,2024/05/28 15:42:08.8099,36.228287730953,42.82785615878869 -314.203,2024/05/28 15:42:09.0569,36.228287730953,42.82785615878869 -314.35,2024/05/28 15:42:09.2039,36.228287730953,42.82785615878869 -314.449,2024/05/28 15:42:09.3029,36.228287730953,42.82785615878869 -314.695,2024/05/28 15:42:09.5489,36.228287730953,42.82785615878869 -314.843,2024/05/28 15:42:09.6969,36.228287730953,42.82785615878869 -314.942,2024/05/28 15:42:09.7959,36.228287730953,42.82785615878869 -315.188,2024/05/28 15:42:10.0419,36.228287730953,42.82785615878869 -315.434,2024/05/28 15:42:10.2879,36.228287730953,42.82785615878869 -315.583,2024/05/28 15:42:10.4369,36.228287730953,42.82785615878869 -315.681,2024/05/28 15:42:10.5349,36.228287730953,42.82785615878869 -315.927,2024/05/28 15:42:10.7809,36.228287730953,42.82785615878869 -316.074,2024/05/28 15:42:10.9279,36.228287730953,42.82785615878869 -316.173,2024/05/28 15:42:11.0269,36.228287730953,42.82785615878869 -316.42,2024/05/28 15:42:11.2739,36.228287730953,42.82785615878869 -316.666,2024/05/28 15:42:11.5199,36.228287730953,42.82785615878869 -316.813,2024/05/28 15:42:11.6669,36.228287730953,42.82785615878869 -316.912,2024/05/28 15:42:11.7659,36.228287730953,42.82785615878869 -317.159,2024/05/28 15:42:12.0129,36.228287730953,42.82785615878869 -317.305,2024/05/28 15:42:12.1589,36.228287730953,42.82785615878869 -317.404,2024/05/28 15:42:12.2579,36.228287730953,42.82785615878869 -317.65,2024/05/28 15:42:12.5039,36.228287730953,42.82785615878869 -317.897,2024/05/28 15:42:12.7509,36.228287730953,42.82785615878869 -318.044,2024/05/28 15:42:12.8979,36.228287730953,42.82785615878869 -318.143,2024/05/28 15:42:12.9969,36.228287730953,42.82785615878869 -318.389,2024/05/28 15:42:13.2429,36.228287730953,42.82785615878869 -318.636,2024/05/28 15:42:13.4899,36.228287730953,42.82785615878869 -318.882,2024/05/28 15:42:13.7359,36.228287730953,42.82785615878869 -319.029,2024/05/28 15:42:13.8829,36.228287730953,42.82785615878869 -319.129,2024/05/28 15:42:13.9829,36.228287730953,42.82785615878869 -319.375,2024/05/28 15:42:14.2289,36.228287730953,42.82785615878869 -319.768,2024/05/28 15:42:14.6219,36.228287730953,42.82785615878869 -320.507,2024/05/28 15:42:15.3609,36.228287730953,42.82785615878869 -320.606,2024/05/28 15:42:15.4599,36.228287730953,42.82785615878869 -321.246,2024/05/28 15:42:16.0999,36.228287730953,42.82785615878869 -321.344,2024/05/28 15:42:16.1979,36.228287730953,42.82785615878869 -321.591,2024/05/28 15:42:16.4449,36.228287730953,42.82785615878869 -321.837,2024/05/28 15:42:16.6909,36.228287730953,42.82785615878869 -321.985,2024/05/28 15:42:16.8389,36.228287730953,42.82785615878869 -322.083,2024/05/28 15:42:16.9369,36.228287730953,42.82785615878869 -322.724,2024/05/28 15:42:17.5779,36.228287730953,42.82785615878869 -322.822,2024/05/28 15:42:17.6759,36.228287730953,42.82785615878869 -323.069,2024/05/28 15:42:17.9229,36.228287730953,42.82785615878869 -323.215,2024/05/28 15:42:18.0689,36.228287730953,42.82785615878869 -323.315,2024/05/28 15:42:18.1689,36.228287730953,42.82785615878869 -323.561,2024/05/28 15:42:18.4149,36.228287730953,42.82785615878869 -323.955,2024/05/28 15:42:18.8089,36.228287730953,42.82785615878869 -324.301,2024/05/28 15:42:19.1549,36.228287730953,42.82785615878869 -324.548,2024/05/28 15:42:19.4019,36.228287730953,42.82785615878869 -324.694,2024/05/28 15:42:19.5479,36.228287730953,42.82785615878869 -324.792,2024/05/28 15:42:19.6459,36.228287730953,42.82785615878869 -325.039,2024/05/28 15:42:19.8929,36.228287730953,42.82785615878869 -325.186,2024/05/28 15:42:20.0399,36.228287730953,42.82785615878869 -325.285,2024/05/28 15:42:20.1389,36.228287730953,42.82785615878869 -325.531,2024/05/28 15:42:20.3849,36.228287730953,42.82785615878869 -325.778,2024/05/28 15:42:20.6319,36.228287730953,42.82785615878869 -325.925,2024/05/28 15:42:20.7789,36.228287730953,42.82785615878869 -326.024,2024/05/28 15:42:20.8779,36.228287730953,42.82785615878869 -326.27,2024/05/28 15:42:21.1239,36.228287730953,42.82785615878869 -326.517,2024/05/28 15:42:21.3709,36.228287730953,42.82785615878869 -326.663,2024/05/28 15:42:21.5169,36.228287730953,42.82785615878869 -326.763,2024/05/28 15:42:21.6169,36.228287730953,42.82785615878869 -327.009,2024/05/28 15:42:21.8629,36.228287730953,42.82785615878869 -327.156,2024/05/28 15:42:22.0099,36.228287730953,42.82785615878869 -327.256,2024/05/28 15:42:22.1099,36.228287730953,42.82785615878869 -327.895,2024/05/28 15:42:22.7489,36.228287730953,42.82785615878869 -327.995,2024/05/28 15:42:22.8489,36.228287730953,42.82785615878869 -328.24,2024/05/28 15:42:23.0939,36.228287730953,42.82785615878869 -328.487,2024/05/28 15:42:23.3409,36.228287730953,42.82785615878869 -328.733,2024/05/28 15:42:23.5869,36.228287730953,42.82785615878869 -328.88,2024/05/28 15:42:23.7339,36.228287730953,42.82785615878869 -328.979,2024/05/28 15:42:23.8329,36.228287730953,42.82785615878869 -329.127,2024/05/28 15:42:23.9809,36.228287730953,42.82785615878869 -329.226,2024/05/28 15:42:24.0799,36.228287730953,42.82785615878869 -329.865,2024/05/28 15:42:24.7189,36.228287730953,42.82785615878869 -329.965,2024/05/28 15:42:24.8189,36.228287730953,42.82785615878869 -330.358,2024/05/28 15:42:25.2119,36.228287730953,42.82785615878869 -330.704,2024/05/28 15:42:25.5579,36.228287730953,42.82785615878869 -330.95,2024/05/28 15:42:25.8039,36.228287730953,42.82785615878869 -331.097,2024/05/28 15:42:25.9509,36.228287730953,42.82785615878869 -331.195,2024/05/28 15:42:26.0489,36.228287730953,42.82785615878869 -331.443,2024/05/28 15:42:26.2969,36.228287730953,42.82785615878869 -331.589,2024/05/28 15:42:26.4429,36.228287730953,42.82785615878869 -331.688,2024/05/28 15:42:26.5419,36.228287730953,42.82785615878869 -331.934,2024/05/28 15:42:26.7879,36.228287730953,42.82785615878869 -332.181,2024/05/28 15:42:27.0349,36.228287730953,42.82785615878869 -332.328,2024/05/28 15:42:27.1819,36.228287730953,42.82785615878869 -332.427,2024/05/28 15:42:27.2809,36.228287730953,42.82785615878869 -332.674,2024/05/28 15:42:27.5279,36.228287730953,42.82785615878869 -332.92,2024/05/28 15:42:27.7739,36.228287730953,42.82785615878869 -333.067,2024/05/28 15:42:27.9209,36.228287730953,42.82785615878869 -333.166,2024/05/28 15:42:28.0199,36.228287730953,42.82785615878869 -333.413,2024/05/28 15:42:28.2669,36.228287730953,42.82785615878869 -333.561,2024/05/28 15:42:28.4149,36.228287730953,42.82785615878869 -333.659,2024/05/28 15:42:28.5129,36.228287730953,42.82785615878869 -333.904,2024/05/28 15:42:28.7579,36.228287730953,42.82785615878869 -334.151,2024/05/28 15:42:29.0049,36.228287730953,42.82785615878869 -334.298,2024/05/28 15:42:29.1519,36.228287730953,42.82785615878869 -334.397,2024/05/28 15:42:29.2509,36.228287730953,42.82785615878869 -334.644,2024/05/28 15:42:29.4979,36.228287730953,42.82785615878869 -334.89,2024/05/28 15:42:29.7439,36.228287730953,42.82785615878869 -335.037,2024/05/28 15:42:29.8909,36.228287730953,42.82785615878869 -335.136,2024/05/28 15:42:29.9899,36.228287730953,42.82785615878869 -335.382,2024/05/28 15:42:30.2359,36.228287730953,42.82785615878869 -335.53,2024/05/28 15:42:30.3839,36.228287730953,42.82785615878869 -335.628,2024/05/28 15:42:30.4819,36.228287730953,42.82785615878869 -335.875,2024/05/28 15:42:30.7289,36.228287730953,42.82785615878869 -336.121,2024/05/28 15:42:30.9749,36.228287730953,42.82785615878869 -336.269,2024/05/28 15:42:31.1229,36.228287730953,42.82785615878869 -336.367,2024/05/28 15:42:31.2209,36.228287730953,42.82785615878869 -336.614,2024/05/28 15:42:31.4679,36.228287730953,42.82785615878869 -336.86,2024/05/28 15:42:31.7139,36.228287730953,42.82785615878869 -337.007,2024/05/28 15:42:31.8609,36.228287730953,42.82785615878869 -337.106,2024/05/28 15:42:31.9599,36.228287730953,42.82785615878869 -337.353,2024/05/28 15:42:32.2069,36.228287730953,42.82785615878869 -337.499,2024/05/28 15:42:32.3529,36.228287730953,42.82785615878869 -337.599,2024/05/28 15:42:32.4529,36.228287730953,42.82785615878869 -337.846,2024/05/28 15:42:32.6999,36.228287730953,42.82785615878869 -338.092,2024/05/28 15:42:32.9459,36.228287730953,42.82785615878869 -338.239,2024/05/28 15:42:33.0929,36.228287730953,42.82785615878869 -338.338,2024/05/28 15:42:33.1919,36.228287730953,42.82785615878869 -338.584,2024/05/28 15:42:33.4379,36.228287730953,42.82785615878869 -338.83,2024/05/28 15:42:33.6839,36.228287730953,42.82785615878869 -338.978,2024/05/28 15:42:33.8319,36.228287730953,42.82785615878869 -339.469,2024/05/28 15:42:34.3229,36.228287730953,42.82785615878869 -339.569,2024/05/28 15:42:34.4229,36.228287730953,42.82785615878869 -339.816,2024/05/28 15:42:34.6699,36.228287730953,42.82785615878869 -340.062,2024/05/28 15:42:34.9159,36.228287730953,42.82785615878869 -340.209,2024/05/28 15:42:35.0629,36.228287730953,42.82785615878869 -340.308,2024/05/28 15:42:35.1619,36.228287730953,42.82785615878869 -340.948,2024/05/28 15:42:35.8019,36.228287730953,42.82785615878869 -341.047,2024/05/28 15:42:35.9009,36.228287730953,42.82785615878869 -341.293,2024/05/28 15:42:36.1469,36.228287730953,42.82785615878869 -341.44,2024/05/28 15:42:36.2939,36.228287730953,42.82785615878869 -341.539,2024/05/28 15:42:36.3929,36.228287730953,42.82785615878869 -341.785,2024/05/28 15:42:36.6389,36.228287730953,42.82785615878869 -341.933,2024/05/28 15:42:36.7869,36.228287730953,42.82785615878869 -342.032,2024/05/28 15:42:36.8859,36.228287730953,42.82785615878869 -342.278,2024/05/28 15:42:37.1319,36.228287730953,42.82785615878869 -342.524,2024/05/28 15:42:37.3779,36.228287730953,42.82785615878869 -342.671,2024/05/28 15:42:37.5249,36.228287730953,42.82785615878869 -342.771,2024/05/28 15:42:37.6249,36.228287730953,42.82785615878869 -343.017,2024/05/28 15:42:37.8709,36.228287730953,42.82785615878869 -343.263,2024/05/28 15:42:38.1169,36.228287730953,42.82785615878869 -343.41,2024/05/28 15:42:38.2639,36.228287730953,42.82785615878869 -343.51,2024/05/28 15:42:38.3639,36.228287730953,42.82785615878869 -343.756,2024/05/28 15:42:38.6099,36.228287730953,42.82785615878869 -343.903,2024/05/28 15:42:38.7569,36.228287730953,42.82785615878869 -344.002,2024/05/28 15:42:38.8559,36.228287730953,42.82785615878869 -344.249,2024/05/28 15:42:39.1029,36.228287730953,42.82785615878869 -344.495,2024/05/28 15:42:39.3489,36.228287730953,42.82785615878869 -344.642,2024/05/28 15:42:39.4959,36.228287730953,42.82785615878869 -344.74,2024/05/28 15:42:39.5939,36.228287730953,42.82785615878869 -344.988,2024/05/28 15:42:39.8419,36.228287730953,42.82785615878869 -345.233,2024/05/28 15:42:40.0869,36.228287730953,42.82785615878869 -345.381,2024/05/28 15:42:40.2349,36.228287730953,42.82785615878869 -345.479,2024/05/28 15:42:40.3329,36.228287730953,42.82785615878869 -345.726,2024/05/28 15:42:40.5799,36.228287730953,42.82785615878869 -345.872,2024/05/28 15:42:40.7259,36.228287730953,42.82785615878869 -345.972,2024/05/28 15:42:40.8259,36.228287730953,42.82785615878869 -346.612,2024/05/28 15:42:41.4659,36.228287730953,42.82785615878869 -346.958,2024/05/28 15:42:41.8119,36.228287730953,42.82785615878869 -347.104,2024/05/28 15:42:41.9579,36.228287730953,42.82785615878869 -347.204,2024/05/28 15:42:42.0579,36.228287730953,42.82785615878869 -347.843,2024/05/28 15:42:42.6969,36.228287730953,42.82785615878869 -347.943,2024/05/28 15:42:42.7969,36.228287730953,42.82785615878869 -348.188,2024/05/28 15:42:43.0419,36.228287730953,42.82785615878869 -348.336,2024/05/28 15:42:43.1899,36.228287730953,42.82785615878869 -348.436,2024/05/28 15:42:43.2899,36.228287730953,42.82785615878869 -348.681,2024/05/28 15:42:43.5349,36.228287730953,42.82785615878869 -348.928,2024/05/28 15:42:43.7819,36.228287730953,42.82785615878869 -349.074,2024/05/28 15:42:43.9279,36.228287730953,42.82785615878869 -349.174,2024/05/28 15:42:44.0279,36.228287730953,42.82785615878869 -349.567,2024/05/28 15:42:44.4209,36.228287730953,42.82785615878869 -349.913,2024/05/28 15:42:44.7669,36.228287730953,42.82785615878869 -350.16,2024/05/28 15:42:45.0139,36.228287730953,42.82785615878869 -350.306,2024/05/28 15:42:45.1599,36.228287730953,42.82785615878869 -350.405,2024/05/28 15:42:45.2589,36.228287730953,42.82785615878869 -350.651,2024/05/28 15:42:45.5049,36.228287730953,42.82785615878869 -350.799,2024/05/28 15:42:45.6529,36.228287730953,42.82785615878869 -350.897,2024/05/28 15:42:45.7509,36.228287730953,42.82785615878869 -351.144,2024/05/28 15:42:45.9979,36.228287730953,42.82785615878869 -351.29,2024/05/28 15:42:46.1439,36.228287730953,42.82785615878869 -351.39,2024/05/28 15:42:46.2439,36.228287730953,42.82785615878869 -351.637,2024/05/28 15:42:46.4909,36.228287730953,42.82785615878869 -351.883,2024/05/28 15:42:46.7369,36.228287730953,42.82785615878869 -352.029,2024/05/28 15:42:46.8829,36.228287730953,42.82785615878869 -352.522,2024/05/28 15:42:47.3759,36.228287730953,42.82785615878869 -352.622,2024/05/28 15:42:47.4759,36.228287730953,42.82785615878869 -352.868,2024/05/28 15:42:47.7219,36.228287730953,42.82785615878869 -353.115,2024/05/28 15:42:47.9689,36.228287730953,42.82785615878869 -353.261,2024/05/28 15:42:48.1149,36.228287730953,42.82785615878869 -353.361,2024/05/28 15:42:48.2149,36.228287730953,42.82785615878869 -353.607,2024/05/28 15:42:48.4609,36.228287730953,42.82785615878869 -353.753,2024/05/28 15:42:48.6069,36.228287730953,42.82785615878869 -354.346,2024/05/28 15:42:49.1999,36.228287730953,42.82785615878869 -354.592,2024/05/28 15:42:49.4459,36.228287730953,42.82785615878869 -354.739,2024/05/28 15:42:49.5929,36.228287730953,42.82785615878869 -354.985,2024/05/28 15:42:49.8389,36.228287730953,42.82785615878869 -355.33,2024/05/28 15:42:50.1839,36.228287730953,42.82785615878869 -355.577,2024/05/28 15:42:50.4309,36.228287730953,42.82785615878869 -355.723,2024/05/28 15:42:50.5769,36.228287730953,42.82785615878869 -356.216,2024/05/28 15:42:51.0699,36.228287730953,42.82785615878869 -356.316,2024/05/28 15:42:51.1699,36.228287730953,42.82785615878869 -356.562,2024/05/28 15:42:51.4159,36.228287730953,42.82785615878869 -356.709,2024/05/28 15:42:51.5629,36.228287730953,42.82785615878869 -356.809,2024/05/28 15:42:51.6629,36.228287730953,42.82785615878869 -357.055,2024/05/28 15:42:51.9089,36.228287730953,42.82785615878869 -357.301,2024/05/28 15:42:52.1549,36.228287730953,42.82785615878869 -357.448,2024/05/28 15:42:52.3019,36.228287730953,42.82785615878869 -357.548,2024/05/28 15:42:52.4019,36.228287730953,42.82785615878869 -357.794,2024/05/28 15:42:52.6479,36.228287730953,42.82785615878869 -357.941,2024/05/28 15:42:52.7949,36.228287730953,42.82785615878869 -358.04,2024/05/28 15:42:52.8939,36.228287730953,42.82785615878869 -358.286,2024/05/28 15:42:53.1399,36.228287730953,42.82785615878869 -358.532,2024/05/28 15:42:53.3859,36.228287730953,42.82785615878869 -358.679,2024/05/28 15:42:53.5329,36.228287730953,42.82785615878869 -358.778,2024/05/28 15:42:53.6319,36.228287730953,42.82785615878869 -359.025,2024/05/28 15:42:53.8789,36.228287730953,42.82785615878869 -359.171,2024/05/28 15:42:54.0249,36.228287730953,42.82785615878869 -359.271,2024/05/28 15:42:54.1249,36.228287730953,42.82785615878869 -359.517,2024/05/28 15:42:54.3709,36.228287730953,42.82785615878869 -359.764,2024/05/28 15:42:54.6179,36.228287730953,42.82785615878869 -359.911,2024/05/28 15:42:54.7649,36.228287730953,42.82785615878869 -360.01,2024/05/28 15:42:54.8639,36.228287730953,42.82785615878869 -360.257,2024/05/28 15:42:55.1109,36.228287730953,42.82785615878869 -360.403,2024/05/28 15:42:55.2569,36.228287730953,42.82785615878869 -360.503,2024/05/28 15:42:55.3569,36.228287730953,42.82785615878869 -360.749,2024/05/28 15:42:55.6029,36.228287730953,42.82785615878869 -360.996,2024/05/28 15:42:55.8499,36.228287730953,42.82785615878869 -361.141,2024/05/28 15:42:55.9949,36.228287730953,42.82785615878869 -361.241,2024/05/28 15:42:56.0949,36.228287730953,42.82785615878869 -361.634,2024/05/28 15:42:56.4879,36.228287730953,42.82785615878869 -361.98,2024/05/28 15:42:56.8339,36.228287730953,42.82785615878869 -362.619,2024/05/28 15:42:57.4729,36.228287730953,42.82785615878869 -362.719,2024/05/28 15:42:57.5729,36.228287730953,42.82785615878869 -362.866,2024/05/28 15:42:57.7199,36.228287730953,42.82785615878869 -362.965,2024/05/28 15:42:57.8189,36.228287730953,42.82785615878869 -363.212,2024/05/28 15:42:58.0659,36.228287730953,42.82785615878869 -363.458,2024/05/28 15:42:58.3119,36.228287730953,42.82785615878869 -363.605,2024/05/28 15:42:58.4589,36.228287730953,42.82785615878869 -363.704,2024/05/28 15:42:58.5579,36.228287730953,42.82785615878869 -363.951,2024/05/28 15:42:58.8049,36.228287730953,42.82785615878869 -364.096,2024/05/28 15:42:58.9499,36.228287730953,42.82785615878869 -364.197,2024/05/28 15:42:59.0509,36.228287730953,42.82785615878869 -364.443,2024/05/28 15:42:59.2969,36.228287730953,42.82785615878869 -364.589,2024/05/28 15:42:59.4429,36.228287730953,42.82785615878869 -364.689,2024/05/28 15:42:59.5429,36.228287730953,42.82785615878869 -364.935,2024/05/28 15:42:59.7889,36.228287730953,42.82785615878869 -365.328,2024/05/28 15:43:00.1819,36.228287730953,42.82785615878869 -365.674,2024/05/28 15:43:00.5279,36.228287730953,42.82785615878869 -365.821,2024/05/28 15:43:00.6749,36.228287730953,42.82785615878869 -365.921,2024/05/28 15:43:00.7749,36.228287730953,42.82785615878869 -366.167,2024/05/28 15:43:01.0209,36.228287730953,42.82785615878869 -366.413,2024/05/28 15:43:01.2669,36.228287730953,42.82785615878869 -366.56,2024/05/28 15:43:01.4139,36.228287730953,42.82785615878869 -366.66,2024/05/28 15:43:01.5139,36.228287730953,42.82785615878869 -366.906,2024/05/28 15:43:01.7599,36.228287730953,42.82785615878869 -367.053,2024/05/28 15:43:01.9069,36.228287730953,42.82785615878869 -367.152,2024/05/28 15:43:02.0059,36.228287730953,42.82785615878869 -367.398,2024/05/28 15:43:02.2519,36.228287730953,42.82785615878869 -367.644,2024/05/28 15:43:02.4979,36.228287730953,42.82785615878869 -367.791,2024/05/28 15:43:02.6449,36.228287730953,42.82785615878869 -367.891,2024/05/28 15:43:02.7449,36.228287730953,42.82785615878869 -368.284,2024/05/28 15:43:03.1379,36.228287730953,42.82785615878869 -368.63,2024/05/28 15:43:03.4839,36.228287730953,42.82785615878869 -369.023,2024/05/28 15:43:03.8769,36.228287730953,42.82785615878869 -369.369,2024/05/28 15:43:04.2229,36.228287730953,42.82785615878869 -369.515,2024/05/28 15:43:04.3689,36.228287730953,42.82785615878869 -369.615,2024/05/28 15:43:04.4689,36.228287730953,42.82785615878869 -369.861,2024/05/28 15:43:04.7149,36.228287730953,42.82785615878869 -370.007,2024/05/28 15:43:04.8609,36.228287730953,42.82785615878869 -370.108,2024/05/28 15:43:04.9619,36.228287730953,42.82785615878869 -370.353,2024/05/28 15:43:05.2069,36.228287730953,42.82785615878869 -370.6,2024/05/28 15:43:05.4539,36.228287730953,42.82785615878869 -370.746,2024/05/28 15:43:05.5999,36.228287730953,42.82785615878869 -371.239,2024/05/28 15:43:06.0929,36.228287730953,42.82785615878869 -371.339,2024/05/28 15:43:06.1929,36.228287730953,42.82785615878869 -371.585,2024/05/28 15:43:06.4389,36.228287730953,42.82785615878869 -371.732,2024/05/28 15:43:06.5859,36.228287730953,42.82785615878869 -371.831,2024/05/28 15:43:06.6849,36.228287730953,42.82785615878869 -372.078,2024/05/28 15:43:06.9319,36.228287730953,42.82785615878869 -372.324,2024/05/28 15:43:07.1779,36.228287730953,42.82785615878869 -372.571,2024/05/28 15:43:07.4249,36.228287730953,42.82785615878869 -372.716,2024/05/28 15:43:07.5699,36.228287730953,42.82785615878869 -372.816,2024/05/28 15:43:07.6699,36.228287730953,42.82785615878869 -372.963,2024/05/28 15:43:07.8169,36.228287730953,42.82785615878869 -373.062,2024/05/28 15:43:07.9159,36.228287730953,42.82785615878869 -373.309,2024/05/28 15:43:08.1629,36.228287730953,42.82785615878869 -373.455,2024/05/28 15:43:08.3089,36.228287730953,42.82785615878869 -373.555,2024/05/28 15:43:08.4089,36.228287730953,42.82785615878869 -374.194,2024/05/28 15:43:09.0479,36.228287730953,42.82785615878869 -374.294,2024/05/28 15:43:09.1479,36.228287730953,42.82785615878869 -374.54,2024/05/28 15:43:09.3939,36.228287730953,42.82785615878869 -374.686,2024/05/28 15:43:09.5399,36.228287730953,42.82785615878869 -374.787,2024/05/28 15:43:09.6409,36.228287730953,42.82785615878869 -375.033,2024/05/28 15:43:09.8869,36.228287730953,42.82785615878869 -375.28,2024/05/28 15:43:10.1339,36.228287730953,42.82785615878869 -375.425,2024/05/28 15:43:10.2789,36.228287730953,42.82785615878869 +0.001,2024/05/28 15:36:54.8549,, +0.001,2024/05/28 15:36:54.8549,, +0.202,2024/05/28 15:36:55.0559,, +0.354,2024/05/28 15:36:55.2079,, +0.448,2024/05/28 15:36:55.3019,, +0.695,2024/05/28 15:36:55.5489,, +0.941,2024/05/28 15:36:55.7949,, +1.093,2024/05/28 15:36:55.9469,, +1.186,2024/05/28 15:36:56.0399,, +1.584,2024/05/28 15:36:56.4379,28.721072403376567, +1.926,2024/05/28 15:36:56.7799,27.887110088550024,47.985414450643226 +2.323,2024/05/28 15:36:57.1769,28.06324027166951,48.078534238737504 +2.665,2024/05/28 15:36:57.5189,27.463495584932176,48.155996511338024 +2.911,2024/05/28 15:36:57.7649,26.866376715184305,46.266784896028646 +3.063,2024/05/28 15:36:57.9169,25.914327715616714,44.96983115696249 +3.157,2024/05/28 15:36:58.0109,25.430952269495005,43.81476159165234 +3.404,2024/05/28 15:36:58.2579,24.956285309929207,42.42346049062947 +3.555,2024/05/28 15:36:58.4089,24.49463059743044,41.15680202519599 +3.65,2024/05/28 15:36:58.5039,24.048318806662994,39.99722212576491 +3.895,2024/05/28 15:36:58.7489,23.61845843714973,38.93043728714617 +4.142,2024/05/28 15:36:58.9959,23.062750837453827,37.97696670351649 +4.294,2024/05/28 15:36:59.1479,23.46301316994449,37.46109092556346 +4.388,2024/05/28 15:36:59.2419,22.94433890411831,36.98586953762944 +4.786,2024/05/28 15:36:59.6399,22.52325690146247,36.18791535017324 +5.525,2024/05/28 15:37:00.3789,22.12103071739654,35.61600763701625 +5.62,2024/05/28 15:37:00.4739,21.691579365841868,34.993142185291106 +5.867,2024/05/28 15:37:00.7209,21.28620595837984,34.313599008601194 +6.113,2024/05/28 15:37:00.9669,20.902741522934367,33.672166767447784 +6.263,2024/05/28 15:37:01.1169,20.71510954706248,33.259799844771855 +6.358,2024/05/28 15:37:01.2119,20.371266670168733,32.87122208527256 +6.605,2024/05/28 15:37:01.4589,20.062116183172883,32.31872522238462 +6.756,2024/05/28 15:37:01.6099,20.09414622828447,31.867956738182425 +6.851,2024/05/28 15:37:01.7049,19.991981151072256,31.698054619592455 +7.097,2024/05/28 15:37:01.9509,18.75335985222722,30.444484995917843 +7.344,2024/05/28 15:37:02.1979,18.650567770470705,29.100400913618586 +7.495,2024/05/28 15:37:02.3489,18.65648326496965,29.146755108130534 +7.59,2024/05/28 15:37:02.4439,18.51687642783411,29.193035699175468 +7.836,2024/05/28 15:37:02.6899,16.028853294326325,26.909106265351884 +7.988,2024/05/28 15:37:02.8419,15.946209869288788,24.423349483639626 +8.083,2024/05/28 15:37:02.9369,12.57090236247576,21.459263733874934 +8.329,2024/05/28 15:37:03.1829,12.448930157606606,17.99907405025788 +8.481,2024/05/28 15:37:03.3349,11.484572360295026,16.22138506211271 +8.575,2024/05/28 15:37:03.4289,11.343335680822353,14.223220451079285 +8.822,2024/05/28 15:37:03.6759,11.177203812111157,14.223220451079285 +9.068,2024/05/28 15:37:03.9219,11.01952290516574,13.644290625263984 +9.22,2024/05/28 15:37:04.0739,15.588862809010795,16.797817318528818 +9.314,2024/05/28 15:37:04.1679,15.377846433084798,19.856988694160048 +9.561,2024/05/28 15:37:04.4149,15.146829264952036,19.856988694160048 +9.711,2024/05/28 15:37:04.5649,21.765970487537732,25.42833065696606 +9.807,2024/05/28 15:37:04.6609,21.509794614728694,29.98166106138884 +10.052,2024/05/28 15:37:04.9059,21.412103140969954,29.954409803343925 +10.299,2024/05/28 15:37:05.1529,20.277528471673627,29.6046167570758 +10.45,2024/05/28 15:37:05.3039,26.659711736720805,34.5779313050005 +10.545,2024/05/28 15:37:05.3989,26.403173790415572,39.176949004910185 +10.697,2024/05/28 15:37:05.5509,31.679084074765807,43.49176167199178 +11.284,2024/05/28 15:37:06.1379,31.536240783558988,47.469990520327684 +11.436,2024/05/28 15:37:06.2899,35.41642258198494,51.12664015299004 +11.531,2024/05/28 15:37:06.3849,35.2574276840574,54.538671295390635 +11.777,2024/05/28 15:37:06.6309,35.37360532972253,54.42824021896476 +11.929,2024/05/28 15:37:06.7829,38.287193621396206,57.36229888466233 +12.023,2024/05/28 15:37:06.8769,38.11460334971007,60.25335398686671 +12.27,2024/05/28 15:37:07.1239,38.28455166972323,60.09381554425269 +12.421,2024/05/28 15:37:07.2749,40.360857901866915,62.444108342314145 +12.516,2024/05/28 15:37:07.3699,40.360857901866915,64.84083075758154 +12.762,2024/05/28 15:37:07.6159,40.360857901866915,64.84083075758154 +12.913,2024/05/28 15:37:07.7669,41.8130073805613,66.65183168275772 +13.008,2024/05/28 15:37:07.8619,41.8130073805613,68.41491065549965 +13.254,2024/05/28 15:37:08.1079,41.8130073805613,68.41491065549965 +13.501,2024/05/28 15:37:08.3549,41.890236977402814,68.41101275866822 +13.652,2024/05/28 15:37:08.5059,58.18835843595548,82.13545722362136 +14.145,2024/05/28 15:37:08.9989,59.26779280830175,97.23031077464132 +14.24,2024/05/28 15:37:09.0939,59.5473345958594,97.35365084748149 +14.638,2024/05/28 15:37:09.4919,59.52015016666235,97.95441116492236 +15.376,2024/05/28 15:37:10.2299,60.02378838771971,98.06936320788465 +15.471,2024/05/28 15:37:10.3249,60.02378838771971,99.43641184194048 +15.717,2024/05/28 15:37:10.5709,60.251045681772965,98.87095967303375 +15.868,2024/05/28 15:37:10.7219,60.8814185645895,99.85255797090694 +15.963,2024/05/28 15:37:10.8169,60.8814185645895,101.37915630608362 +16.21,2024/05/28 15:37:11.0639,60.54128447957432,100.12708591252085 +16.361,2024/05/28 15:37:11.2149,61.50365842777127,100.73562759355136 +16.456,2024/05/28 15:37:11.3099,61.50365842777127,102.57777537069128 +16.702,2024/05/28 15:37:11.5559,61.4822280648323,102.57793784890265 +16.854,2024/05/28 15:37:11.7079,61.93864223809568,102.95792020691431 +16.949,2024/05/28 15:37:11.8029,61.93864223809568,103.37278816658343 +17.195,2024/05/28 15:37:12.0489,61.04858626583777,101.57968957096361 +17.346,2024/05/28 15:37:12.1999,62.458639187828624,102.05423394777243 +17.838,2024/05/28 15:37:12.6919,63.09289811938747,100.27296079535432 +17.933,2024/05/28 15:37:12.7869,63.09289811938747,100.8669090105042 +18.18,2024/05/28 15:37:13.0339,63.2848422955116,100.87748344733163 +18.426,2024/05/28 15:37:13.2799,62.77897737300252,99.17778649139802 +18.578,2024/05/28 15:37:13.4319,63.95149023633643,99.96165931662667 +18.672,2024/05/28 15:37:13.5259,64.14043500241333,102.41321529307957 +18.919,2024/05/28 15:37:13.7729,63.804082310932046,100.9022629412575 +19.07,2024/05/28 15:37:13.9239,64.76394803837394,101.63841137417815 +19.165,2024/05/28 15:37:14.0189,64.95010463389556,103.85887861259944 +19.411,2024/05/28 15:37:14.2649,64.92952855335453,102.69290790182804 +19.563,2024/05/28 15:37:14.4169,65.46053474571806,103.30779254247959 +19.658,2024/05/28 15:37:14.5119,65.64415566075743,105.07140429250958 +19.904,2024/05/28 15:37:14.7579,65.8261468505894,105.07140429250958 +20.056,2024/05/28 15:37:14.9099,53.77342846792795,96.54066500703215 +20.15,2024/05/28 15:37:15.0039,52.748590437123624,83.4230184061929 +20.396,2024/05/28 15:37:15.2499,52.95146335337985,83.16369400164955 +20.642,2024/05/28 15:37:15.4959,53.210274697029114,82.33873126704508 +20.794,2024/05/28 15:37:15.6479,53.44525612529903,84.3662649799472 +20.889,2024/05/28 15:37:15.7429,53.632808624194794,84.9011189561127 +21.135,2024/05/28 15:37:15.9889,53.818340675864505,84.9011189561127 +21.287,2024/05/28 15:37:16.1409,53.77762855810302,85.1741353541868 +21.381,2024/05/28 15:37:16.2349,53.96112904930573,85.44627941968372 +21.628,2024/05/28 15:37:16.4819,54.14264896347032,85.44627941968372 +21.779,2024/05/28 15:37:16.6329,53.57431190926944,85.24415913519627 +21.874,2024/05/28 15:37:16.7279,53.75354572640659,85.04155846800238 +22.121,2024/05/28 15:37:16.9749,53.949966177697256,85.04136248516562 +22.367,2024/05/28 15:37:17.2209,52.05408328082311,82.54635061588125 +22.517,2024/05/28 15:37:17.3709,52.94834828591789,81.78691826936628 +22.613,2024/05/28 15:37:17.4669,53.120866303003545,83.60582116894334 +22.86,2024/05/28 15:37:17.7139,50.7733865485568,80.78242383092996 +23.01,2024/05/28 15:37:17.8639,48.55256660711055,82.25873813765928 +23.106,2024/05/28 15:37:17.9599,49.649761838045954,79.30447654451797 +23.351,2024/05/28 15:37:18.2049,50.3735015178852,79.2910251331553 +23.598,2024/05/28 15:37:18.4519,50.88779633754953,79.2910251331553 +23.749,2024/05/28 15:37:18.6029,48.884863557725495,76.21395322817645 +23.844,2024/05/28 15:37:18.6979,49.32054431931979,73.0073055705158 +24.242,2024/05/28 15:37:19.0959,48.68667121526128,73.48877465300399 +24.583,2024/05/28 15:37:19.4369,48.06442037252805,71.05514290558659 +24.829,2024/05/28 15:37:19.6829,48.593741614922905,67.7682324790409 +24.981,2024/05/28 15:37:19.8349,47.79116447941824,68.48162770651216 +25.076,2024/05/28 15:37:19.9299,47.96018463626662,66.62031722130018 +25.322,2024/05/28 15:37:20.1759,48.29470116813534,63.802560032232776 +25.473,2024/05/28 15:37:20.3269,47.37244215640587,65.10606730558989 +25.568,2024/05/28 15:37:20.4219,47.6370859102752,63.718390856434326 +25.815,2024/05/28 15:37:20.6689,47.569972659762186,60.93630554384909 +26.061,2024/05/28 15:37:20.9149,47.39888208585143,60.943142901122734 +26.212,2024/05/28 15:37:21.0659,46.775140759845826,63.515352474815096 +26.307,2024/05/28 15:37:21.1609,47.12279142054627,63.196518891470596 +26.553,2024/05/28 15:37:21.4069,46.5577011914229,60.27658472961675 +26.951,2024/05/28 15:37:21.8049,46.46181227631931,63.65060879520321 +27.292,2024/05/28 15:37:22.1459,46.80843818220607,64.15528037504005 +27.444,2024/05/28 15:37:22.2979,47.32786110507789,65.38195469699572 +27.538,2024/05/28 15:37:22.3919,46.436262088819554,69.19055812271883 +27.785,2024/05/28 15:37:22.6389,46.79926563919296,66.68807989438592 +28.031,2024/05/28 15:37:22.8849,45.53337793033867,64.08796038778786 +28.182,2024/05/28 15:37:23.0359,45.880416777510725,67.7293634007191 +28.277,2024/05/28 15:37:23.1309,44.26992700221599,71.18473619159283 +28.523,2024/05/28 15:37:23.3769,44.66503685480738,69.03936075408964 +28.769,2024/05/28 15:37:23.6229,42.60192645797785,66.82514496804328 +28.921,2024/05/28 15:37:23.7749,41.5770853113638,69.13199934424965 +29.016,2024/05/28 15:37:23.8699,41.85943912283199,69.43006073260582 +29.262,2024/05/28 15:37:24.1159,42.08229485460366,69.41061398182077 +29.508,2024/05/28 15:37:24.3619,42.297862775821365,69.41061398182077 +29.66,2024/05/28 15:37:24.5139,43.6920256276611,71.16436374103732 +30.153,2024/05/28 15:37:25.0069,45.18962600919038,71.04622908125855 +30.247,2024/05/28 15:37:25.1009,45.33285581222381,72.63929147965766 +30.494,2024/05/28 15:37:25.3479,45.106527804461194,72.15215404499946 +30.645,2024/05/28 15:37:25.4989,46.5778423963452,73.28983558447923 +30.74,2024/05/28 15:37:25.5939,46.5778423963452,75.10925375744323 +30.987,2024/05/28 15:37:25.8409,46.45241045178957,74.4593849021062 +31.232,2024/05/28 15:37:26.0859,46.26709066021809,73.68423621553437 +31.384,2024/05/28 15:37:26.2379,47.40484722293501,75.18975994109836 +31.478,2024/05/28 15:37:26.3319,46.941403923389124,75.56189515886959 +31.725,2024/05/28 15:37:26.5789,46.74612283387705,74.44169978356665 +31.876,2024/05/28 15:37:26.7299,47.30149082727398,75.53078842432402 +31.971,2024/05/28 15:37:26.8249,46.95300903532372,76.5989556064572 +32.218,2024/05/28 15:37:27.0719,45.60284574705627,74.50234895625775 +32.464,2024/05/28 15:37:27.3179,45.14707765392551,72.32196531252913 +32.711,2024/05/28 15:37:27.5649,44.66926995330061,72.32196531252913 +32.861,2024/05/28 15:37:27.7149,42.844492933311365,69.81379997297573 +32.957,2024/05/28 15:37:27.8109,42.352706219766596,67.21210208486762 +33.202,2024/05/28 15:37:28.0559,39.04527286795744,63.28454260981376 +33.354,2024/05/28 15:37:28.2079,39.294950101103325,59.82557981332066 +33.449,2024/05/28 15:37:28.3029,38.75429527547593,60.54585039455636 +33.695,2024/05/28 15:37:28.5489,38.1856475414631,60.54585039455636 +33.847,2024/05/28 15:37:28.7009,36.51497881912086,57.792156330537914 +33.942,2024/05/28 15:37:28.7959,35.91088907313373,54.90051608743461 +34.188,2024/05/28 15:37:29.0419,35.22414271327247,54.90810504834418 +34.585,2024/05/28 15:37:29.4389,36.92535184930994,56.91250594845858 +34.927,2024/05/28 15:37:29.7809,35.51365287083006,56.120703250523626 +35.173,2024/05/28 15:37:30.0269,34.93160805601773,53.54810921031666 +35.324,2024/05/28 15:37:30.1779,35.8759837063249,55.05209653894512 +35.419,2024/05/28 15:37:30.2729,35.19647644328802,56.51607440955773 +35.666,2024/05/28 15:37:30.5199,34.20474189079678,54.29119020000697 +35.817,2024/05/28 15:37:30.6709,34.20474189079678,55.56557687393638 +35.911,2024/05/28 15:37:30.7649,33.70964594719136,54.606165708034595 +36.158,2024/05/28 15:37:31.0119,33.19190110328894,54.606165708034595 +36.404,2024/05/28 15:37:31.2579,31.584296985873994,52.07526604188723 +36.556,2024/05/28 15:37:31.4099,32.16989740192707,50.614556535974245 +36.65,2024/05/28 15:37:31.5039,31.60176046310959,51.7864203564345 +36.897,2024/05/28 15:37:31.7509,31.229388605024262,51.77483301115836 +37.048,2024/05/28 15:37:31.9019,30.854199214942252,50.75923561284193 +37.143,2024/05/28 15:37:31.9969,30.468166918970372,49.72289881600496 +37.389,2024/05/28 15:37:32.2429,30.068580615483455,49.72289881600496 +37.636,2024/05/28 15:37:32.4899,29.28357195095633,48.05240195175818 +37.786,2024/05/28 15:37:32.6399,30.04519584065632,47.7283982551269 +37.882,2024/05/28 15:37:32.7359,29.933182294884624,49.060846575111874 +38.128,2024/05/28 15:37:32.9819,29.819784375978127,49.060846575111874 +38.279,2024/05/28 15:37:33.1329,30.32687818140588,50.114868053303304 +38.375,2024/05/28 15:37:33.2289,30.31103133662067,50.541072406509144 +38.621,2024/05/28 15:37:33.4749,30.193723181154308,49.9276142697272 +38.867,2024/05/28 15:37:33.7209,30.075002030363727,49.9276142697272 +39.018,2024/05/28 15:37:33.8719,30.01371334083293,49.70513051989704 +39.511,2024/05/28 15:37:34.3649,29.93519821136936,48.83065976754086 +39.606,2024/05/28 15:37:34.4599,29.80619391002896,49.3737447097814 +39.853,2024/05/28 15:37:34.7069,28.871992553735062,47.787376296814344 +40.098,2024/05/28 15:37:34.9519,28.871992553735062,46.15553415716617 +40.25,2024/05/28 15:37:35.1039,29.28425884484533,47.265561811252525 +40.345,2024/05/28 15:37:35.1989,27.112134111720085,45.982967861299834 +40.591,2024/05/28 15:37:35.4449,27.233009044340598,43.47758042945812 +40.837,2024/05/28 15:37:35.6909,27.352299279256396,43.47758042945812 +41.084,2024/05/28 15:37:35.9379,25.53899430057874,41.56681368592017 +41.234,2024/05/28 15:37:36.0879,26.96530337687372,41.24318125460256 +41.33,2024/05/28 15:37:36.1839,26.96530337687372,42.86645930483801 +41.481,2024/05/28 15:37:36.3349,28.02166649404332,43.703928122462095 +41.576,2024/05/28 15:37:36.4299,28.02166649404332,44.52564803945399 +41.823,2024/05/28 15:37:36.6769,28.02166649404332,44.52564803945399 +42.466,2024/05/28 15:37:37.3199,29.978613066305417,46.74754895535523 +42.562,2024/05/28 15:37:37.4159,29.152867014624082,47.62492344700759 +42.807,2024/05/28 15:37:37.6609,29.152867014624082,46.34795932221108 +42.959,2024/05/28 15:37:37.8129,30.226140015387895,47.843146496302545 +43.053,2024/05/28 15:37:37.9069,29.77965053869578,46.66369038128039 +43.3,2024/05/28 15:37:38.1539,30.04420115410721,45.3596737201669 +43.451,2024/05/28 15:37:38.3049,30.38112314708125,45.36885862938733 +43.546,2024/05/28 15:37:38.3999,30.42286269752737,45.38208163287944 +43.793,2024/05/28 15:37:38.6469,29.907539509966174,43.900645401482045 +43.943,2024/05/28 15:37:38.7969,30.132675966788984,42.386318547380355 +44.039,2024/05/28 15:37:38.8929,30.452620067335484,42.40047169548943 +44.285,2024/05/28 15:37:39.1389,30.665211109884112,41.14932158209497 +44.532,2024/05/28 15:37:39.3859,30.822834497118407,39.8589178645549 +44.683,2024/05/28 15:37:39.5369,30.626335298123376,39.87940153345667 +44.777,2024/05/28 15:37:39.6309,30.512104249741686,39.89987468652001 +45.024,2024/05/28 15:37:39.8779,30.89686217003277,39.08281804919736 +45.175,2024/05/28 15:37:40.0289,30.997979170321052,39.14800974081143 +45.27,2024/05/28 15:37:40.1239,30.67907669937966,38.53396769950723 +45.516,2024/05/28 15:37:40.3699,30.21092517616742,38.53396769950723 +45.763,2024/05/28 15:37:40.6169,29.332732491233898,38.523153211196686 +45.913,2024/05/28 15:37:40.7669,29.31299582331905,37.54330832518626 +46.009,2024/05/28 15:37:40.8629,28.276630211040818,36.53719565958322 +46.256,2024/05/28 15:37:41.1099,27.01044923388146,36.53719565958322 +46.406,2024/05/28 15:37:41.2599,26.00742599521429,37.5734835577787 +46.502,2024/05/28 15:37:41.3559,24.706181459279577,38.57114638344748 +46.748,2024/05/28 15:37:41.6019,24.662689955924684,36.75867244610447 +46.899,2024/05/28 15:37:41.7529,24.532502484681803,36.533090023520685 +46.995,2024/05/28 15:37:41.8489,23.921903587807687,35.23256069793016 +47.241,2024/05/28 15:37:42.0949,22.360576967038483,32.0624390837628 +47.486,2024/05/28 15:37:42.3399,20.46696244497805,32.0624390837628 +47.638,2024/05/28 15:37:42.4919,21.904940921664444,30.943496893531602 +47.733,2024/05/28 15:37:42.5869,20.028743712790547,29.782545223670862 +47.979,2024/05/28 15:37:42.8329,17.70982583298008,29.782545223670862 +48.13,2024/05/28 15:37:42.9839,18.6213324708118,28.472794032198525 +48.226,2024/05/28 15:37:43.0799,18.725758275394625,29.439769020833026 +48.472,2024/05/28 15:37:43.3259,18.819285779258053,29.439769020833026 +48.719,2024/05/28 15:37:43.5729,18.908004751378883,29.425612426365348 +48.869,2024/05/28 15:37:43.7229,19.84135354114814,30.435177016077958 +48.965,2024/05/28 15:37:43.8189,19.935643582725792,31.430876538843137 +49.211,2024/05/28 15:37:44.0649,20.011950452655665,31.404882847523357 +49.362,2024/05/28 15:37:44.2159,21.572225651059576,33.00908965724441 +49.457,2024/05/28 15:37:44.3109,21.572225651059576,34.55623436275043 +49.703,2024/05/28 15:37:44.5569,21.572225651059576,34.55623436275043 +49.854,2024/05/28 15:37:44.7079,23.453549102795556,36.39780213144744 +49.949,2024/05/28 15:37:44.8029,23.453549102795556,38.15057885100391 +50.196,2024/05/28 15:37:45.0499,23.453549102795556,38.15057885100391 +50.346,2024/05/28 15:37:45.1999,25.960093158184318,40.463975747982715 +50.442,2024/05/28 15:37:45.2959,25.960093158184318,42.65208084021224 +50.688,2024/05/28 15:37:45.5419,25.960093158184318,42.65208084021224 +50.935,2024/05/28 15:37:45.7889,25.960093158184318,42.65208084021224 +51.085,2024/05/28 15:37:45.9389,28.228541845313966,44.63182720884279 +51.181,2024/05/28 15:37:46.0349,28.228541845313966,46.52741127550511 +51.427,2024/05/28 15:37:46.2809,28.228541845313966,46.52741127550511 +51.578,2024/05/28 15:37:46.4319,30.181158010430476,48.141804425398654 +51.674,2024/05/28 15:37:46.5279,30.181158010430476,49.70378925863366 +51.919,2024/05/28 15:37:46.7729,30.181158010430476,49.70378925863366 +52.071,2024/05/28 15:37:46.9249,31.66563821681409,50.904813131962285 +52.166,2024/05/28 15:37:47.0199,31.66563821681409,52.07814640838644 +52.412,2024/05/28 15:37:47.2659,31.66563821681409,52.07814640838644 +52.564,2024/05/28 15:37:47.4179,33.78593871971604,54.50015290498428 +52.658,2024/05/28 15:37:47.5119,33.13998522464442,55.64260957216151 +52.905,2024/05/28 15:37:47.7589,33.13998522464442,54.44079352838274 +53.151,2024/05/28 15:37:48.0049,33.13998522464442,54.44079352838274 +53.301,2024/05/28 15:37:48.1549,35.195023159140106,56.243221813832825 +53.397,2024/05/28 15:37:48.2509,35.195023159140106,57.98965424970216 +53.644,2024/05/28 15:37:48.4979,35.195023159140106,57.98965424970216 +53.794,2024/05/28 15:37:48.6479,37.042380202066866,60.272713560947295 +54.287,2024/05/28 15:37:49.1409,38.6716950753389,59.76035475128975 +54.383,2024/05/28 15:37:49.2369,38.6716950753389,61.38240790324212 +54.629,2024/05/28 15:37:49.4829,38.6716950753389,61.38240790324212 +54.78,2024/05/28 15:37:49.6339,39.68288087428569,62.393108593818276 +54.875,2024/05/28 15:37:49.7289,39.68288087428569,63.387695966961914 +55.122,2024/05/28 15:37:49.9759,39.86968715732517,63.40057833595316 +55.368,2024/05/28 15:37:50.2219,39.748418605136834,62.34848300747448 +55.519,2024/05/28 15:37:50.3729,40.609734974666296,63.21286788832371 +55.613,2024/05/28 15:37:50.4669,40.792494238608256,65.08993777843085 +55.86,2024/05/28 15:37:50.7139,40.22242755181383,63.633324602758265 +56.011,2024/05/28 15:37:50.8649,41.05545730731342,64.00703086380433 +56.106,2024/05/28 15:37:50.9599,41.05545730731342,65.53268904396747 +56.352,2024/05/28 15:37:51.2059,41.05545730731342,65.53268904396747 +56.503,2024/05/28 15:37:51.3569,41.2790336695234,65.73710266407143 +56.599,2024/05/28 15:37:51.4529,41.2790336695234,65.9408826146572 +56.845,2024/05/28 15:37:51.6989,41.2790336695234,65.9408826146572 +56.996,2024/05/28 15:37:51.8499,41.4222578848118,66.06890342664997 +57.091,2024/05/28 15:37:51.9449,41.4222578848118,66.19667665374146 +57.338,2024/05/28 15:37:52.1919,41.4222578848118,66.19667665374146 +57.584,2024/05/28 15:37:52.4379,40.22928538140894,64.35189714893157 +57.735,2024/05/28 15:37:52.5889,41.4222578848118,64.35189714893157 +57.831,2024/05/28 15:37:52.6849,41.4222578848118,66.19667665374146 +58.077,2024/05/28 15:37:52.9309,40.199230849850004,65.0261485865494 +58.227,2024/05/28 15:37:53.0809,41.00103727311365,63.149821852480315 +58.323,2024/05/28 15:37:53.1769,40.91617447090238,63.28928292636387 +58.57,2024/05/28 15:37:53.4239,40.742759035110666,63.28928292636387 +58.719,2024/05/28 15:37:53.5729,40.04349646566083,61.23751573450162 +58.815,2024/05/28 15:37:53.6689,39.80326619763745,59.11457801027876 +59.061,2024/05/28 15:37:53.9149,39.71513507496828,59.148682712860705 +59.308,2024/05/28 15:37:54.1619,38.852047683428346,56.820477529379026 +59.458,2024/05/28 15:37:54.3119,37.96793868273704,56.82194411786113 +59.554,2024/05/28 15:37:54.4079,37.83484983542227,54.50596297654047 +59.801,2024/05/28 15:37:54.6549,37.56418262243889,54.50596297654047 +59.951,2024/05/28 15:37:54.8049,36.80712387318627,52.38893012841549 +60.047,2024/05/28 15:37:54.9009,36.60940146823019,50.23445033042563 +60.293,2024/05/28 15:37:55.1469,35.92994460808719,50.21819059530786 +60.54,2024/05/28 15:37:55.3939,35.0280019347409,50.21819059530786 +60.69,2024/05/28 15:37:55.5439,34.50885277056038,47.960747839596216 +60.785,2024/05/28 15:37:55.6389,33.428754227392076,45.59166590507524 +61.032,2024/05/28 15:37:55.8859,32.08410284194329,45.59166590507524 +61.183,2024/05/28 15:37:56.0369,31.753359854808217,43.40775660332302 +61.278,2024/05/28 15:37:56.1319,30.646688895048086,41.56240288209205 +61.524,2024/05/28 15:37:56.3779,29.290145845969047,41.56240288209205 +61.771,2024/05/28 15:37:56.6249,29.002655447191085,38.701421162536136 +62.017,2024/05/28 15:37:56.8709,27.372882797463145,35.61132778578562 +62.168,2024/05/28 15:37:57.0219,26.229228234797127,36.950868280280865 +62.263,2024/05/28 15:37:57.1169,25.831127084135474,34.87166949449558 +62.414,2024/05/28 15:37:57.2679,24.832311172359585,32.88819443711274 +62.51,2024/05/28 15:37:57.3639,22.56079908098087,34.55092859340638 +62.756,2024/05/28 15:37:57.6099,19.725239097948496,34.55092859340638 +63.002,2024/05/28 15:37:57.8559,19.351081825470736,30.869618289401203 +63.153,2024/05/28 15:37:58.0069,17.763452082436828,28.642625577973817 +63.249,2024/05/28 15:37:58.1029,17.847405555358538,28.70830309625887 +63.495,2024/05/28 15:37:58.3489,17.685925308644727,28.39953051255132 +63.646,2024/05/28 15:37:58.4999,19.260614329968504,29.70746258658476 +63.741,2024/05/28 15:37:58.5949,19.363314050917385,31.243666024758788 +63.987,2024/05/28 15:37:58.8409,19.383041527338957,31.10680525758525 +64.233,2024/05/28 15:37:59.0869,19.467036683618574,30.969339676525234 +64.63,2024/05/28 15:37:59.4839,20.346876966719545,31.93117598836598 +64.876,2024/05/28 15:37:59.7299,21.436246025788485,31.949960876345372 +64.972,2024/05/28 15:37:59.8259,21.56734973780078,33.223987318401946 +65.218,2024/05/28 15:38:00.0719,21.666251101230706,33.21947220130587 +65.465,2024/05/28 15:38:00.3189,21.762801755055726,33.21947220130587 +65.615,2024/05/28 15:38:00.4689,23.324891740640844,34.874537033964096 +65.711,2024/05/28 15:38:00.5649,23.324891740640844,36.38314628139427 +65.957,2024/05/28 15:38:00.8109,23.324891740640844,36.38314628139427 +66.108,2024/05/28 15:38:00.9619,25.106577422759752,38.44303144481021 +66.204,2024/05/28 15:38:01.0579,25.249012726800487,40.15968127363563 +66.45,2024/05/28 15:38:01.3039,25.249012726800487,39.919919839598876 +66.697,2024/05/28 15:38:01.5509,25.249012726800487,39.919919839598876 +66.847,2024/05/28 15:38:01.7009,25.971713171399447,40.6197817161376 +66.943,2024/05/28 15:38:01.7969,25.971713171399447,41.30778780488412 +67.189,2024/05/28 15:38:02.0429,25.971713171399447,41.30778780488412 +67.34,2024/05/28 15:38:02.1939,26.118232500793194,41.94838097789552 +67.927,2024/05/28 15:38:02.7809,26.118232500793194,42.579337712087536 +68.078,2024/05/28 15:38:02.9319,25.28322327770566,41.714505870260524 +68.571,2024/05/28 15:38:03.4249,25.09799185995309,40.5392813618265 +68.666,2024/05/28 15:38:03.5199,23.994946786028503,39.25472370726017 +68.913,2024/05/28 15:38:03.7669,23.881436064561086,37.79947089576784 +69.063,2024/05/28 15:38:03.9169,23.731157074443853,37.958310464683926 +69.159,2024/05/28 15:38:04.0129,23.60732401451739,38.116488120846945 +69.406,2024/05/28 15:38:04.2599,22.45560114956794,36.668333295456264 +69.652,2024/05/28 15:38:04.5059,22.354407624221594,35.161058004559536 +69.897,2024/05/28 15:38:04.7509,22.235314151193602,35.16153201061258 +70.144,2024/05/28 15:38:04.9979,21.163539455838208,33.80384593504118 +70.294,2024/05/28 15:38:05.1479,21.170055842339842,32.68434895583307 +70.39,2024/05/28 15:38:05.2439,21.047865537344457,32.97675949311373 +70.541,2024/05/28 15:38:05.3949,22.138643595077333,34.26611543006687 +70.636,2024/05/28 15:38:05.4899,21.649878553453423,34.58805188693537 +70.883,2024/05/28 15:38:05.7369,20.752952981954998,34.57070050394312 +71.034,2024/05/28 15:38:05.8879,22.48271366612751,35.04045281290374 +71.622,2024/05/28 15:38:06.4759,22.48360833314207,35.465946107968605 +71.773,2024/05/28 15:38:06.6269,23.97747985568671,35.97406473187779 +71.868,2024/05/28 15:38:06.7219,23.024324967952072,34.848242423399206 +72.114,2024/05/28 15:38:06.9679,23.209589773868096,33.202409551115416 +72.264,2024/05/28 15:38:07.1179,24.129535485761043,33.36465195382682 +72.36,2024/05/28 15:38:07.2139,23.03031485453098,31.14268239356826 +72.606,2024/05/28 15:38:07.4599,23.014238471298043,28.56104573248909 +72.853,2024/05/28 15:38:07.7069,22.892150941155077,28.56104573248909 +73.003,2024/05/28 15:38:07.8569,24.00574643848743,29.014938681077144 +73.099,2024/05/28 15:38:07.9529,23.750039322411197,27.763285108214408 +73.742,2024/05/28 15:38:08.5959,25.649023642101717,27.115186396802315 +73.838,2024/05/28 15:38:08.6919,25.119965041340162,28.228826873723722 +74.085,2024/05/28 15:38:08.9389,25.207666230367305,27.26780763708981 +74.235,2024/05/28 15:38:09.0889,27.215529711384608,27.997023651333606 +74.331,2024/05/28 15:38:09.1849,27.226360620613118,29.209016872648533 +74.577,2024/05/28 15:38:09.4309,27.16073907548232,29.199885844525717 +74.824,2024/05/28 15:38:09.6779,26.55473635697599,29.03446228191595 +75.069,2024/05/28 15:38:09.9229,25.863567772661078,29.03446228191595 +75.22,2024/05/28 15:38:10.0739,27.32688457709103,29.97443355038868 +75.315,2024/05/28 15:38:10.1689,26.47228001505356,30.88581119759255 +75.466,2024/05/28 15:38:10.3199,25.785788654833265,31.080004290003995 +75.562,2024/05/28 15:38:10.4159,24.637136719739406,31.272458596449795 +75.808,2024/05/28 15:38:10.6619,23.41234569697128,31.271925641593185 +76.055,2024/05/28 15:38:10.9089,22.03654227419327,31.271925641593185 +76.205,2024/05/28 15:38:11.0589,21.732675753397412,30.96826332446386 +76.301,2024/05/28 15:38:11.1549,20.108584545258367,30.661593783320093 +76.547,2024/05/28 15:38:11.4009,20.101352387740036,29.2135813164585 +76.698,2024/05/28 15:38:11.5519,18.439992769340897,27.738661347176315 +77.191,2024/05/28 15:38:12.0449,17.139756835142908,27.84001915708153 +77.286,2024/05/28 15:38:12.1399,17.015071074731726,25.98396941705918 +77.533,2024/05/28 15:38:12.3869,16.754103974847826,25.40013123325678 +77.779,2024/05/28 15:38:12.6329,16.523094252535504,24.675223740964675 +77.929,2024/05/28 15:38:12.7829,17.44643691186113,24.507141816213494 +78.025,2024/05/28 15:38:12.8789,17.44643691186113,24.991998719590235 +78.271,2024/05/28 15:38:13.1249,17.29158322926858,24.774987386475093 +78.421,2024/05/28 15:38:13.2749,18.5140207820249,25.241500219545852 +78.517,2024/05/28 15:38:13.3709,18.5140207820249,25.908814458918545 +78.763,2024/05/28 15:38:13.6169,18.5140207820249,25.908814458918545 +78.914,2024/05/28 15:38:13.7679,19.66878032670649,26.531741995830828 +79.01,2024/05/28 15:38:13.8639,19.66878032670649,27.14037582643247 +79.256,2024/05/28 15:38:14.1099,17.995657202806587,25.98012060531411 +79.407,2024/05/28 15:38:14.2609,20.221332766427096,26.458143043935138 +79.502,2024/05/28 15:38:14.3559,20.221332766427096,28.048767055493425 +79.749,2024/05/28 15:38:14.6029,17.34623746012346,26.326792436603437 +79.995,2024/05/28 15:38:14.8489,17.34623746012346,24.484008386427796 +80.146,2024/05/28 15:38:14.9999,19.842627977600934,26.603884428155723 +80.241,2024/05/28 15:38:15.0949,19.842627977600934,28.566880590408655 +80.488,2024/05/28 15:38:15.3419,19.842627977600934,28.566880590408655 +80.638,2024/05/28 15:38:15.4919,19.485449920920132,29.20787565024201 +80.734,2024/05/28 15:38:15.5879,19.485449920920132,29.83510236840714 +80.98,2024/05/28 15:38:15.8339,18.835189614550952,29.632752150281284 +81.131,2024/05/28 15:38:15.9849,20.1044685374274,30.812335192257013 +81.227,2024/05/28 15:38:16.0809,20.1044685374274,32.13616861626995 +81.473,2024/05/28 15:38:16.3269,20.1044685374274,32.13616861626995 +81.718,2024/05/28 15:38:16.5719,20.037206770715528,32.13150063929996 +81.869,2024/05/28 15:38:16.7229,20.656467635401917,33.02927993967373 +81.965,2024/05/28 15:38:16.8189,20.656467635401917,33.907717902172855 +82.211,2024/05/28 15:38:17.0649,20.78154021705554,33.867880555673 +82.362,2024/05/28 15:38:17.2159,20.855964719183078,34.11646718717126 +82.457,2024/05/28 15:38:17.3109,20.855964719183078,34.21013495052794 +82.704,2024/05/28 15:38:17.5579,20.855964719183078,34.21013495052794 +82.95,2024/05/28 15:38:17.8039,20.855964719183078,34.21013495052794 +83.101,2024/05/28 15:38:17.9549,20.633640649114138,33.89444398914567 +83.197,2024/05/28 15:38:18.0509,20.633640649114138,33.575784925051764 +83.594,2024/05/28 15:38:18.4479,20.502200610789338,33.647189085172236 +84.086,2024/05/28 15:38:18.9399,20.275147575181688,33.19688740429339 +84.182,2024/05/28 15:38:19.0359,20.72726562356644,33.369646886554456 +84.428,2024/05/28 15:38:19.2819,21.159085437506945,33.369646886554456 +84.675,2024/05/28 15:38:19.5289,20.843395271327022,32.4766582845793 +84.824,2024/05/28 15:38:19.6779,21.11599056334463,32.610325563130054 +84.92,2024/05/28 15:38:19.7739,21.51086333412274,33.62935225860488 +85.166,2024/05/28 15:38:20.0199,20.50985185193944,32.31459938376667 +85.317,2024/05/28 15:38:20.1709,21.411781051937,32.64710298530841 +85.413,2024/05/28 15:38:20.2669,21.774708517784564,34.26562903746746 +85.659,2024/05/28 15:38:20.5129,22.12150355514352,34.26562903746746 +85.81,2024/05/28 15:38:20.6639,21.49367723121239,34.55382275040877 +85.905,2024/05/28 15:38:20.7589,21.827984779640747,34.83963260426263 +86.152,2024/05/28 15:38:21.0059,22.14707889199554,34.83963260426263 +86.398,2024/05/28 15:38:21.2519,20.462721923188706,33.305655175460316 +86.549,2024/05/28 15:38:21.4029,21.76005514698893,33.53704419493962 +86.645,2024/05/28 15:38:21.4989,22.052419264160083,35.280778525045804 +86.891,2024/05/28 15:38:21.7449,20.707070256815456,34.079319242027125 +87.041,2024/05/28 15:38:21.8949,21.501162759255617,34.079319242027125 +87.629,2024/05/28 15:38:22.4829,21.765970487537853,35.280778525045804 +87.78,2024/05/28 15:38:22.6339,21.948738606962863,35.854799771671665 +87.875,2024/05/28 15:38:22.7289,21.087229888437644,35.60337062695048 +88.122,2024/05/28 15:38:22.9759,21.320218670030876,34.76780119593415 +88.273,2024/05/28 15:38:23.1269,21.3330459750762,34.836762191684805 +88.369,2024/05/28 15:38:23.2229,21.090282122342586,34.581305161411514 +88.615,2024/05/28 15:38:23.4689,21.280934211625762,34.25395354310701 +88.861,2024/05/28 15:38:23.7149,21.459397641276905,34.25395354310701 +89.011,2024/05/28 15:38:23.8649,21.625974165819535,34.25395354310701 +89.107,2024/05/28 15:38:23.9609,21.61406523752436,34.158454297582026 +89.353,2024/05/28 15:38:24.2069,21.748404618460665,34.0626873083535 +89.504,2024/05/28 15:38:24.3579,21.687434785751236,33.99411713811671 +89.599,2024/05/28 15:38:24.4529,21.26464336572027,33.93670579181191 +89.846,2024/05/28 15:38:24.6999,21.26464336572027,33.25758058949368 +90.092,2024/05/28 15:38:24.9459,21.26464336572027,33.25758058949368 +90.339,2024/05/28 15:38:25.1929,21.26464336572027,33.25758058949368 +90.488,2024/05/28 15:38:25.3419,20.510720493742333,32.259882206852524 +90.585,2024/05/28 15:38:25.4389,20.510720493742333,31.23032714099123 +90.832,2024/05/28 15:38:25.6859,20.510720493742333,31.23032714099123 +90.981,2024/05/28 15:38:25.8349,18.845286614594546,29.572509757092536 +91.078,2024/05/28 15:38:25.9319,19.314963528103355,28.926919411971035 +91.323,2024/05/28 15:38:26.1769,19.71754571936909,28.926919411971035 +91.474,2024/05/28 15:38:26.3279,17.695411444973704,28.262460378860624 +91.57,2024/05/28 15:38:26.4239,18.235874709944422,27.581998960674817 +91.816,2024/05/28 15:38:26.6699,18.701803957489666,27.581998960674817 +92.062,2024/05/28 15:38:26.9159,19.098654944515403,27.581998960674817 +92.213,2024/05/28 15:38:27.0669,17.39140361041165,27.165541899006296 +92.309,2024/05/28 15:38:27.1629,17.921155545666213,26.742600222616097 +92.555,2024/05/28 15:38:27.4089,18.375677327418096,26.742600222616097 +92.706,2024/05/28 15:38:27.5599,16.91955272363385,26.27990360205557 +93.294,2024/05/28 15:38:28.1479,17.461583449152972,25.80891318905157 +93.445,2024/05/28 15:38:28.2989,16.69964553275158,25.6378626254218 +93.54,2024/05/28 15:38:28.3939,17.256849381469422,25.465663156493687 +93.787,2024/05/28 15:38:28.6409,17.734439512643032,25.465663156493687 +93.936,2024/05/28 15:38:28.7899,17.781043761303433,25.994871289031867 +94.526,2024/05/28 15:38:29.3799,18.490413794689896,26.768762890105076 +94.675,2024/05/28 15:38:29.5289,18.490413794689896,27.607969863791144 +94.771,2024/05/28 15:38:29.6249,19.091311136733054,28.42240899947317 +95.017,2024/05/28 15:38:29.8709,19.593718205166038,28.42240899947317 +95.168,2024/05/28 15:38:30.0219,19.637549066350925,29.30073946734678 +95.264,2024/05/28 15:38:30.1179,20.05223064955604,30.153496204144112 +95.51,2024/05/28 15:38:30.3639,20.464828252450705,30.151837976039428 +95.757,2024/05/28 15:38:30.6109,20.71373024565253,30.150179656733943 +96.003,2024/05/28 15:38:30.8569,20.88446598647509,30.150179656733943 +96.249,2024/05/28 15:38:31.1029,20.815251923617996,30.17007347245501 +96.4,2024/05/28 15:38:31.2539,20.670958026833947,30.513385041103955 +96.645,2024/05/28 15:38:31.4989,20.099207967468377,30.55705046848163 +96.988,2024/05/28 15:38:31.8419,19.914876320243078,30.614266826650173 +97.138,2024/05/28 15:38:31.9919,19.61259857817187,30.622976123601486 +97.235,2024/05/28 15:38:32.0889,18.51997989125304,30.509015061125783 +97.48,2024/05/28 15:38:32.3339,18.51997989125304,29.330302873762943 +97.631,2024/05/28 15:38:32.4849,18.44186267302134,29.366647748764244 +97.726,2024/05/28 15:38:32.5799,16.65363858623461,27.828043409481737 +97.973,2024/05/28 15:38:32.8269,16.65363858623461,26.158491291866714 +98.219,2024/05/28 15:38:33.0729,16.849605200190947,26.522946040488538 +98.37,2024/05/28 15:38:33.2239,16.81324054045702,26.573796617470123 +98.466,2024/05/28 15:38:33.3199,14.813631498080488,24.73189573539939 +98.712,2024/05/28 15:38:33.5659,15.017078400213673,22.681857654669 +98.862,2024/05/28 15:38:33.7159,15.112756277359006,22.684796670898333 +98.958,2024/05/28 15:38:33.8119,14.099971468137872,21.352595470652584 +99.205,2024/05/28 15:38:34.0589,14.25949975747174,19.928204468374297 +99.601,2024/05/28 15:38:34.4549,13.917490855902914,19.108462348743117 +99.944,2024/05/28 15:38:34.7979,14.047701984114203,18.251940536100083 +100.093,2024/05/28 15:38:34.9469,13.915219485632871,18.405615085257722 +100.19,2024/05/28 15:38:35.0439,14.257927820939823,18.14570656289434 +100.436,2024/05/28 15:38:35.2899,14.669696656713919,16.841417200857336 +100.683,2024/05/28 15:38:35.5369,14.972618686950897,15.427248620541512 +100.832,2024/05/28 15:38:35.6859,14.637418590329016,15.049916943292411 +100.928,2024/05/28 15:38:35.7819,14.84029928130241,16.144142384571975 +101.174,2024/05/28 15:38:36.0279,15.031767127936423,14.489076345072288 +101.325,2024/05/28 15:38:36.1789,14.534145289983492,13.299122778088286 +101.423,2024/05/28 15:38:36.2769,14.457388835956108,13.945130571875858 +101.667,2024/05/28 15:38:36.5209,14.283701828694152,13.943935360339754 +101.913,2024/05/28 15:38:36.7669,13.95641820795756,13.943935360339754 +102.064,2024/05/28 15:38:36.9179,13.647280896283943,13.93078126548065 +102.16,2024/05/28 15:38:37.0139,13.959053421124269,13.19343270974869 +102.406,2024/05/28 15:38:37.2599,14.18255363417377,13.010252367524108 +102.653,2024/05/28 15:38:37.5069,13.844165541492192,12.791924535945846 +102.802,2024/05/28 15:38:37.6559,16.675710190119048,14.803152817333656 +102.899,2024/05/28 15:38:37.7529,16.098261489630474,16.572064848211685 +103.295,2024/05/28 15:38:38.1489,16.839881507760623,17.397317800933184 +103.637,2024/05/28 15:38:38.4909,16.436187996676292,18.126407991289025 +103.884,2024/05/28 15:38:38.7379,15.491784993953035,18.06746615697213 +104.034,2024/05/28 15:38:38.8879,15.00206882285029,18.397463593296404 +104.13,2024/05/28 15:38:38.9839,14.914661459007418,18.44180034595321 +104.527,2024/05/28 15:38:39.3809,14.542209669406702,18.412857826348777 +104.869,2024/05/28 15:38:39.7229,14.435309519354293,18.383869741343 +105.115,2024/05/28 15:38:39.9689,14.323680256553295,18.383869741343 +105.266,2024/05/28 15:38:40.1199,14.197943836887914,18.489636737012077 +105.361,2024/05/28 15:38:40.2149,14.069000732433587,18.594802141100256 +105.608,2024/05/28 15:38:40.4619,13.934823656754652,18.594802141100256 +105.854,2024/05/28 15:38:40.7079,13.76485613320524,18.593905811672094 +106.004,2024/05/28 15:38:40.8579,13.588407838530207,18.625251676151922 +106.1,2024/05/28 15:38:40.9539,12.781137322804682,18.50585492936402 +106.347,2024/05/28 15:38:41.2009,12.824231732944186,17.886680332955397 +106.497,2024/05/28 15:38:41.3509,12.839414889809682,17.96199691942222 +106.592,2024/05/28 15:38:41.4459,12.880708197850907,18.036999011291577 +106.839,2024/05/28 15:38:41.6929,11.490125695821215,17.064583206161235 +106.989,2024/05/28 15:38:41.8429,11.784657861794859,16.099689437998485 +107.085,2024/05/28 15:38:41.9389,11.833130967997016,16.165807537309522 +107.331,2024/05/28 15:38:42.1849,11.094215123001085,15.61089363233252 +107.578,2024/05/28 15:38:42.4319,11.152495726050004,15.03551351523009 +107.728,2024/05/28 15:38:42.5819,12.427675826026501,15.660991880039612 +107.824,2024/05/28 15:38:42.6779,12.459820481724575,16.26243114256496 +108.07,2024/05/28 15:38:42.9239,12.471761206270287,16.236789502033133 +108.22,2024/05/28 15:38:43.0739,14.615729206232063,17.56227016456965 +108.317,2024/05/28 15:38:43.1709,14.619503584509664,18.81665928550195 +108.563,2024/05/28 15:38:43.4169,14.620447026831538,18.81665928550195 +108.81,2024/05/28 15:38:43.6639,12.027554571297296,17.263641948712134 +108.959,2024/05/28 15:38:43.8129,13.789051128866626,16.88786546606764 +109.056,2024/05/28 15:38:43.9099,12.103243604387213,17.33108959836821 +109.302,2024/05/28 15:38:44.1559,12.03008680375002,16.502525059315417 +109.452,2024/05/28 15:38:44.3059,12.363461182605985,16.86317486912434 +109.549,2024/05/28 15:38:44.4029,11.260193338615414,16.86317486912434 +109.794,2024/05/28 15:38:44.6479,11.260193338615414,16.233709783451637 +110.04,2024/05/28 15:38:44.8939,11.230909728661508,16.220357579289058 +110.191,2024/05/28 15:38:45.0449,12.191432831409527,16.465114636709945 +110.287,2024/05/28 15:38:45.1409,12.279363119506707,16.75509872645737 +110.533,2024/05/28 15:38:45.3869,12.128431496888798,16.63430190900718 +110.779,2024/05/28 15:38:45.6329,12.216250718170745,16.51262143533445 +110.93,2024/05/28 15:38:45.7839,15.26034602882759,18.20622604129331 +111.026,2024/05/28 15:38:45.8799,15.305922525866583,19.75516810018752 +111.272,2024/05/28 15:38:46.1259,15.305922525866583,19.72477291800001 +111.423,2024/05/28 15:38:46.2769,16.401009220419667,20.25833161936096 +111.518,2024/05/28 15:38:46.3719,16.42747908126906,20.807050087250076 +112.161,2024/05/28 15:38:47.0149,16.593898615587097,20.8222637257976 +112.257,2024/05/28 15:38:47.1109,16.614666004370882,20.837466256721328 +112.653,2024/05/28 15:38:47.5069,16.624867124177797,20.838266082698276 +112.996,2024/05/28 15:38:47.8499,16.5423872132368,20.78781694486781 +113.242,2024/05/28 15:38:48.0959,16.656261119554287,20.775787189257915 +113.392,2024/05/28 15:38:48.2459,16.655398489696733,20.827065723876387 +113.885,2024/05/28 15:38:48.7389,16.655398489696733,20.847062143141418 +113.981,2024/05/28 15:38:48.8349,15.968395510270682,20.519096796236752 +114.227,2024/05/28 15:38:49.0809,15.955433622092032,20.086479698211598 +114.474,2024/05/28 15:38:49.3279,15.939865443122384,20.086479698211598 +114.623,2024/05/28 15:38:49.4769,14.272552228892254,19.199826388103965 +114.72,2024/05/28 15:38:49.5739,14.24014077161539,18.270194306574847 +114.966,2024/05/28 15:38:49.8199,14.204742610962686,18.270194306574847 +115.116,2024/05/28 15:38:49.9699,14.982940490676269,18.923530326025322 +115.213,2024/05/28 15:38:50.0669,12.84572472374302,18.41738309315414 +115.609,2024/05/28 15:38:50.4629,14.591171949181984,18.550831068535267 +115.951,2024/05/28 15:38:50.8049,14.558996112923193,19.80572307861207 +116.197,2024/05/28 15:38:51.0509,13.812538032402784,19.499572644889767 +116.348,2024/05/28 15:38:51.2019,16.556972348027674,21.249313714408128 +116.443,2024/05/28 15:38:51.2969,16.534047073953133,23.127184581497737 +116.69,2024/05/28 15:38:51.5439,16.534047073953133,23.101226518664905 +116.84,2024/05/28 15:38:51.6939,18.426274344178022,24.6448101365514 +116.936,2024/05/28 15:38:51.7899,18.426274344178022,26.097254006248754 +117.183,2024/05/28 15:38:52.0369,18.426274344178022,26.097254006248754 +117.429,2024/05/28 15:38:52.2829,18.426274344178022,26.097254006248754 +117.578,2024/05/28 15:38:52.4319,17.742863224471723,26.151481793581027 +117.675,2024/05/28 15:38:52.5289,17.742863224471723,26.20559736646607 +117.922,2024/05/28 15:38:52.7759,17.742863224471723,26.20559736646607 +118.071,2024/05/28 15:38:52.9249,17.058418894271036,26.239283526803852 +118.168,2024/05/28 15:38:53.0219,17.058418894271036,26.272926496046583 +118.414,2024/05/28 15:38:53.2679,16.792205361999027,26.209413067318643 +118.661,2024/05/28 15:38:53.5149,16.792205361999027,26.145745351777602 +118.81,2024/05/28 15:38:53.6639,16.738729266920856,26.17632518135424 +118.907,2024/05/28 15:38:53.7609,16.738729266920856,26.206869328479506 +119.152,2024/05/28 15:38:54.0059,16.56405192252071,26.175688465953797 +119.4,2024/05/28 15:38:54.2539,16.581009771949336,26.134906415239627 +119.549,2024/05/28 15:38:54.4029,16.576537913430847,26.150207137484273 +119.645,2024/05/28 15:38:54.4989,16.396698574345344,26.073613737518883 +119.891,2024/05/28 15:38:54.7449,16.396698574345344,26.042273326267047 +120.138,2024/05/28 15:38:54.9919,16.396698574345344,26.042273326267047 +120.288,2024/05/28 15:38:55.1419,16.416840246471562,26.06594201891298 +120.384,2024/05/28 15:38:55.2379,16.416840246471562,26.08958923913266 +120.534,2024/05/28 15:38:55.3879,16.495210032703277,26.39696952303427 +120.63,2024/05/28 15:38:55.4839,16.234063803811257,26.21449980449751 +120.877,2024/05/28 15:38:55.7309,16.234063803811257,25.747491787227222 +121.273,2024/05/28 15:38:56.1269,15.381882162160254,25.011997121381572 +121.616,2024/05/28 15:38:56.4699,15.381882162160254,24.254209256676802 +121.765,2024/05/28 15:38:56.6189,15.352149873784281,24.408331910777243 +121.862,2024/05/28 15:38:56.7159,13.280743989684888,22.802046691762854 +122.108,2024/05/28 15:38:56.9619,13.467542932684106,20.934023343192617 +122.355,2024/05/28 15:38:57.2089,13.647659897933675,20.934023343192617 +122.504,2024/05/28 15:38:57.3579,11.614299549391756,19.835153978059594 +122.997,2024/05/28 15:38:57.8509,12.648383659401436,17.65597160547483 +123.093,2024/05/28 15:38:57.9469,12.842503068229444,19.177243458502232 +123.339,2024/05/28 15:38:58.1929,13.029409704257178,19.177243458502232 +123.49,2024/05/28 15:38:58.3439,12.568936347979184,19.32959734017585 +123.585,2024/05/28 15:38:58.4389,12.752281743091508,19.480759738778158 +123.832,2024/05/28 15:38:58.6859,12.928672581230321,19.480759738778158 +124.078,2024/05/28 15:38:58.9319,12.48580803548036,18.846750383023593 +124.228,2024/05/28 15:38:59.0819,13.278147288018465,19.404466839708153 +124.324,2024/05/28 15:38:59.1779,13.441059071573603,20.546694786915648 +124.571,2024/05/28 15:38:59.4249,13.597878468738756,20.546694786915648 +124.817,2024/05/28 15:38:59.6709,13.771910442687126,20.50690940471853 +124.967,2024/05/28 15:38:59.8209,14.018419738117307,21.05231578710523 +125.064,2024/05/28 15:38:59.9179,14.168282531241104,21.621748310439653 +125.31,2024/05/28 15:39:00.1639,14.312642108917064,21.621748310439653 +125.459,2024/05/28 15:39:00.3129,14.312642108917064,21.73476477903545 +125.556,2024/05/28 15:39:00.4099,14.451663389127878,21.847196616499794 +125.803,2024/05/28 15:39:00.6569,14.585499018175938,21.847196616499794 +126.049,2024/05/28 15:39:00.9029,14.71429049691498,21.847196616499794 +126.198,2024/05/28 15:39:01.0519,14.4546854353355,21.619435700313733 +126.295,2024/05/28 15:39:01.1489,14.57083372365208,21.38924963620744 +126.541,2024/05/28 15:39:01.3949,14.250468836813239,21.008728344825315 +126.691,2024/05/28 15:39:01.5449,14.314569380590648,20.887795479657495 +126.787,2024/05/28 15:39:01.6409,14.416784598548288,21.1163443805977 +127.033,2024/05/28 15:39:01.8869,14.208990192792436,20.859050793360662 +127.28,2024/05/28 15:39:02.1339,14.293958212452276,20.59854363784003 +127.429,2024/05/28 15:39:02.2829,14.327892578713309,20.843064394021656 +127.526,2024/05/28 15:39:02.3799,14.408809565799325,21.084749623049042 +127.772,2024/05/28 15:39:02.6259,14.408809565799325,21.04598140580128 +127.922,2024/05/28 15:39:02.7759,14.39092945485918,21.247744978389274 +128.019,2024/05/28 15:39:02.8729,13.609031821788758,20.328141413649536 +128.265,2024/05/28 15:39:03.1189,12.152337649392882,20.287927444665215 +128.511,2024/05/28 15:39:03.3649,12.122174987880882,18.85647545716502 +128.661,2024/05/28 15:39:03.5149,12.110079396458472,18.86001060445089 +128.758,2024/05/28 15:39:03.6119,9.96020818690359,16.98038083593337 +129.004,2024/05/28 15:39:03.8579,9.92940599675023,14.860462083439174 +129.154,2024/05/28 15:39:04.0079,9.898566017127173,14.861583585428125 +129.25,2024/05/28 15:39:04.1039,9.826600071517053,14.862705002791383 +129.497,2024/05/28 15:39:04.3509,8.26187755232904,13.238831771220099 +129.743,2024/05/28 15:39:04.5969,8.195597360289028,11.385663499916609 +129.893,2024/05/28 15:39:04.7469,8.441822541140807,11.503622617824933 +130.385,2024/05/28 15:39:05.2389,8.981206431517798,11.555662392668511 +130.481,2024/05/28 15:39:05.3349,8.596243499277483,10.553040636075778 +130.727,2024/05/28 15:39:05.5809,8.62027815109916,9.330952077181978 +130.974,2024/05/28 15:39:05.8279,8.590893333983361,9.330952077181978 +131.123,2024/05/28 15:39:05.9769,8.911377204348279,9.003702941938204 +131.22,2024/05/28 15:39:06.0739,8.804975082696878,8.66410218468519 +131.862,2024/05/28 15:39:06.7159,8.541985556145319,8.893818077743664 +131.959,2024/05/28 15:39:06.8129,8.351474506744111,9.11774826003292 +132.206,2024/05/28 15:39:07.0599,8.40744060170984,9.0 +132.355,2024/05/28 15:39:07.2089,9.676610026719626,11.048378463225573 +132.452,2024/05/28 15:39:07.3059,9.470098131524525,12.855608374039194 +132.698,2024/05/28 15:39:07.5519,9.527274821125712,12.475308947410213 +133.094,2024/05/28 15:39:07.9479,12.177282410150761,15.14375558880073 +133.437,2024/05/28 15:39:08.2909,12.02722008564409,17.682382946499793 +133.683,2024/05/28 15:39:08.5369,11.836481692233932,17.682382946499793 +133.832,2024/05/28 15:39:08.6859,12.65097333950226,18.20256392196806 +133.929,2024/05/28 15:39:08.7829,12.499241356289327,18.708286933869708 +134.325,2024/05/28 15:39:09.1789,13.461908798746272,19.890533761901246 +134.668,2024/05/28 15:39:09.5219,13.517124090507417,20.80224346875436 +134.915,2024/05/28 15:39:09.7689,13.58333157041155,20.79503145785871 +135.064,2024/05/28 15:39:09.9179,15.243954897583361,22.359189013319185 +135.161,2024/05/28 15:39:10.0149,15.318983790311663,23.82085920644621 +135.407,2024/05/28 15:39:10.2609,15.381321707554253,23.818060374430157 +135.557,2024/05/28 15:39:10.4109,16.388564838669687,24.856923918028688 +135.653,2024/05/28 15:39:10.5069,16.468151080191603,25.85665613853939 +135.899,2024/05/28 15:39:10.7529,16.539607634090686,25.856011551152534 +136.146,2024/05/28 15:39:10.9999,16.61217528850775,25.855366947695792 +136.295,2024/05/28 15:39:11.1489,16.79436139639312,26.165498912371866 +136.392,2024/05/28 15:39:11.2459,16.86964900261058,26.471997783821806 +136.638,2024/05/28 15:39:11.4919,16.830083901690653,26.420951282394558 +136.788,2024/05/28 15:39:11.6419,16.585168557840166,26.40075756488817 +136.885,2024/05/28 15:39:11.7389,16.585168557840166,26.362852652928137 +137.527,2024/05/28 15:39:12.3809,16.70377478158871,26.378652985574025 +137.624,2024/05/28 15:39:12.4779,16.624348574222612,26.469479279603014 +137.87,2024/05/28 15:39:12.7239,16.44580091744115,26.45940286552212 +138.02,2024/05/28 15:39:12.8739,16.541136460422393,26.525459468216567 +138.116,2024/05/28 15:39:12.9699,16.543359955604718,26.525459468216567 +138.363,2024/05/28 15:39:13.2169,16.45827186079068,26.449322612624066 +138.609,2024/05/28 15:39:13.4629,16.369301237026647,26.449322612624066 +138.759,2024/05/28 15:39:13.6129,15.603565758115423,25.620304447839803 +138.855,2024/05/28 15:39:13.7089,15.521620071860685,24.763548480242758 +139.101,2024/05/28 15:39:13.9549,15.445863933224791,24.787765799549852 +139.347,2024/05/28 15:39:14.2009,13.432718676221075,23.045606956641432 +139.594,2024/05/28 15:39:14.4479,13.371955556399175,21.160497788725735 +139.743,2024/05/28 15:39:14.5969,13.490567160014692,21.224200024186228 +139.84,2024/05/28 15:39:14.6939,12.75120007874913,20.417312914942226 +139.99,2024/05/28 15:39:14.8439,12.98456200935284,19.630758178599894 +140.579,2024/05/28 15:39:15.4329,12.366110530606973,18.435473052424413 +140.729,2024/05/28 15:39:15.5829,12.324165589251104,17.250120772524077 +140.825,2024/05/28 15:39:15.6789,12.577164126752962,17.34646938140439 +141.072,2024/05/28 15:39:15.9259,11.23566775430256,15.27743433957417 +141.317,2024/05/28 15:39:16.1709,11.488324908158692,12.880217389469792 +141.467,2024/05/28 15:39:16.3209,11.865191048639161,12.900904361064512 +141.564,2024/05/28 15:39:16.4179,11.097530014098195,10.782702196883056 +141.81,2024/05/28 15:39:16.6639,11.226815189997653,8.097324661063471 +141.96,2024/05/28 15:39:16.8139,12.71979180050889,8.959166627910582 +142.056,2024/05/28 15:39:16.9099,12.650064740192116,9.745084230865666 +142.303,2024/05/28 15:39:17.1569,12.779113706609476,8.878813734578134 +142.549,2024/05/28 15:39:17.4029,12.631333053667028,7.918333157931662 +142.699,2024/05/28 15:39:17.5529,13.322869457242703,8.573214099741124 +142.795,2024/05/28 15:39:17.6489,13.10211880733026,9.17423929634859 +143.042,2024/05/28 15:39:17.8959,12.723586568748296,9.166969691961096 +143.288,2024/05/28 15:39:18.1419,11.94219795322627,9.121403400793104 +143.438,2024/05/28 15:39:18.2919,12.048560747739677,9.04064894425911 +143.534,2024/05/28 15:39:18.3879,11.78231677157624,9.223159256278006 +143.781,2024/05/28 15:39:18.6349,10.743027677437171,9.001851661371305 +143.93,2024/05/28 15:39:18.7839,10.344024873072044,8.895691841185448 +144.027,2024/05/28 15:39:18.8809,9.887237797503849,9.014802641581603 +144.273,2024/05/28 15:39:19.1269,9.359302950762915,9.014802641581603 +144.668,2024/05/28 15:39:19.5219,8.955573619294098,9.368386556214825 +145.012,2024/05/28 15:39:19.8659,8.294576541332429,9.709102258533827 +145.161,2024/05/28 15:39:20.0149,7.965153994803996,9.674709297958259 +145.258,2024/05/28 15:39:20.1119,7.582193295639243,9.702233419854077 +145.504,2024/05/28 15:39:20.3579,7.14738116174642,9.702233419854077 +145.753,2024/05/28 15:39:20.6069,7.090547374426664,9.563820714895625 +145.9,2024/05/28 15:39:20.7539,6.584900875507056,9.437513796899408 +145.997,2024/05/28 15:39:20.8509,6.568472241414335,9.186947262284681 +146.243,2024/05/28 15:39:21.0969,6.568472241414335,9.179687721631202 +146.393,2024/05/28 15:39:21.2469,6.422750511887792,9.086620200419222 +146.49,2024/05/28 15:39:21.3439,6.422750511887792,8.9925895417653 +146.736,2024/05/28 15:39:21.5899,6.422750511887792,8.9925895417653 +146.982,2024/05/28 15:39:21.8359,6.422750511887792,8.9925895417653 +147.132,2024/05/28 15:39:21.9859,8.02646484643504,10.142320576015464 +147.229,2024/05/28 15:39:22.0829,8.02646484643504,11.17437544861755 +147.475,2024/05/28 15:39:22.3289,8.02646484643504,11.17437544861755 +147.624,2024/05/28 15:39:22.4779,9.68444658961717,12.581732790041283 +147.72,2024/05/28 15:39:22.5739,9.68444658961717,13.846780612594875 +147.968,2024/05/28 15:39:22.8219,9.68444658961717,13.846780612594875 +148.213,2024/05/28 15:39:23.0669,9.68444658961717,13.846780612594875 +148.363,2024/05/28 15:39:23.2169,10.747680851150195,14.97108323847454 +148.459,2024/05/28 15:39:23.3129,10.747680851150195,16.0166579951416 +148.706,2024/05/28 15:39:23.5599,10.747680851150195,16.0166579951416 +148.855,2024/05/28 15:39:23.7089,11.499575204548924,16.758082626999226 +148.952,2024/05/28 15:39:23.8059,11.191591671337449,17.372391890583174 +149.198,2024/05/28 15:39:24.0519,11.191591671337449,17.27618785110496 +149.445,2024/05/28 15:39:24.2989,11.191591671337449,17.27618785110496 +149.594,2024/05/28 15:39:24.4479,11.694629870847148,17.763257959432256 +149.691,2024/05/28 15:39:24.5449,11.694629870847148,18.237324365158393 +149.937,2024/05/28 15:39:24.7909,11.694629870847148,18.237324365158393 +150.087,2024/05/28 15:39:24.9409,12.55795759073078,18.97893569197177 +150.184,2024/05/28 15:39:25.0379,12.55795759073078,19.692638218379983 +150.43,2024/05/28 15:39:25.2839,12.605827880458401,19.679092119980197 +150.825,2024/05/28 15:39:25.6789,13.321834121765423,20.463789157110337 +151.168,2024/05/28 15:39:26.0219,13.321834121765423,21.23205124334434 +151.318,2024/05/28 15:39:26.1719,13.833824946257451,21.881499034572563 +151.415,2024/05/28 15:39:26.2689,13.78738387160542,22.50629541557947 +151.661,2024/05/28 15:39:26.5149,13.78738387160542,22.503333086456326 +151.907,2024/05/28 15:39:26.7609,13.78738387160542,22.503333086456326 +152.057,2024/05/28 15:39:26.9109,13.785257826147108,22.514439810930227 +152.154,2024/05/28 15:39:27.0079,13.785257826147108,22.525541058984576 +152.796,2024/05/28 15:39:27.6499,14.204135709869323,22.631835983852483 +152.893,2024/05/28 15:39:27.7469,14.204135709869323,22.737634001804146 +153.289,2024/05/28 15:39:28.1429,14.108935784301224,22.297234507146097 +153.632,2024/05/28 15:39:28.4859,14.108935784301224,21.84795947756525 +153.878,2024/05/28 15:39:28.7319,14.108935784301224,21.84795947756525 +154.027,2024/05/28 15:39:28.8809,12.85556366875442,20.81425793376582 +154.124,2024/05/28 15:39:28.9779,12.85556366875442,19.726462767899704 +154.37,2024/05/28 15:39:29.2239,12.85556366875442,19.726462767899704 +154.52,2024/05/28 15:39:29.3739,13.472150926067108,20.424658299875343 +154.616,2024/05/28 15:39:29.4699,12.343735904983294,20.049937655763422 +154.862,2024/05/28 15:39:29.7159,12.343735904983294,18.94201678808252 +155.012,2024/05/28 15:39:29.8659,14.315171599776658,20.72036035722674 +155.109,2024/05/28 15:39:29.9629,13.869216719548803,21.807491067673663 +155.751,2024/05/28 15:39:30.6049,16.027992754058584,23.194108447333488 +155.848,2024/05/28 15:39:30.7019,16.027992754058584,24.99333244420733 +156.094,2024/05/28 15:39:30.9479,15.95831495152199,25.025986494042545 +156.244,2024/05/28 15:39:31.0979,18.26358728973226,26.405176260220898 +156.341,2024/05/28 15:39:31.1949,18.183894604526284,27.7158197906298 +156.587,2024/05/28 15:39:31.4409,18.100739808339586,27.7158197906298 +156.982,2024/05/28 15:39:31.8359,19.66293555099979,28.589625157855195 +157.325,2024/05/28 15:39:32.1789,19.572911142053577,29.43750442321269 +157.571,2024/05/28 15:39:32.4249,19.479579640960374,29.43750442321269 +157.721,2024/05/28 15:39:32.5749,19.963299660460567,29.586596064208987 +157.818,2024/05/28 15:39:32.6719,19.864512341729508,29.734940165849782 +158.064,2024/05/28 15:39:32.9179,19.602838171240105,29.287653826598447 +158.46,2024/05/28 15:39:33.3139,19.623496355018247,28.934984591897287 +158.803,2024/05/28 15:39:33.6569,19.513302270944628,29.06429653945427 +159.049,2024/05/28 15:39:33.9029,19.390867621807118,29.06429653945427 +159.199,2024/05/28 15:39:34.0529,23.342920854576064,31.941091611485874 +159.296,2024/05/28 15:39:34.1499,23.277338395070725,34.579377283770356 +159.542,2024/05/28 15:39:34.3959,22.89546459128066,34.50990196064505 +160.183,2024/05/28 15:39:35.0369,26.942446108304004,37.481106351511734 +160.281,2024/05/28 15:39:35.1349,26.738065336352374,40.25957443060388 +160.528,2024/05/28 15:39:35.3819,26.683241975046133,40.2260280581284 +160.676,2024/05/28 15:39:35.5299,31.43321692790604,43.80601176398813 +160.773,2024/05/28 15:39:35.6269,31.44928411370257,47.07193077266607 +161.02,2024/05/28 15:39:35.8739,31.435465731354178,47.02906902473547 +161.266,2024/05/28 15:39:36.1199,31.414470638819573,47.02906902473547 +161.416,2024/05/28 15:39:36.2699,39.50620495422309,53.176435884076824 +161.512,2024/05/28 15:39:36.3659,39.54650979266858,58.683330966581416 +161.759,2024/05/28 15:39:36.6129,39.58108221064123,58.683330966581416 +162.005,2024/05/28 15:39:36.8589,38.84570125183931,58.07925619358429 +162.154,2024/05/28 15:39:37.0079,48.21266347693581,65.0561296112826 +162.251,2024/05/28 15:39:37.1049,47.28052744906831,71.24067190399971 +162.497,2024/05/28 15:39:37.3509,47.3801452184306,70.6295500009262 +162.893,2024/05/28 15:39:37.7469,55.265461767435326,77.35976559771451 +163.236,2024/05/28 15:39:38.0899,53.97808197160561,83.01827108133085 +163.482,2024/05/28 15:39:38.3359,54.06722082571041,82.47363214991807 +163.632,2024/05/28 15:39:38.4859,59.73313256842329,87.74071650797784 +163.729,2024/05/28 15:39:38.5829,58.458945216811095,92.25851360895282 +163.975,2024/05/28 15:39:38.8289,58.56778173596228,91.80577323894178 +164.221,2024/05/28 15:39:39.0749,58.78970900640284,91.81230854302706 +164.371,2024/05/28 15:39:39.2249,59.28826908060962,93.76566535784833 +164.468,2024/05/28 15:39:39.3219,59.537383214246645,95.67915133402887 +164.714,2024/05/28 15:39:39.5679,59.66304811476602,95.67061548180124 +164.96,2024/05/28 15:39:39.8139,60.00494232518128,95.63141046051065 +165.207,2024/05/28 15:39:40.0609,60.126533244484136,95.59218936014943 +165.355,2024/05/28 15:39:40.2089,60.255480983108974,96.67419510913965 +165.453,2024/05/28 15:39:40.3069,60.24719195058879,96.83129659361171 +165.699,2024/05/28 15:39:40.5529,60.36692403329356,95.90967973393856 +165.945,2024/05/28 15:39:40.7989,60.48573499537796,95.90967973393856 +166.191,2024/05/28 15:39:41.0449,60.12008098739628,94.76268604607336 +166.341,2024/05/28 15:39:41.1949,60.751434399602864,95.09679279555121 +166.437,2024/05/28 15:39:41.2909,60.86870173229233,96.56880103497885 +166.684,2024/05/28 15:39:41.5379,60.014940668539595,94.99842103950992 +166.93,2024/05/28 15:39:41.7839,60.12137149421061,93.40164167008344 +167.08,2024/05/28 15:39:41.9339,83.57140246726084,113.58286255710703 +167.176,2024/05/28 15:39:42.0299,83.67605845533568,130.68384240856506 +167.423,2024/05/28 15:39:42.2769,81.88110949391246,128.19607378283212 +167.669,2024/05/28 15:39:42.5229,81.97522053406904,125.65906254624058 +167.819,2024/05/28 15:39:42.6729,89.93384541830847,133.50592995568897 +167.916,2024/05/28 15:39:42.7699,90.0375400635186,140.91652375313078 +168.162,2024/05/28 15:39:43.0159,87.2525795817993,137.57846246172883 +168.408,2024/05/28 15:39:43.2619,87.34532470101931,134.1573702783414 +168.557,2024/05/28 15:39:43.4109,89.82594280050759,137.45811483260394 +168.655,2024/05/28 15:39:43.5089,86.6655614429973,137.0898731975974 +168.901,2024/05/28 15:39:43.7549,86.75678780294434,133.40164916521834 +169.545,2024/05/28 15:39:44.3989,88.03774007867865,135.56105635469206 +169.639,2024/05/28 15:39:44.4929,85.16083498940114,134.39146798315235 +169.885,2024/05/28 15:39:44.7389,85.2496266887707,131.01348531099129 +170.132,2024/05/28 15:39:44.9859,85.33784111656936,131.01348531099129 +170.281,2024/05/28 15:39:45.1349,85.49165449624779,132.03534880225573 +170.378,2024/05/28 15:39:45.2319,84.85878059268948,131.552397672309 +170.624,2024/05/28 15:39:45.4779,84.85878059268948,130.0105123954726 +170.774,2024/05/28 15:39:45.6279,84.89431563765775,130.8696552553978 +170.871,2024/05/28 15:39:45.7249,84.89431563765775,131.72319461658984 +171.117,2024/05/28 15:39:45.9709,84.89431563765775,131.72319461658984 +171.363,2024/05/28 15:39:46.2169,84.90982370090985,130.93115239188367 +171.512,2024/05/28 15:39:46.3659,86.78063240677379,132.8362400351149 +171.61,2024/05/28 15:39:46.4639,86.78063240677379,135.4843164355196 +172.349,2024/05/28 15:39:47.2029,86.78063240677379,135.4843164355196 +172.497,2024/05/28 15:39:47.3509,87.6767902025955,137.45411355551835 +172.595,2024/05/28 15:39:47.4489,87.68523250810286,138.38039360159854 +172.84,2024/05/28 15:39:47.6939,87.68523250810286,137.35719857364595 +172.99,2024/05/28 15:39:47.8439,88.39581828149583,139.18081764381182 +173.087,2024/05/28 15:39:47.9409,88.39581828149583,140.98084976336324 +173.333,2024/05/28 15:39:48.1869,67.37901034063061,125.29325600366525 +173.483,2024/05/28 15:39:48.3369,67.78349577036158,108.70019932517756 +174.072,2024/05/28 15:39:48.9259,67.78349577036158,110.04665677187411 +174.222,2024/05/28 15:39:49.0759,67.48329720974594,110.6652610352499 +174.318,2024/05/28 15:39:49.1719,55.67856229151953,101.73347531663312 +174.565,2024/05/28 15:39:49.4189,55.67856229151953,91.19247044941083 +174.811,2024/05/28 15:39:49.6649,55.67856229151953,91.19247044941083 +174.96,2024/05/28 15:39:49.8139,55.35557993450258,91.61259011002072 +175.057,2024/05/28 15:39:49.9109,50.08894387837117,87.02375154711116 +175.304,2024/05/28 15:39:50.1579,50.08894387837117,81.71046444611608 +175.55,2024/05/28 15:39:50.4039,50.08894387837117,81.71046444611608 +175.7,2024/05/28 15:39:50.5539,46.72275775202126,78.91831219685328 +175.796,2024/05/28 15:39:50.6499,46.72275775202126,76.02368052126916 +176.043,2024/05/28 15:39:50.8969,46.72275775202126,76.02368052126916 +176.289,2024/05/28 15:39:51.1429,46.72275775202126,76.02368052126916 +176.438,2024/05/28 15:39:51.2919,45.87895117501684,75.25777922137574 +176.535,2024/05/28 15:39:51.3889,45.85816464238244,74.4434908728314 +176.781,2024/05/28 15:39:51.6349,45.85816464238244,74.44326698902998 +176.93,2024/05/28 15:39:51.7839,44.9009254186182,73.49149610669251 +177.027,2024/05/28 15:39:51.8809,44.9009254186182,72.52723626335144 +177.274,2024/05/28 15:39:52.1279,44.9009254186182,72.52723626335144 +177.52,2024/05/28 15:39:52.3739,44.9009254186182,72.52723626335144 +177.669,2024/05/28 15:39:52.5229,38.79982521586461,67.67323449242446 +177.766,2024/05/28 15:39:52.6199,38.79982521586461,62.44304071178255 +178.013,2024/05/28 15:39:52.8669,38.79982521586461,62.44304071178255 +178.162,2024/05/28 15:39:53.0159,33.38566007810246,58.03475969910906 +178.259,2024/05/28 15:39:53.1129,33.54326422268222,53.33947881260183 +178.505,2024/05/28 15:39:53.3589,33.698460007789386,53.33947881260183 +178.752,2024/05/28 15:39:53.6059,27.523448728040623,48.38181476546741 +178.9,2024/05/28 15:39:53.7539,27.41819598851084,42.9538512049075 +178.998,2024/05/28 15:39:53.8519,27.57051565229343,43.053068028500206 +179.244,2024/05/28 15:39:54.0979,23.260864474304757,39.48459615259264 +179.393,2024/05/28 15:39:54.2469,23.201862786889084,35.627236771885634 +179.49,2024/05/28 15:39:54.3439,21.084531563788264,33.72783222602168 +179.736,2024/05/28 15:39:54.5899,21.21634589964419,31.639110817678382 +179.983,2024/05/28 15:39:54.8369,21.344707815384893,31.639110817678382 +180.229,2024/05/28 15:39:55.0829,21.344707815384893,31.664912232101113 +180.379,2024/05/28 15:39:55.2329,19.959844746361732,30.494261755287667 +180.475,2024/05/28 15:39:55.3289,19.959844746361732,29.27683953799203 +180.625,2024/05/28 15:39:55.4789,19.94601910559933,29.358701152015108 +180.722,2024/05/28 15:39:55.5759,19.94601910559933,29.440335143019915 +180.968,2024/05/28 15:39:55.8219,16.91904320546872,27.10043050088565 +181.214,2024/05/28 15:39:56.0679,16.896201028497916,24.562844569254054 +181.363,2024/05/28 15:39:56.2169,16.887048699909503,24.579802006254376 +181.953,2024/05/28 15:39:56.8069,16.861300313910373,24.596747752497688 +182.102,2024/05/28 15:39:56.9559,12.428230748591618,21.576993920995267 +182.595,2024/05/28 15:39:57.4489,13.264766224419978,17.70781371786666 +182.692,2024/05/28 15:39:57.5459,13.28398915296529,18.482424083436676 +182.938,2024/05/28 15:39:57.7919,9.743609753807286,16.070677231114644 +183.087,2024/05/28 15:39:57.9409,10.791706053272332,14.386336109887974 +183.184,2024/05/28 15:39:58.0379,10.855423984583123,15.459624833740307 +183.431,2024/05/28 15:39:58.2849,10.914979688904635,15.459624833740307 +183.677,2024/05/28 15:39:58.5309,9.41416150178089,14.45683229480096 +183.826,2024/05/28 15:39:58.6799,9.670193569839462,13.821480866149377 +183.923,2024/05/28 15:39:58.7769,9.75893342580014,14.250146198080449 +184.17,2024/05/28 15:39:59.0239,12.148742898876154,15.406708495543969 +184.416,2024/05/28 15:39:59.2699,14.204621232817997,14.922019523732928 +184.565,2024/05/28 15:39:59.4189,14.177406341595816,16.024980499208105 +184.662,2024/05/28 15:39:59.5159,15.751701239994185,17.056767962698366 +184.908,2024/05/28 15:39:59.7619,17.15343201476226,16.804761230080004 +185.057,2024/05/28 15:39:59.9109,17.109149263062783,17.216271373325874 +185.796,2024/05/28 15:40:00.6499,16.959078537102243,17.25108692227826 +185.893,2024/05/28 15:40:00.7469,18.12666163608135,18.08129788851822 +186.14,2024/05/28 15:40:00.9939,18.939376969689913,17.94807324849476 +186.289,2024/05/28 15:40:01.1429,18.861381819420124,19.739132030900784 +186.386,2024/05/28 15:40:01.2399,19.499955791285593,21.380676634132357 +186.632,2024/05/28 15:40:01.4859,20.171135630987763,21.342445970413046 +186.879,2024/05/28 15:40:01.7329,20.86356886410266,21.247744978389274 +187.027,2024/05/28 15:40:01.8809,21.228613308186965,23.260839767013287 +187.125,2024/05/28 15:40:01.9789,21.592383714698727,24.63331078032346 +187.371,2024/05/28 15:40:02.2249,21.772623324643533,24.535688292770594 +187.52,2024/05/28 15:40:02.3739,22.150088866224404,25.93324764338885 +187.618,2024/05/28 15:40:02.4719,22.397172440586427,27.237229423468655 +187.863,2024/05/28 15:40:02.7169,22.507827501796065,27.221927436045622 +188.11,2024/05/28 15:40:02.9639,22.664570558930162,27.206616842231597 +188.259,2024/05/28 15:40:03.1129,22.399199493086112,28.055896587586243 +188.356,2024/05/28 15:40:03.2099,21.278692596603005,29.096964331925303 +188.602,2024/05/28 15:40:03.4559,21.307410615240794,28.611186623417073 +188.752,2024/05/28 15:40:03.6059,21.769138758777046,29.62093854016108 +188.849,2024/05/28 15:40:03.7029,20.23369217050157,30.06936425444786 +189.096,2024/05/28 15:40:03.9499,20.147616156301282,29.531903652377938 +189.244,2024/05/28 15:40:04.0979,21.01657802127121,30.80476153670619 +189.341,2024/05/28 15:40:04.1949,20.92141838228184,32.02707188197718 +189.588,2024/05/28 15:40:04.4419,19.903820461548666,31.83865575051811 +189.834,2024/05/28 15:40:04.6879,19.681048705822736,31.649117944528353 +189.983,2024/05/28 15:40:04.8369,20.871280383043853,32.365619619178204 +190.08,2024/05/28 15:40:04.9339,20.702712354921502,33.67838080034925 +190.327,2024/05/28 15:40:05.1809,20.628320004473032,33.16775542601579 +190.572,2024/05/28 15:40:05.4259,20.464828252451674,32.649144960728556 +190.722,2024/05/28 15:40:05.5759,21.46646676568693,33.95094500402996 +191.214,2024/05/28 15:40:06.0679,22.201506627969316,33.64173994707566 +191.804,2024/05/28 15:40:06.6579,22.21638620685184,34.570218396764574 +191.953,2024/05/28 15:40:06.8069,22.37529939438903,34.772115264964825 +192.05,2024/05/28 15:40:06.9039,22.184803745839616,35.457486280520975 +192.297,2024/05/28 15:40:07.1509,21.861528692697846,34.49251126452427 +192.692,2024/05/28 15:40:07.5459,21.853982514044844,34.070025927003144 +193.036,2024/05/28 15:40:07.8899,21.655187056149412,34.63091104779082 +193.184,2024/05/28 15:40:08.0379,21.782203006494292,35.43068350079255 +193.282,2024/05/28 15:40:08.1359,21.21905454684794,34.89603606906282 +193.527,2024/05/28 15:40:08.3809,21.21905454684794,33.87034100802648 +193.677,2024/05/28 15:40:08.5309,21.7356373505476,34.85254653536811 +194.266,2024/05/28 15:40:09.1199,21.168752725516498,34.809002666934695 +194.661,2024/05/28 15:40:09.5149,21.47709284892666,34.561057082599 +195.006,2024/05/28 15:40:09.8599,21.4523261874001,35.286919200557406 +195.154,2024/05/28 15:40:10.0079,21.26407579793362,35.49460052834327 +195.252,2024/05/28 15:40:10.1059,20.873483150892977,34.84776415592063 +195.498,2024/05/28 15:40:10.3519,20.873483150892977,33.95192679853874 +195.647,2024/05/28 15:40:10.5009,20.75087589897715,33.969594247405034 +195.745,2024/05/28 15:40:10.5989,20.30879431273116,33.1109246825475 +195.991,2024/05/28 15:40:10.8449,20.30879431273116,32.21076424634059 +196.237,2024/05/28 15:40:11.0909,20.17022387170064,32.24386246507491 +196.386,2024/05/28 15:40:11.2399,19.162613264544014,31.030092920690176 +196.484,2024/05/28 15:40:11.3379,19.031160171447915,29.76687196644395 +196.73,2024/05/28 15:40:11.5839,18.894899877462993,29.76687196644395 +196.879,2024/05/28 15:40:11.7329,18.744623750298903,29.834543737084367 +196.976,2024/05/28 15:40:11.8299,17.426001183330072,28.415371426981793 +197.222,2024/05/28 15:40:12.0759,17.28559961421732,26.8464771121526 +197.618,2024/05/28 15:40:12.4719,17.377121965853036,27.145288111690153 +197.961,2024/05/28 15:40:12.8149,17.21603769811824,27.440845468024488 +198.109,2024/05/28 15:40:12.9629,16.093869754605375,26.152119098331845 +198.207,2024/05/28 15:40:13.0609,15.111995691937755,26.18460107264064 +198.454,2024/05/28 15:40:13.3079,14.984474724149045,24.9218779388713 +198.7,2024/05/28 15:40:13.5539,14.333306602489222,23.936722137056833 +198.848,2024/05/28 15:40:13.7019,14.48538700834912,22.981876917838253 +198.946,2024/05/28 15:40:13.7999,14.29331489105141,23.054283766797006 +199.193,2024/05/28 15:40:14.0469,14.053428427780611,22.239604313026796 +199.341,2024/05/28 15:40:14.1949,14.17302764562731,21.375219297120672 +199.439,2024/05/28 15:40:14.2929,13.553809321606797,20.042454939452902 +199.685,2024/05/28 15:40:14.5389,13.439348643221523,18.59211302317912 +199.931,2024/05/28 15:40:14.7849,13.256098141273332,18.59211302317912 +200.08,2024/05/28 15:40:14.9339,13.04726157026043,16.87305544351704 +200.177,2024/05/28 15:40:15.0309,13.005259767080005,14.809906594348709 +200.423,2024/05/28 15:40:15.2769,12.698311952256347,12.884098726725126 +200.572,2024/05/28 15:40:15.4259,13.502703007390034,11.081516141756055 +200.67,2024/05/28 15:40:15.5239,13.756712050370679,10.75174404457249 +200.916,2024/05/28 15:40:15.7699,13.463829791099895,9.973297682645729 +201.162,2024/05/28 15:40:16.0159,13.063109414922483,9.973297682645729 +201.311,2024/05/28 15:40:16.1649,14.009684663397802,10.628577828979127 +201.409,2024/05/28 15:40:16.2629,13.38484303189738,11.245739934155807 +201.804,2024/05/28 15:40:16.6579,13.486860357357994,11.76860229593982 +202.148,2024/05/28 15:40:17.0019,13.07735605462103,12.181953866272849 +202.394,2024/05/28 15:40:17.2479,12.593055922661753,12.181953866272849 +202.543,2024/05/28 15:40:17.3969,12.29713544814017,12.318008497047456 +202.64,2024/05/28 15:40:17.4939,11.62246140864411,12.452576707921404 +202.887,2024/05/28 15:40:17.7409,11.434772537681912,12.28956196669895 +203.133,2024/05/28 15:40:17.9869,10.60448831456808,12.17374223482656 +203.282,2024/05/28 15:40:18.1359,9.92900082945317,12.28413611126155 +203.379,2024/05/28 15:40:18.2329,9.949354510340418,11.72461797529739 +203.625,2024/05/28 15:40:18.4789,8.908281049921161,11.015141094572204 +203.774,2024/05/28 15:40:18.6279,9.294912710664246,10.345691534804878 +203.871,2024/05/28 15:40:18.7249,9.091425795139212,10.345691534804878 +204.117,2024/05/28 15:40:18.9709,8.876936408469795,10.345691534804878 +204.267,2024/05/28 15:40:19.1209,8.610071621847844,10.36018017861337 +204.364,2024/05/28 15:40:19.2179,8.650626181574932,10.21273714534943 +204.61,2024/05/28 15:40:19.4639,8.411541059076026,10.048217088949993 +204.856,2024/05/28 15:40:19.7099,8.411541059076026,9.966610925150702 +205.005,2024/05/28 15:40:19.8589,8.509967110976485,9.931431585291888 +205.103,2024/05/28 15:40:19.9569,8.739920302643984,9.931431585291888 +205.349,2024/05/28 15:40:20.2029,8.957691102347448,9.931431585291888 +205.595,2024/05/28 15:40:20.4489,9.164148034346667,9.931431585291888 +205.744,2024/05/28 15:40:20.5979,9.271697137855119,9.603818684946802 +205.842,2024/05/28 15:40:20.6959,9.446522196513117,9.499122766515512 +206.088,2024/05/28 15:40:20.9419,9.442871178406172,9.584710046040342 +206.237,2024/05/28 15:40:21.0909,9.328241632485991,9.584710046040342 +206.335,2024/05/28 15:40:21.1889,9.293428651040275,9.584710046040342 +206.581,2024/05/28 15:40:21.4349,9.254014351038037,9.584710046040342 +206.827,2024/05/28 15:40:21.6809,9.209939658096024,9.584710046040342 +206.976,2024/05/28 15:40:21.8299,7.861224495887199,8.852494940222595 +207.073,2024/05/28 15:40:21.9269,7.774775008757886,8.053984521134037 +207.319,2024/05/28 15:40:22.1729,6.127383420860219,7.268654162452175 +207.468,2024/05/28 15:40:22.3219,6.858588038735281,7.101643002385669 +207.565,2024/05/28 15:40:22.4189,6.738890389239643,7.7502688125423544 +207.812,2024/05/28 15:40:22.6659,5.928792011250689,7.5321532999092184 +208.058,2024/05/28 15:40:22.9119,5.763639495137744,7.307530362578044 +208.207,2024/05/28 15:40:23.0609,7.6920618882052505,8.814760348415605 +208.305,2024/05/28 15:40:23.1589,7.6920618882052505,10.039920318408907 +208.551,2024/05/28 15:40:23.4049,7.5461035084966115,9.904544411531507 +208.699,2024/05/28 15:40:23.5529,9.09237396766325,10.940749517286282 +208.797,2024/05/28 15:40:23.6509,9.09237396766325,12.0 +209.044,2024/05/28 15:40:23.8979,8.889099614361786,11.86029791643813 +209.29,2024/05/28 15:40:24.1439,8.889099614361786,11.718930554164631 +209.536,2024/05/28 15:40:24.3899,8.889099614361786,11.718930554164631 +209.685,2024/05/28 15:40:24.5389,9.085544916888868,11.877148928369412 +209.783,2024/05/28 15:40:24.6369,9.085544916888868,12.033287165193059 +210.028,2024/05/28 15:40:24.8819,9.085544916888868,12.033287165193059 +210.178,2024/05/28 15:40:25.0319,10.58523152495052,13.14660919527668 +210.274,2024/05/28 15:40:25.1279,10.580018034446823,14.168039149202452 +210.916,2024/05/28 15:40:25.7699,14.042996372799603,16.92926460304759 +211.013,2024/05/28 15:40:25.8669,14.00886418886609,19.32097306038182 +211.26,2024/05/28 15:40:26.1139,13.970617771579244,19.32097306038182 +211.408,2024/05/28 15:40:26.2619,16.435348784105535,21.288494545176274 +211.506,2024/05/28 15:40:26.3599,16.41894056251587,23.08895840006647 +211.752,2024/05/28 15:40:26.6059,16.41894056251587,23.05356082401733 +211.999,2024/05/28 15:40:26.8529,16.245282250620487,22.890318186225954 +212.148,2024/05/28 15:40:27.0019,17.746749742891204,23.926972228010797 +212.245,2024/05/28 15:40:27.0989,17.746749742891204,25.070567072432432 +212.491,2024/05/28 15:40:27.3449,17.746749742891204,25.070567072432432 +212.738,2024/05/28 15:40:27.5919,17.747138347921254,25.046623192225603 +212.886,2024/05/28 15:40:27.7399,20.291128235204177,27.10043050088565 +212.984,2024/05/28 15:40:27.8379,20.291128235204177,29.029869674756263 +213.23,2024/05/28 15:40:28.0839,19.89385626874309,28.863471724655717 +213.477,2024/05/28 15:40:28.3309,19.89385626874309,28.69610891160449 +213.722,2024/05/28 15:40:28.5759,19.89385626874309,28.69610891160449 +213.871,2024/05/28 15:40:28.7249,23.467855246807037,31.71750305430741 +213.968,2024/05/28 15:40:28.8219,22.585749754082876,34.12086360767167 +214.215,2024/05/28 15:40:29.0689,22.585749754082876,33.76289876970479 +214.461,2024/05/28 15:40:29.3149,22.585749754082876,33.76289876970479 +214.61,2024/05/28 15:40:29.4639,24.176078230778533,35.76264345188519 +214.707,2024/05/28 15:40:29.5609,24.176078230778533,37.656340767525464 +214.856,2024/05/28 15:40:29.7099,24.59090571081504,38.35796310198618 +214.954,2024/05/28 15:40:29.8079,24.59090571081504,39.04698025029166 +215.2,2024/05/28 15:40:30.0539,24.59090571081504,39.04698025029166 +215.447,2024/05/28 15:40:30.3009,24.295806364403443,38.995298861956854 +215.595,2024/05/28 15:40:30.4489,24.158575736355626,39.01580876174853 +215.693,2024/05/28 15:40:30.5469,24.158575736355626,39.087935052477086 +215.939,2024/05/28 15:40:30.7929,24.12336588474399,38.727681744888024 +216.087,2024/05/28 15:40:30.9409,24.003950824238263,38.40746455226293 +216.186,2024/05/28 15:40:31.0399,22.954953388266883,37.265712569778316 +216.431,2024/05/28 15:40:31.2849,22.863814707710954,36.08369899737738 +216.677,2024/05/28 15:40:31.5309,22.769837883511897,36.08369899737738 +216.826,2024/05/28 15:40:31.6799,21.701236788739774,34.964744147974734 +216.924,2024/05/28 15:40:31.7779,21.613746158140632,33.808775980998384 +217.17,2024/05/28 15:40:32.0239,21.52328330292487,33.808775980998384 +217.319,2024/05/28 15:40:32.1729,21.412988860830634,33.81321240777535 +217.416,2024/05/28 15:40:32.2699,20.7153949083026,32.97878105691598 +217.663,2024/05/28 15:40:32.5169,20.627623483444367,32.11801156153143 +217.909,2024/05/28 15:40:32.7629,20.536734678726337,32.11801156153143 +218.058,2024/05/28 15:40:32.9119,20.486721239048233,32.126313202731495 +218.155,2024/05/28 15:40:33.0089,18.60181674479479,30.40285074352952 +218.402,2024/05/28 15:40:33.2559,18.518366155185042,28.566297158248098 +218.648,2024/05/28 15:40:33.5019,18.431482312334975,28.566297158248098 +218.797,2024/05/28 15:40:33.6509,18.749436773150716,28.754709759156558 +218.895,2024/05/28 15:40:33.7489,18.66535299154244,28.941895814430218 +219.141,2024/05/28 15:40:33.9949,14.2450233294018,25.59492137124082 +219.29,2024/05/28 15:40:34.1439,14.784894434804205,22.106560112328648 +219.387,2024/05/28 15:40:34.2409,14.719171953222592,22.468496463567234 +219.633,2024/05/28 15:40:34.4869,14.649310524751797,22.468496463567234 +219.879,2024/05/28 15:40:34.7329,8.768805735276327,18.480620480203942 +220.028,2024/05/28 15:40:34.8819,9.016268820765164,13.558515159608493 +220.125,2024/05/28 15:40:34.9789,6.477991032420228,12.049896265113654 +220.372,2024/05/28 15:40:35.2259,6.635068796256756,9.584710046040342 +220.52,2024/05/28 15:40:35.3739,6.621195502708219,9.612491872558333 +220.618,2024/05/28 15:40:35.4719,6.717706915825023,9.640193635676274 +221.259,2024/05/28 15:40:36.1129,6.900691286379361,9.359487165438072 +221.603,2024/05/28 15:40:36.4569,6.807365855092908,9.235799911215054 +221.752,2024/05/28 15:40:36.6059,6.718990071895806,9.252026804976301 +221.85,2024/05/28 15:40:36.7039,6.685805860180759,9.086620200419222 +222.491,2024/05/28 15:40:37.3449,7.242991063107594,9.528903399657276 +222.589,2024/05/28 15:40:37.4429,7.3952454436915565,10.413132733876648 +222.835,2024/05/28 15:40:37.6889,7.53695874517461,10.413132733876648 +222.984,2024/05/28 15:40:37.8379,7.751084462502917,10.951407824263205 +223.08,2024/05/28 15:40:37.9339,7.895582935102659,11.46443776786866 +223.328,2024/05/28 15:40:38.1819,8.030473569295497,11.46443776786866 +223.573,2024/05/28 15:40:38.4269,8.128918153411,11.451346354614087 +223.722,2024/05/28 15:40:38.5759,8.138457025668187,11.583033569262703 +223.819,2024/05/28 15:40:38.6729,8.26159929968364,11.726039399558575 +224.066,2024/05/28 15:40:38.9199,8.37621152671407,11.726039399558575 +224.214,2024/05/28 15:40:39.0679,8.357253027218187,11.738824472663351 +224.312,2024/05/28 15:40:39.1659,8.45821371865083,11.75159563633807 +224.558,2024/05/28 15:40:39.4119,8.55139969722137,11.75159563633807 +224.805,2024/05/28 15:40:39.6589,8.637062612644502,11.75159563633807 +225.051,2024/05/28 15:40:39.9049,7.9637107968083765,11.282730166054668 +225.2,2024/05/28 15:40:40.0539,9.605075286763588,12.54325848148452 +225.298,2024/05/28 15:40:40.1519,9.678094711326626,14.07716827585245 +225.446,2024/05/28 15:40:40.2999,12.791924535946938,17.03917055884274 +225.544,2024/05/28 15:40:40.3979,12.859988738130987,19.557607215607945 +225.79,2024/05/28 15:40:40.6439,12.923337172657432,19.557607215607945 +225.939,2024/05/28 15:40:40.7929,17.578101580444905,23.56409698390046 +226.037,2024/05/28 15:40:40.8909,17.49758604040586,26.87811997393667 +226.283,2024/05/28 15:40:41.1369,17.49758604040586,26.60325794584816 +226.431,2024/05/28 15:40:41.2849,21.998328045140905,30.526491227566044 +226.529,2024/05/28 15:40:41.3829,22.053852583916655,33.99215595790692 +226.775,2024/05/28 15:40:41.6289,22.053852583916655,33.98431010530203 +227.022,2024/05/28 15:40:41.8759,21.995846002810033,33.97989601710596 +227.17,2024/05/28 15:40:42.0239,25.334089522894715,36.94094386088874 +227.267,2024/05/28 15:40:42.1209,25.445004929496285,39.719852299154724 +227.514,2024/05/28 15:40:42.3679,25.533863023827042,39.716075670522464 +227.662,2024/05/28 15:40:42.5159,27.341623357366906,41.45439261003189 +227.76,2024/05/28 15:40:42.6139,27.341623357366906,43.01705088295415 +228.006,2024/05/28 15:40:42.8599,27.341623357366906,43.01705088295415 +228.253,2024/05/28 15:40:43.1069,27.447253489884037,42.87695573770756 +228.401,2024/05/28 15:40:43.2549,28.985232070158364,44.452596474596774 +228.499,2024/05/28 15:40:43.3529,28.985232070158364,46.10495273467555 +228.745,2024/05/28 15:40:43.5989,28.985232070158364,46.10495273467555 +228.992,2024/05/28 15:40:43.8459,29.11185325601958,46.068789145508624 +229.14,2024/05/28 15:40:43.9939,30.594211006764848,47.77377244193024 +229.238,2024/05/28 15:40:44.0919,30.594211006764848,49.453682033461035 +229.387,2024/05/28 15:40:44.2409,32.32772199205216,51.40492842779442 +229.484,2024/05/28 15:40:44.3379,32.32772199205216,53.284769556287536 +229.731,2024/05/28 15:40:44.5849,32.32772199205216,53.284769556287536 +229.878,2024/05/28 15:40:44.7319,34.16585645240646,55.49864863219644 +229.977,2024/05/28 15:40:44.8309,34.16585645240646,57.627539712652435 +230.223,2024/05/28 15:40:45.0769,34.34143973042815,57.272157284320976 +230.47,2024/05/28 15:40:45.3239,34.34143973042815,56.91455584177625 +230.617,2024/05/28 15:40:45.4709,36.057887685883976,58.36951259004995 +230.715,2024/05/28 15:40:45.5689,36.057887685883976,59.7890736952274 +230.961,2024/05/28 15:40:45.8149,36.057887685883976,59.7890736952274 +231.11,2024/05/28 15:40:45.9639,37.03724438000719,60.59647954570738 +231.208,2024/05/28 15:40:46.0619,37.03724438000719,61.39326781767959 +231.603,2024/05/28 15:40:46.4569,38.55464848160638,63.46074902383888 +231.947,2024/05/28 15:40:46.8009,37.377923904389135,63.72806812281906 +232.193,2024/05/28 15:40:47.0469,37.377923904389135,61.944598903644 +232.342,2024/05/28 15:40:47.1959,38.60462720166215,63.77120562343688 +232.439,2024/05/28 15:40:47.2929,38.60462720166215,65.5469297526589 +232.686,2024/05/28 15:40:47.5399,37.53704683452705,63.898878446078115 +232.834,2024/05/28 15:40:47.6879,38.70162906072593,63.98333116262912 +232.932,2024/05/28 15:40:47.7859,38.70162906072593,65.71149062378664 +233.178,2024/05/28 15:40:48.0319,38.22409723192174,64.56288923729069 +233.326,2024/05/28 15:40:48.1799,39.191777228123414,65.0135883232626 +233.425,2024/05/28 15:40:48.2789,39.191777228123414,66.59429404986587 +233.671,2024/05/28 15:40:48.5249,39.191777228123414,66.59429404986587 +233.819,2024/05/28 15:40:48.6729,39.809618776451984,67.15132165490118 +233.918,2024/05/28 15:40:48.7719,39.809618776451984,67.70376651265423 +234.163,2024/05/28 15:40:49.0169,39.809618776451984,67.70376651265423 +234.409,2024/05/28 15:40:49.2629,39.809618776451984,67.70376651265423 +234.558,2024/05/28 15:40:49.4119,40.2169547364773,68.07202068397852 +234.656,2024/05/28 15:40:49.5099,40.2169547364773,68.43829337439676 +234.902,2024/05/28 15:40:49.7559,39.42459702488684,66.97885238391792 +235.148,2024/05/28 15:40:50.0019,39.149580523581825,65.58861689856455 +235.297,2024/05/28 15:40:50.1509,39.90305781501597,66.40908572376725 +235.395,2024/05/28 15:40:50.2489,38.47220223521899,65.40361865625887 +235.543,2024/05/28 15:40:50.3969,39.04911437322663,64.26844741654597 +235.641,2024/05/28 15:40:50.4949,38.709127498874714,64.99282011627643 +236.284,2024/05/28 15:40:51.1379,38.97840545679136,65.63078545926446 +236.38,2024/05/28 15:40:51.2339,37.83115847716189,63.50590523722971 +236.626,2024/05/28 15:40:51.4799,37.80530887733022,61.2940997704238 +236.774,2024/05/28 15:40:51.6279,37.79703813731995,61.30089722018757 +236.872,2024/05/28 15:40:51.7259,36.755936263067895,59.064653840798336 +237.118,2024/05/28 15:40:51.9719,36.523712971101354,56.7330003907191 +237.267,2024/05/28 15:40:52.1209,35.82173295255456,54.4300774694776 +237.365,2024/05/28 15:40:52.2189,35.4896779554183,52.02531435112462 +237.611,2024/05/28 15:40:52.4649,35.02447420166989,52.02531435112462 +237.858,2024/05/28 15:40:52.7119,34.36385765078872,49.76946855251722 +238.006,2024/05/28 15:40:52.8599,34.19215477672987,47.475256713365965 +238.104,2024/05/28 15:40:52.9579,33.72375948827437,47.4784161488144 +238.35,2024/05/28 15:40:53.2039,33.44723069821025,45.05626112613725 +238.498,2024/05/28 15:40:53.3519,32.98770234113179,42.51039088662128 +238.597,2024/05/28 15:40:53.4509,32.1176000019466,42.524502740576914 +238.843,2024/05/28 15:40:53.6969,31.970981814153006,40.00374982423523 +238.991,2024/05/28 15:40:53.8449,30.96263970450913,37.31710957009756 +239.088,2024/05/28 15:40:53.9419,29.617562357492876,37.321128957557896 +239.336,2024/05/28 15:40:54.1899,29.393798704808976,34.18674206959963 +239.581,2024/05/28 15:40:54.4349,27.771977938574466,30.734345608781066 +239.73,2024/05/28 15:40:54.5839,25.661926715634507,30.799891774701635 +239.827,2024/05/28 15:40:54.6809,23.29197484014604,30.865298745786774 +240.074,2024/05/28 15:40:54.9279,23.29197484014604,27.21274211345364 +240.222,2024/05/28 15:40:55.0759,20.458087235450552,23.73815494093844 +240.32,2024/05/28 15:40:55.1739,16.936799355656383,24.49081460466352 +240.964,2024/05/28 15:40:55.8179,15.668843086779887,25.514701644346147 +241.059,2024/05/28 15:40:55.9129,15.752576873670174,24.64210488844923 +241.305,2024/05/28 15:40:56.1589,13.359959047358402,22.33681564890872 +241.453,2024/05/28 15:40:56.3069,13.951517035296726,21.12186860420577 +241.552,2024/05/28 15:40:56.4059,10.980704078925541,19.83263304085802 +242.192,2024/05/28 15:40:57.0459,12.024352684083722,18.924411043235487 +242.291,2024/05/28 15:40:57.1449,12.181765155297377,20.115499828076192 +242.537,2024/05/28 15:40:57.3909,12.310214429907846,20.115499828076192 +242.685,2024/05/28 15:40:57.5389,12.955094857182152,20.978560484456505 +242.784,2024/05/28 15:40:57.6379,13.081925760726593,21.807491067673663 +243.029,2024/05/28 15:40:57.8829,13.182363697138863,21.807491067673663 +243.275,2024/05/28 15:40:58.1289,13.318598179659547,21.758523234202578 +243.424,2024/05/28 15:40:58.2779,14.347734011485384,22.904875754592805 +243.522,2024/05/28 15:40:58.3759,14.435309519352419,24.04093730840515 +243.768,2024/05/28 15:40:58.6219,14.49946491283684,24.04093730840515 +243.916,2024/05/28 15:40:58.7699,16.099546648859945,25.523845060387487 +244.014,2024/05/28 15:40:58.8679,16.205008449567114,27.040710049848915 +244.261,2024/05/28 15:40:59.1149,16.205008449567114,27.062889720057612 +244.507,2024/05/28 15:40:59.3609,16.099546648859945,27.040710049848915 +244.655,2024/05/28 15:40:59.5089,17.68641273413766,28.293697767052883 +244.753,2024/05/28 15:40:59.6069,17.68641273413766,29.513838562048594 +245.0,2024/05/28 15:40:59.8539,17.63711473262909,29.508755762767542 +245.147,2024/05/28 15:41:00.0009,18.762765769212002,30.53031280547253 +245.246,2024/05/28 15:41:00.0999,18.762765769212002,31.52353618065926 +245.492,2024/05/28 15:41:00.3459,18.7790847217982,31.524064881716424 +245.738,2024/05/28 15:41:00.5919,18.833206184088315,31.460557316529957 +245.984,2024/05/28 15:41:00.8379,18.833206184088315,31.396390450708395 +246.133,2024/05/28 15:41:00.9869,19.68280070716895,32.344499790020976 +246.231,2024/05/28 15:41:01.0849,19.421548643815896,32.526911934581186 +246.379,2024/05/28 15:41:01.2329,20.285207792191436,32.787700946137306 +246.477,2024/05/28 15:41:01.3309,19.63239757346841,32.616458013299564 +246.723,2024/05/28 15:41:01.5769,19.434653254596714,31.611706692299926 +246.97,2024/05/28 15:41:01.8239,19.22764413157641,31.611706692299926 +247.118,2024/05/28 15:41:01.9719,19.64632690656222,31.575306807693888 +247.216,2024/05/28 15:41:02.0699,19.395579541408324,31.34166555880526 +247.462,2024/05/28 15:41:02.3159,18.991256306309076,30.564140208202595 +247.61,2024/05/28 15:41:02.4639,19.37355111378893,30.171730698343 +247.709,2024/05/28 15:41:02.5629,19.078302052210372,30.57177347379987 +247.955,2024/05/28 15:41:02.8089,18.880629251153465,29.972209350218634 +248.103,2024/05/28 15:41:02.9569,18.71286360682909,29.47145511620807 +248.201,2024/05/28 15:41:03.0549,18.377147227735275,29.507626132916894 +248.448,2024/05/28 15:41:03.3019,18.00143672427023,29.507626132916894 +248.694,2024/05/28 15:41:03.5479,17.630172673735235,28.589625157855195 +248.842,2024/05/28 15:41:03.6959,17.276121318631287,27.656222928423663 +248.939,2024/05/28 15:41:03.7929,16.822569678104706,27.67128475513922 +249.187,2024/05/28 15:41:04.0409,16.014397258098853,26.185237571323782 +249.334,2024/05/28 15:41:04.1879,15.529134650342913,24.609618715724412 +249.432,2024/05/28 15:41:04.2859,15.250438094328354,24.585225915848998 +249.678,2024/05/28 15:41:04.5319,14.944341180972481,24.585225915848998 +249.925,2024/05/28 15:41:04.7789,13.88164255410632,23.1062762036638 +250.073,2024/05/28 15:41:04.9269,14.183526141022918,21.89748844045819 +250.171,2024/05/28 15:41:05.0249,13.971605030432793,21.973468850714795 +250.417,2024/05/28 15:41:05.2709,13.325500572857253,20.523157651784484 +250.664,2024/05/28 15:41:05.5179,13.06148149524216,18.96224318657122 +250.811,2024/05/28 15:41:05.6649,15.81869256552955,20.522345544958224 +251.304,2024/05/28 15:41:06.1579,19.64641466515931,20.754919095642524 +251.403,2024/05/28 15:41:06.2569,19.32552359106866,22.60088493842664 +251.649,2024/05/28 15:41:06.5029,19.237804018345276,21.19355247868244 +251.896,2024/05/28 15:41:06.7499,19.037047969742737,20.025816670821026 +252.043,2024/05/28 15:41:06.8969,22.09178866540169,20.761342281589922 +252.142,2024/05/28 15:41:06.9959,21.929484691860985,20.960279896349984 +252.388,2024/05/28 15:41:07.2419,21.67261633607181,20.960279896349984 +252.635,2024/05/28 15:41:07.4889,21.317765512285167,20.960279896349984 +252.782,2024/05/28 15:41:07.6359,23.87055609481808,21.571586249817916 +252.88,2024/05/28 15:41:07.7339,23.59332167343553,22.444004396126225 +253.126,2024/05/28 15:41:07.9799,23.24880419616719,22.444004396126225 +253.373,2024/05/28 15:41:08.2269,23.33208535250437,21.895966142952755 +253.521,2024/05/28 15:41:08.3749,25.30358204618107,23.20488454327379 +253.619,2024/05/28 15:41:08.4729,24.764732060391665,24.935917869611295 +253.865,2024/05/28 15:41:08.7189,24.61622677604467,24.804569471503967 +254.014,2024/05/28 15:41:08.8679,26.550515721120714,26.72015469017099 +254.112,2024/05/28 15:41:08.9659,26.057606386134562,28.5447017850949 +254.358,2024/05/28 15:41:09.2119,25.51467911957197,28.5447017850949 +254.604,2024/05/28 15:41:09.4579,25.10767616285627,28.53010106302932 +254.752,2024/05/28 15:41:09.6059,25.933247643389105,29.831750423555995 +254.851,2024/05/28 15:41:09.7049,25.206366646945458,31.092335604346825 +255.097,2024/05/28 15:41:09.9509,24.415559388019368,31.092335604346825 +255.245,2024/05/28 15:41:10.0989,23.98239296679568,31.603269873015776 +255.343,2024/05/28 15:41:10.1969,23.013863887546172,32.10607419165414 +255.59,2024/05/28 15:41:10.4439,21.955676353461563,32.10607419165414 +255.836,2024/05/28 15:41:10.6899,21.79636688063914,31.85383284106744 +256.081,2024/05/28 15:41:10.9349,21.275667392317615,31.801467471381464 +256.328,2024/05/28 15:41:11.1819,20.878851423908138,31.827137267851576 +256.574,2024/05/28 15:41:11.4279,20.467552116831033,31.827137267851576 +256.821,2024/05/28 15:41:11.6749,20.4980795287714,30.84369195367723 +257.067,2024/05/28 15:41:11.9209,19.71801207018647,30.687130853176875 +257.215,2024/05/28 15:41:12.0689,19.542497163932726,29.42278029010855 +257.313,2024/05/28 15:41:12.1669,19.542497163932726,29.49124163770209 +257.56,2024/05/28 15:41:12.4139,19.542497163932726,29.49124163770209 +257.806,2024/05/28 15:41:12.6599,18.540449721139108,28.042824394129774 +257.954,2024/05/28 15:41:12.8079,18.516876427834603,27.099815497526915 +258.052,2024/05/28 15:41:12.9059,18.644403801233942,27.276974416773818 +258.299,2024/05/28 15:41:13.1529,18.768064095294314,27.276974416773818 +258.446,2024/05/28 15:41:13.2999,17.422702853250428,26.347675419285096 +258.545,2024/05/28 15:41:13.3989,17.53800470964183,25.38437839827217 +258.791,2024/05/28 15:41:13.6449,17.649362594723257,25.38437839827217 +259.038,2024/05/28 15:41:13.8919,17.75685070969661,25.38437839827217 +259.187,2024/05/28 15:41:14.0409,15.676360415035248,24.02429326050335 +259.283,2024/05/28 15:41:14.1369,15.676360415035248,22.390474164995553 +259.529,2024/05/28 15:41:14.3829,15.676360415035248,22.390474164995553 +259.678,2024/05/28 15:41:14.5319,12.60742346543477,20.280532537386684 +259.776,2024/05/28 15:41:14.6299,12.60742346543477,17.9239132631986 +260.417,2024/05/28 15:41:15.2709,13.287666046583645,18.495945501649814 +260.515,2024/05/28 15:41:15.3689,13.287666046583645,19.05080925665189 +260.761,2024/05/28 15:41:15.6149,10.168748609139422,16.915476148584567 +261.007,2024/05/28 15:41:15.8609,10.168748609139422,14.46835627614047 +261.155,2024/05/28 15:41:16.0089,12.092554943331267,15.967675681409197 +261.254,2024/05/28 15:41:16.1079,10.815537992581714,16.388003742575442 +261.5,2024/05/28 15:41:16.3539,10.815537992581714,15.379640221192865 +261.648,2024/05/28 15:41:16.5019,12.527899898310306,16.725230441860386 +261.746,2024/05/28 15:41:16.5999,12.527899898310306,17.970345943618707 +261.993,2024/05/28 15:41:16.8469,12.527899898310306,17.970345943618707 +262.14,2024/05/28 15:41:16.9939,12.400593237571057,17.939713858736244 +262.239,2024/05/28 15:41:17.0929,12.279316316286414,17.94807324849476 +262.485,2024/05/28 15:41:17.3389,12.13828369393708,17.94807324849476 +262.731,2024/05/28 15:41:17.5849,11.976797491856335,17.94807324849476 +262.88,2024/05/28 15:41:17.7339,13.041930609499651,18.71185007778048 +262.977,2024/05/28 15:41:17.8309,12.909232194909388,19.44565075623167 +263.224,2024/05/28 15:41:18.0779,12.848543009667722,19.476481543988722 +263.371,2024/05/28 15:41:18.2249,14.887354813174458,21.58780519954109 +263.47,2024/05/28 15:41:18.3239,14.942956669381198,23.304506002058915 +263.716,2024/05/28 15:41:18.5699,14.902904137253062,23.09689733853157 +263.864,2024/05/28 15:41:18.7179,17.308425959497793,25.408659941051596 +263.963,2024/05/28 15:41:18.8169,17.28732842685491,27.25863777471892 +264.209,2024/05/28 15:41:19.0629,17.724876991613574,27.108424274875638 +264.455,2024/05/28 15:41:19.3089,18.07853238881273,27.108424274875638 +264.603,2024/05/28 15:41:19.4569,20.4271624440904,30.370490062998105 +264.702,2024/05/28 15:41:19.5559,20.768676679906665,33.07163941103212 +264.948,2024/05/28 15:41:19.8019,21.16169278151744,32.95805414968143 +265.195,2024/05/28 15:41:20.0489,21.73730307162331,32.97625408279924 +265.342,2024/05/28 15:41:20.1959,23.902002994026525,36.14231130775489 +265.44,2024/05/28 15:41:20.2939,24.467407361396564,39.052528727343635 +265.588,2024/05/28 15:41:20.4419,25.673927917493632,41.19223227745736 +265.686,2024/05/28 15:41:20.5399,26.251743237136115,43.22614949310197 +265.933,2024/05/28 15:41:20.7869,26.770394524334574,43.22614949310197 +266.179,2024/05/28 15:41:21.0329,27.2332622855335,43.22614949310197 +266.327,2024/05/28 15:41:21.1809,27.443588954665888,44.313654780439855 +266.426,2024/05/28 15:41:21.2799,27.94419726740342,45.37510330566753 +266.672,2024/05/28 15:41:21.5259,28.391940737656384,45.37510330566753 +266.819,2024/05/28 15:41:21.6729,28.50093767362537,46.3015478502969 +266.918,2024/05/28 15:41:21.7719,28.981980132727468,47.209815363615505 +267.312,2024/05/28 15:41:22.1659,29.5173629012433,48.4231349666665 +267.656,2024/05/28 15:41:22.5099,29.987353656339224,49.60141127024512 +267.904,2024/05/28 15:41:22.7579,30.41974555350927,49.59838707054898 +268.051,2024/05/28 15:41:22.9049,31.276023647075565,51.08457040372693 +268.149,2024/05/28 15:41:23.0029,31.54316509749509,52.28447825757341 +268.395,2024/05/28 15:41:23.2489,31.290334889088065,51.977238608195925 +268.544,2024/05/28 15:41:23.3979,32.74493906671342,53.35947276101342 +268.642,2024/05/28 15:41:23.4959,32.96046046436556,54.98787745191358 +268.888,2024/05/28 15:41:23.7419,32.12361182653077,54.1937880819072 +269.036,2024/05/28 15:41:23.8899,33.84100756631612,55.25456240589248 +269.134,2024/05/28 15:41:23.9879,34.04250217041934,57.06020212605864 +269.381,2024/05/28 15:41:24.2349,32.83473070134586,56.069005103830165 +269.627,2024/05/28 15:41:24.4809,33.00045280079489,55.05996730838114 +269.775,2024/05/28 15:41:24.6289,34.28858259758986,56.59240231691883 +269.873,2024/05/28 15:41:24.7269,34.28858259758986,58.14063409813599 +270.12,2024/05/28 15:41:24.9739,32.88328366856945,56.505162006079885 +270.514,2024/05/28 15:41:25.3679,33.83163180139033,56.129611911479785 +270.859,2024/05/28 15:41:25.7129,33.81152969372879,57.37043373260016 +271.006,2024/05/28 15:41:25.8599,33.980403412731434,58.17043922818531 +271.105,2024/05/28 15:41:25.9589,32.580228120254695,57.02075645470399 +271.351,2024/05/28 15:41:26.2049,32.43532911367885,54.97029500860745 +271.499,2024/05/28 15:41:26.3529,31.326900782613304,53.74011537017761 +271.598,2024/05/28 15:41:26.4519,31.181043460160012,52.48110771188683 +271.843,2024/05/28 15:41:26.6969,31.03316727735645,52.48110771188683 +272.089,2024/05/28 15:41:26.9429,30.883243233891374,52.48110771188683 +272.238,2024/05/28 15:41:27.0919,30.146405210679053,51.542539065642984 +272.336,2024/05/28 15:41:27.1899,30.407292682445156,50.981696061756644 +272.582,2024/05/28 15:41:27.4359,30.663561811839912,50.981696061756644 +272.73,2024/05/28 15:41:27.5839,30.11832985249133,50.677411141454336 +272.829,2024/05/28 15:41:27.6829,30.369770965645582,50.37128811800098 +273.075,2024/05/28 15:41:27.9289,30.12662930205557,49.206029440845285 +273.223,2024/05/28 15:41:28.0769,30.538105083141424,49.45738906708818 +273.321,2024/05/28 15:41:28.1749,30.78074110525165,50.86124916541735 +273.567,2024/05/28 15:41:28.4209,30.108233875909477,49.36834343314887 +273.716,2024/05/28 15:41:28.5699,31.408030307806875,50.26463302694384 +273.813,2024/05/28 15:41:28.6669,31.764145188250446,52.34373569651546 +274.06,2024/05/28 15:41:28.9139,30.325911685228167,50.61850781417142 +274.306,2024/05/28 15:41:29.1599,30.877659967321044,48.849087333678334 +274.454,2024/05/28 15:41:29.3079,33.068737189532506,52.14946468245543 +274.552,2024/05/28 15:41:29.4059,31.476756613358088,53.38632783775262 +274.799,2024/05/28 15:41:29.6529,31.97774010259319,51.45191930336516 +274.946,2024/05/28 15:41:29.7999,34.47711218138554,54.84371735516597 +275.045,2024/05/28 15:41:29.8989,34.977907641660536,58.037631470164825 +275.292,2024/05/28 15:41:30.1459,33.616994197140954,56.48657657650473 +275.538,2024/05/28 15:41:30.3919,34.048984321611826,54.89171157834304 +275.686,2024/05/28 15:41:30.5399,36.15803435304377,57.7341608870635 +275.784,2024/05/28 15:41:30.6379,35.144038588015135,59.22977854649354 +276.031,2024/05/28 15:41:30.8849,35.54398279095512,58.02872851728989 +276.178,2024/05/28 15:41:31.0319,35.54398279095512,58.831964101158476 +276.277,2024/05/28 15:41:31.1309,35.91722604039486,59.594462830031446 +276.522,2024/05/28 15:41:31.3759,36.27265839618699,59.594462830031446 +276.769,2024/05/28 15:41:31.6229,35.991074883426414,59.09906936661524 +277.015,2024/05/28 15:41:31.8689,36.28995617991665,58.59948805237124 +277.164,2024/05/28 15:41:32.0179,36.56310872368855,59.306267234865935 +277.265,2024/05/28 15:41:32.1189,36.718578716891344,59.82362966810579 +277.508,2024/05/28 15:41:32.3619,36.37576874409914,59.46147211990859 +277.655,2024/05/28 15:41:32.5089,36.23556391108139,58.838479472762266 +277.754,2024/05/28 15:41:32.6079,36.23556391108139,58.92028513169297 +278.0,2024/05/28 15:41:32.8539,35.695390732421934,58.08958598578578 +278.247,2024/05/28 15:41:33.1009,35.695390732421934,57.24683397359193 +278.394,2024/05/28 15:41:33.2479,35.631333879368476,57.25411193384571 +278.493,2024/05/28 15:41:33.3469,34.49670982145679,56.01815182004252 +278.739,2024/05/28 15:41:33.5929,34.49670982145679,54.74668939762476 +278.887,2024/05/28 15:41:33.7409,34.403972638830226,54.83459978274058 +278.986,2024/05/28 15:41:33.8399,32.15767547497909,52.944625160004044 +279.232,2024/05/28 15:41:34.0859,32.15767547497909,50.89007761833342 +279.478,2024/05/28 15:41:34.3319,32.15767547497909,50.89007761833342 +279.626,2024/05/28 15:41:34.4799,32.064948456847354,51.09500954105009 +279.725,2024/05/28 15:41:34.5789,28.30582166675145,47.95727264972436 +279.97,2024/05/28 15:41:34.8239,28.193175990190316,44.3459881687923 +280.118,2024/05/28 15:41:34.9719,28.02675240863205,44.43047002527282 +280.857,2024/05/28 15:41:35.7109,22.785859700676284,40.1754485558863 +281.202,2024/05/28 15:41:36.0559,22.904725206421073,35.5410560713475 +281.35,2024/05/28 15:41:36.2039,22.865021220247083,35.54855833926321 +281.448,2024/05/28 15:41:36.3019,22.867660244492015,35.556059024213205 +281.695,2024/05/28 15:41:36.5489,17.543902238304284,30.726210309766483 +281.941,2024/05/28 15:41:36.7949,17.611418709620402,24.979324784042237 +282.089,2024/05/28 15:41:36.9429,17.458028486078796,24.99599967994879 +282.187,2024/05/28 15:41:37.0409,14.487767333129733,21.007935008784973 +282.434,2024/05/28 15:41:37.2879,14.763266000060913,15.932147794109033 +282.581,2024/05/28 15:41:37.4349,14.578404750092465,15.998958299422705 +282.679,2024/05/28 15:41:37.5329,14.615532597325824,16.065490966665166 +282.925,2024/05/28 15:41:37.7789,14.520101009751171,16.065490966665166 +283.319,2024/05/28 15:41:38.1729,14.391927814123454,13.281566172707194 +283.665,2024/05/28 15:41:38.5189,14.286437584318122,10.972693379476162 +283.911,2024/05/28 15:41:38.7649,14.116469553104267,10.972693379476162 +284.059,2024/05/28 15:41:38.9129,14.729593325692004,10.750193796702767 +284.157,2024/05/28 15:41:39.0109,14.351939273825671,10.861246091801192 +284.404,2024/05/28 15:41:39.2579,13.927728070128333,10.861246091801192 +284.551,2024/05/28 15:41:39.4049,13.772369473680868,11.201190412927845 +284.65,2024/05/28 15:41:39.5039,13.464470060979895,11.494926417047363 +284.896,2024/05/28 15:41:39.7499,12.875219002714106,11.458621208504974 +285.143,2024/05/28 15:41:39.9969,12.216250718171622,11.458621208504974 +285.29,2024/05/28 15:41:40.1439,12.275384208703892,11.180339887498949 +285.389,2024/05/28 15:41:40.2429,11.509166761336864,10.894952959971878 +285.635,2024/05/28 15:41:40.4889,10.640629140505624,10.894952959971878 +285.881,2024/05/28 15:41:40.7349,9.642160772764859,10.894952959971878 +286.028,2024/05/28 15:41:40.8819,9.755399330216221,10.048217088949993 +286.127,2024/05/28 15:41:40.9809,8.576967285475684,9.123230422023404 +286.275,2024/05/28 15:41:41.1289,7.1070630240355195,9.30412095077588 +286.373,2024/05/28 15:41:41.2269,6.843068478900601,9.077444574328174 +286.62,2024/05/28 15:41:41.4739,6.255112851231003,9.048020041239225 +286.866,2024/05/28 15:41:41.7199,6.359082562328398,8.499019551297275 +287.014,2024/05/28 15:41:41.8679,6.532412555337371,8.899438184514796 +287.112,2024/05/28 15:41:41.9659,6.638099714234344,9.282600210429546 +287.359,2024/05/28 15:41:42.2129,7.0632609446657515,9.370165420097983 +287.506,2024/05/28 15:41:42.3599,7.805759736085738,10.94684124911535 +287.605,2024/05/28 15:41:42.4589,8.144951189852755,12.28956196669895 +287.851,2024/05/28 15:41:42.7049,8.373192033365369,12.12435565298214 +287.999,2024/05/28 15:41:42.8529,10.200349329155726,14.64581851587681 +288.098,2024/05/28 15:41:42.9519,10.481784966883293,16.729215960907034 +288.344,2024/05/28 15:41:43.1979,10.64500314485864,16.665333279995732 +288.59,2024/05/28 15:41:43.4439,10.763123505109238,16.665333279995732 +288.738,2024/05/28 15:41:43.5919,14.558048688241913,20.633306408167677 +288.837,2024/05/28 15:41:43.6909,14.742580444445494,23.869087400513102 +289.083,2024/05/28 15:41:43.9369,14.909728367747942,23.869087400513102 +289.231,2024/05/28 15:41:44.0849,18.936554687912523,27.61460965986423 +289.328,2024/05/28 15:41:44.1819,19.063384895610408,30.79231505857698 +289.576,2024/05/28 15:41:44.4299,19.186441572889734,30.79231505857698 +289.969,2024/05/28 15:41:44.8229,22.514363231594242,33.81518396618103 +290.314,2024/05/28 15:41:45.1679,22.636076383132604,36.589160507815244 +290.461,2024/05/28 15:41:45.3149,24.71734464777324,38.75693486332478 +290.56,2024/05/28 15:41:45.4139,24.846401714553007,40.809721064145165 +290.807,2024/05/28 15:41:45.6609,25.030923403598305,40.76886066595435 +291.201,2024/05/28 15:41:46.0549,25.44084868099368,41.47770485453601 +291.546,2024/05/28 15:41:46.3999,25.570030050463995,42.21413665270597 +291.792,2024/05/28 15:41:46.6459,25.69637033271207,42.21413665270597 +291.94,2024/05/28 15:41:46.7939,25.97011987721284,42.16357037380334 +292.038,2024/05/28 15:41:46.8919,26.085271309886142,42.11294337849113 +292.285,2024/05/28 15:41:47.1389,26.242481134450284,42.07334865050162 +292.432,2024/05/28 15:41:47.2859,28.22275921895415,42.72743068958551 +293.024,2024/05/28 15:41:47.8779,28.30801438040024,43.4100602779279 +293.17,2024/05/28 15:41:48.0239,29.98698951595365,44.05072833298749 +293.27,2024/05/28 15:41:48.1239,29.93548618835784,44.83042121892975 +293.909,2024/05/28 15:41:48.7629,30.910326362917946,45.28134273627495 +294.008,2024/05/28 15:41:48.8619,30.858613432695524,45.79192068476709 +294.254,2024/05/28 15:41:49.1079,30.619278729014646,45.458772530722825 +294.501,2024/05/28 15:41:49.3549,30.573521712179122,45.10506253921689 +294.648,2024/05/28 15:41:49.5019,31.271539703096337,45.721985958617324 +294.747,2024/05/28 15:41:49.6009,30.552837217990056,45.59641798796626 +294.993,2024/05/28 15:41:49.8469,30.53018103488777,44.85012077278425 +295.141,2024/05/28 15:41:49.9949,31.719115669428874,45.882095273283525 +295.24,2024/05/28 15:41:50.0939,31.717213137276666,46.929379568311646 +295.486,2024/05/28 15:41:50.3399,29.72326384825762,45.30746811141257 +295.732,2024/05/28 15:41:50.5859,29.7340897280219,43.62491642780916 +295.88,2024/05/28 15:41:50.7339,30.37976110928963,44.29371663490583 +295.979,2024/05/28 15:41:50.8329,27.297509464941,42.69777511768031 +296.225,2024/05/28 15:41:51.0789,27.35463145555068,40.31707661359721 +296.471,2024/05/28 15:41:51.3249,27.40341450324792,40.31707661359721 +296.618,2024/05/28 15:41:51.4719,23.759910213074757,38.015786194684964 +296.718,2024/05/28 15:41:51.5719,23.86735374340197,35.5659012726141 +296.963,2024/05/28 15:41:51.8169,20.280674227610856,33.19036004625439 +297.111,2024/05/28 15:41:51.9649,20.280674227610856,30.737599125501003 +297.209,2024/05/28 15:41:52.0629,20.439537975299736,30.84369195367723 +297.456,2024/05/28 15:41:52.3099,18.996702678194477,29.827839345148686 +297.702,2024/05/28 15:41:52.5559,19.178801755627273,28.776147529971183 +297.85,2024/05/28 15:41:52.7039,19.182397342775865,28.924038445555972 +297.948,2024/05/28 15:41:52.8019,19.33494840657971,29.06200268391702 +298.195,2024/05/28 15:41:53.0489,19.37008002048627,29.080921580995334 +298.342,2024/05/28 15:41:53.1959,19.373551113790725,29.090089950588556 +298.441,2024/05/28 15:41:53.2949,17.618041954169854,28.070743963540878 +299.081,2024/05/28 15:41:53.9349,17.618041954169854,27.033312782565144 +299.18,2024/05/28 15:41:54.0339,16.238311446105694,26.257697284161587 +299.426,2024/05/28 15:41:54.2799,16.80708662795486,24.752104287649296 +299.673,2024/05/28 15:41:54.5269,16.213234270720932,23.759910213073898 +299.821,2024/05/28 15:41:54.6749,16.213234270720932,23.29234495136403 +299.919,2024/05/28 15:41:54.7729,16.618816367939807,23.812461723503795 +300.312,2024/05/28 15:41:55.1659,16.45250915426898,24.212255849741332 +301.051,2024/05/28 15:41:55.9049,15.662239531001822,23.098340488730642 +301.15,2024/05/28 15:41:56.0039,16.44877104727155,22.21786068309308 +301.396,2024/05/28 15:41:56.2499,17.075356982856835,22.21786068309308 +301.643,2024/05/28 15:41:56.4969,16.394700573557145,20.0 +301.889,2024/05/28 15:41:56.7429,16.893037401359283,17.401149387324963 +302.037,2024/05/28 15:41:56.8909,16.976115743808226,17.44706279005151 +302.135,2024/05/28 15:41:56.9889,17.263375623877373,17.49380842850788 +302.283,2024/05/28 15:41:57.1369,16.750364552562026,16.063415992040216 +302.382,2024/05/28 15:41:57.2359,16.965854823294574,14.492526809819374 +302.628,2024/05/28 15:41:57.4819,17.054476609202798,14.492526809819374 +302.874,2024/05/28 15:41:57.7279,17.018212016247162,14.492526809819374 +303.022,2024/05/28 15:41:57.8759,17.047904108212613,14.553350129781116 +303.121,2024/05/28 15:41:57.9749,16.915476148586215,14.61392030451332 +303.366,2024/05/28 15:41:58.2199,16.654880890337285,14.61392030451332 +303.613,2024/05/28 15:41:58.4669,16.82513172225773,14.38865293671834 +303.76,2024/05/28 15:41:58.6139,16.349100998169146,15.317745700113099 +303.859,2024/05/28 15:41:58.7129,15.822143656442984,16.39410463144196 +304.105,2024/05/28 15:41:58.9589,15.13726466734524,16.39410463144196 +304.253,2024/05/28 15:41:59.1069,15.276042395346737,17.095808453146248 +304.352,2024/05/28 15:41:59.2059,14.432562162512154,17.769824609901658 +304.598,2024/05/28 15:41:59.4519,13.883091510363379,17.723806965021183 +304.844,2024/05/28 15:41:59.6979,13.447043857510637,17.708754896942924 +304.992,2024/05/28 15:41:59.8459,13.03598027036184,18.46889276594566 +305.091,2024/05/28 15:41:59.9449,12.634745015601386,19.170289512680814 +305.337,2024/05/28 15:42:00.1909,12.737671524346114,18.782971010998235 +305.485,2024/05/28 15:42:00.3389,13.553809321607892,19.782146833277054 +305.583,2024/05/28 15:42:00.4369,13.66192797017088,20.733226151920174 +305.83,2024/05/28 15:42:00.6839,12.77929359658254,20.09311656596192 +306.076,2024/05/28 15:42:00.9299,12.862491133563088,19.43193248238579 +306.223,2024/05/28 15:42:01.0769,13.535351754812512,20.357635750089777 +306.322,2024/05/28 15:42:01.1759,13.276069561002435,21.151832071950647 +306.568,2024/05/28 15:42:01.4219,13.198963735014592,20.76696093959505 +306.715,2024/05/28 15:42:01.5689,15.969115306685872,22.684796670898333 +306.814,2024/05/28 15:42:01.6679,15.86686709040054,24.452675381915437 +307.061,2024/05/28 15:42:01.9149,15.759288448843774,24.452675381915437 +307.307,2024/05/28 15:42:02.1609,15.753124120005452,24.419254697881343 +307.454,2024/05/28 15:42:02.3079,18.912654645691415,26.80858071588274 +307.553,2024/05/28 15:42:02.4069,18.90292807094285,28.843254555152637 +307.8,2024/05/28 15:42:02.6539,18.77945196463466,28.65542415204028 +308.046,2024/05/28 15:42:02.8999,18.651214869064713,28.65542415204028 +308.193,2024/05/28 15:42:03.0469,20.68229850051568,30.424770609926817 +308.292,2024/05/28 15:42:03.1459,20.557209211728576,31.327304384514157 +308.539,2024/05/28 15:42:03.3929,20.372282274147306,30.937032824755512 +308.785,2024/05/28 15:42:03.6389,20.17284506858129,30.937032824755512 +308.933,2024/05/28 15:42:03.7869,20.468534865502566,31.299094768592482 +309.031,2024/05/28 15:42:03.8849,20.271405601426256,31.113234054551985 +309.671,2024/05/28 15:42:04.5249,20.586124106960764,30.872317697251045 +309.77,2024/05/28 15:42:04.6239,20.36339402192126,31.181725417301717 +310.017,2024/05/28 15:42:04.8709,20.18104835343652,30.66376797894653 +310.163,2024/05/28 15:42:05.0169,23.75258001715456,32.66394546489039 +310.263,2024/05/28 15:42:05.1169,23.600019481777878,35.00904644992967 +310.508,2024/05/28 15:42:05.3619,23.435433433797424,35.00904644992967 +310.902,2024/05/28 15:42:05.7559,26.458468865614847,36.827978494617376 +311.247,2024/05/28 15:42:06.1009,26.356290008052575,38.56120675843362 +311.494,2024/05/28 15:42:06.3479,26.24386080372176,38.56120675843362 +311.641,2024/05/28 15:42:06.4949,27.814574861261335,39.455460120664334 +311.74,2024/05/28 15:42:06.5939,27.745994844033337,40.329889660151565 +311.986,2024/05/28 15:42:06.8399,27.667899155487532,40.329889660151565 +312.233,2024/05/28 15:42:07.0869,27.580206962458067,40.329889660151565 +312.379,2024/05/28 15:42:07.2329,28.75381034220457,40.97275517544148 +312.479,2024/05/28 15:42:07.3329,28.768217616454002,41.84216374264919 +312.726,2024/05/28 15:42:07.5799,28.780660812109183,41.84216374264919 +312.972,2024/05/28 15:42:07.8259,27.349777783880718,40.83421767749853 +313.119,2024/05/28 15:42:07.9729,27.9187861607507,40.36995582525863 +313.217,2024/05/28 15:42:08.0709,28.05831366132524,41.19749183303922 +313.464,2024/05/28 15:42:08.3179,28.187977383373685,41.19749183303922 +313.611,2024/05/28 15:42:08.4649,25.98472141714256,40.14639875920795 +313.71,2024/05/28 15:42:08.5639,26.16754153307352,39.06703640325605 +313.956,2024/05/28 15:42:08.8099,26.33927620995759,39.06703640325605 +314.203,2024/05/28 15:42:09.0569,26.5001409668786,39.06703640325605 +314.35,2024/05/28 15:42:09.2039,24.307985538082143,37.741224145488445 +314.449,2024/05/28 15:42:09.3029,24.455072576312546,36.70240682389462 +314.695,2024/05/28 15:42:09.5489,24.598289820006507,36.70240682389462 +314.843,2024/05/28 15:42:09.6969,25.225990064073077,36.80443813817386 +314.942,2024/05/28 15:42:09.7959,24.59980842837427,36.599635699462 +315.188,2024/05/28 15:42:10.0419,24.737355994715067,36.29049462324811 +315.434,2024/05/28 15:42:10.2879,24.72099484662715,36.02499132546738 +315.583,2024/05/28 15:42:10.4369,25.922098148372598,36.121092637589655 +315.681,2024/05/28 15:42:10.5349,26.025827136922825,36.481045306661194 +315.927,2024/05/28 15:42:10.7809,23.205132210776302,34.236919643371344 +316.074,2024/05/28 15:42:10.9279,25.290496147809467,32.83291031876401 +316.173,2024/05/28 15:42:11.0269,25.347152915457915,33.801380642413605 +316.42,2024/05/28 15:42:11.2739,21.894338742368575,31.366117600578708 +316.666,2024/05/28 15:42:11.5199,21.924137750251848,28.725134174331256 +316.813,2024/05/28 15:42:11.6669,24.35893001066407,30.253374467432003 +316.912,2024/05/28 15:42:11.7659,21.489264895458568,29.951627668625957 +317.159,2024/05/28 15:42:12.0129,21.489264895458568,28.12353699898598 +317.305,2024/05/28 15:42:12.1589,23.240397844143796,29.86246250172056 +317.404,2024/05/28 15:42:12.2579,23.240397844143796,31.505555065734043 +317.65,2024/05/28 15:42:12.5039,19.844800123812856,29.73718211263468 +317.897,2024/05/28 15:42:12.7509,19.844800123812856,27.85677655436824 +318.044,2024/05/28 15:42:12.8979,21.47128528882428,29.673781918274813 +318.143,2024/05/28 15:42:12.9969,21.91910414311773,32.38157912558723 +318.389,2024/05/28 15:42:13.2429,20.584030189703704,31.66912271177295 +318.636,2024/05/28 15:42:13.4899,21.14971264172743,30.584854639728686 +318.882,2024/05/28 15:42:13.7359,21.672616336073357,30.584854639728686 +319.029,2024/05/28 15:42:13.8829,20.670401961293308,30.07324392213118 +319.129,2024/05/28 15:42:13.9829,21.53321412016531,29.698484809834994 +319.375,2024/05/28 15:42:14.2289,22.365202857354866,29.699046000390876 +319.768,2024/05/28 15:42:14.6219,29.468393354518195,32.552521663715495 +320.507,2024/05/28 15:42:15.3609,37.569873599719664,32.85574531189332 +320.606,2024/05/28 15:42:15.4599,37.98379872415744,36.863712961845465 +321.246,2024/05/28 15:42:16.0999,45.86587141785933,42.06701003557697 +321.344,2024/05/28 15:42:16.1979,45.78411359272265,46.61366037261323 +321.591,2024/05/28 15:42:16.4449,45.89654783802746,46.53314231097373 +321.837,2024/05/28 15:42:16.6909,45.97261803721287,46.53314231097373 +321.985,2024/05/28 15:42:16.8389,50.39669073244471,49.59704292260444 +322.083,2024/05/28 15:42:16.9369,49.601643002080266,52.23281216502388 +322.724,2024/05/28 15:42:17.5779,52.09844792181569,53.849481582153295 +322.822,2024/05/28 15:42:17.6759,51.870750068258616,55.65429004128972 +323.069,2024/05/28 15:42:17.9229,50.03764100396273,55.07146871717393 +323.215,2024/05/28 15:42:18.0689,50.672137484434714,55.212015600471126 +323.315,2024/05/28 15:42:18.1689,50.258424123746394,55.932101694822805 +323.561,2024/05/28 15:42:18.4149,49.80796455722125,55.932101694822805 +323.955,2024/05/28 15:42:18.8089,47.00090485800608,55.2295210915322 +324.301,2024/05/28 15:42:19.1549,46.63392529592402,54.94512413915057 +324.548,2024/05/28 15:42:19.4019,46.48054839726421,54.92570739948038 +324.694,2024/05/28 15:42:19.5479,43.56583075295911,54.01974947492198 +324.792,2024/05/28 15:42:19.6459,43.38733593504336,53.09833644600679 +325.039,2024/05/28 15:42:19.8929,43.206800231062836,53.09833644600679 +325.186,2024/05/28 15:42:20.0399,43.56800734906166,53.199937343321494 +325.285,2024/05/28 15:42:20.1389,41.1284642882848,52.21110992882645 +325.531,2024/05/28 15:42:20.3849,41.9958399691293,50.57634493186184 +325.778,2024/05/28 15:42:20.6319,42.823092384592975,50.57634493186184 +325.925,2024/05/28 15:42:20.7789,43.77056167066619,50.5816172141619 +326.024,2024/05/28 15:42:20.8779,44.51848382749491,50.58688894697255 +326.27,2024/05/28 15:42:21.1239,44.94800316483283,50.51270467252108 +326.517,2024/05/28 15:42:21.3709,45.71386519716358,50.35275563462242 +326.663,2024/05/28 15:42:21.5169,46.92484820764391,50.40833264451424 +326.763,2024/05/28 15:42:21.6169,45.850945414488216,48.67237409455183 +327.009,2024/05/28 15:42:21.8629,42.64670420220567,48.44034131451456 +327.156,2024/05/28 15:42:22.0099,43.27544763276487,45.44813894246202 +327.256,2024/05/28 15:42:22.1099,37.1263762854933,40.694389457679954 +327.895,2024/05/28 15:42:22.7489,37.14527243631284,35.346381238631295 +327.995,2024/05/28 15:42:22.8489,37.34217362493204,35.40338966822245 +328.24,2024/05/28 15:42:23.0939,37.478714265414624,35.40338966822245 +328.487,2024/05/28 15:42:23.3409,30.992194048729665,30.965572280625892 +328.733,2024/05/28 15:42:23.5869,30.85973085601752,25.77466456296441 +328.88,2024/05/28 15:42:23.7339,24.04500091423606,21.82506204649447 +328.979,2024/05/28 15:42:23.8329,23.55841358357582,16.98038083593337 +329.127,2024/05/28 15:42:23.9809,22.85810804612608,17.22981911299903 +329.226,2024/05/28 15:42:24.0799,17.117041317014365,14.838014242703323 +329.865,2024/05/28 15:42:24.7189,15.871647532704383,11.906580813426947 +329.965,2024/05/28 15:42:24.8189,14.412039985783688,11.974973903938164 +330.358,2024/05/28 15:42:25.2119,10.009420849741113,11.554220008291344 +330.704,2024/05/28 15:42:25.5579,9.721938693189177,8.64291617453276 +330.95,2024/05/28 15:42:25.8039,9.419715201791659,8.64291617453276 +331.097,2024/05/28 15:42:25.9509,8.77273728891604,9.664367542679656 +331.195,2024/05/28 15:42:26.0489,8.39163513446536,10.58772874605314 +331.443,2024/05/28 15:42:26.2969,7.985331379566412,10.58772874605314 +331.589,2024/05/28 15:42:26.4429,9.853000009921459,12.653062870309308 +331.688,2024/05/28 15:42:26.5419,10.056678458084699,14.785127662620976 +331.934,2024/05/28 15:42:26.7879,10.234323588320514,14.785127662620976 +332.181,2024/05/28 15:42:27.0349,10.387271167104423,14.785127662620976 +332.328,2024/05/28 15:42:27.1819,12.323232894237888,17.079227148791013 +332.427,2024/05/28 15:42:27.2809,12.469917825503966,19.099738218101315 +332.674,2024/05/28 15:42:27.5279,12.597025739093048,19.099738218101315 +332.92,2024/05/28 15:42:27.7739,12.705144220168469,19.099738218101315 +333.067,2024/05/28 15:42:27.9209,13.836691186429446,20.583974348992957 +333.166,2024/05/28 15:42:28.0199,13.938658719427048,21.968158775828257 +333.413,2024/05/28 15:42:28.2669,14.023830293185288,21.968158775828257 +333.561,2024/05/28 15:42:28.4149,14.184984776289182,22.410562985639906 +333.659,2024/05/28 15:42:28.5129,14.258532432425985,22.84440121050816 +333.904,2024/05/28 15:42:28.7579,14.311999627356062,22.7559516024563 +334.151,2024/05/28 15:42:29.0049,14.365867913900859,22.66715685744465 +334.298,2024/05/28 15:42:29.1519,14.370667762986113,22.670097779527403 +334.397,2024/05/28 15:42:29.2509,14.395281794085829,22.673038320142865 +334.644,2024/05/28 15:42:29.4979,14.404221922599838,22.673038320142865 +334.89,2024/05/28 15:42:29.7439,14.342445646630162,22.45959334746142 +335.037,2024/05/28 15:42:29.8909,14.476457304605173,22.271057451320086 +335.136,2024/05/28 15:42:29.9899,14.440683271003346,22.105806175452337 +335.382,2024/05/28 15:42:30.2359,14.48645820290349,22.03028218914441 +335.53,2024/05/28 15:42:30.3839,14.500138723081504,21.993180761317813 +335.628,2024/05/28 15:42:30.4819,14.540035889854684,21.95601663933298 +335.875,2024/05/28 15:42:30.7289,14.540035889854684,21.90738079582617 +336.121,2024/05/28 15:42:30.9749,14.540035889854684,21.90738079582617 +336.269,2024/05/28 15:42:31.1229,14.79394874738758,21.98332701541481 +336.367,2024/05/28 15:42:31.2209,14.363267325924173,21.581627989256663 +336.614,2024/05/28 15:42:31.4679,14.363267325924173,21.093442898999047 +336.86,2024/05/28 15:42:31.7139,14.363267325924173,21.093442898999047 +337.007,2024/05/28 15:42:31.8609,12.929339352497836,19.8158185969358 +337.106,2024/05/28 15:42:31.9599,12.929339352497836,18.4499322491981 +337.353,2024/05/28 15:42:32.2069,12.929339352497836,18.4499322491981 +337.499,2024/05/28 15:42:32.3529,13.529406032280233,18.773207859429174 +337.599,2024/05/28 15:42:32.4529,10.573008358419909,17.053836323048646 +337.846,2024/05/28 15:42:32.6999,10.573008358419909,14.737706741552431 +338.092,2024/05/28 15:42:32.9459,10.573008358419909,14.737706741552431 +338.239,2024/05/28 15:42:33.0929,10.62425115684718,14.765951826188969 +338.338,2024/05/28 15:42:33.1919,6.945518690864316,12.614806115566475 +338.584,2024/05/28 15:42:33.4379,7.1220073368282755,9.726253132630262 +338.83,2024/05/28 15:42:33.6839,7.284134862133212,9.726253132630262 +338.978,2024/05/28 15:42:33.8319,5.577561779342877,8.637129152675673 +339.469,2024/05/28 15:42:34.3229,6.856828126335976,8.035338615557322 +339.569,2024/05/28 15:42:34.4229,7.015909670587046,8.378544026261364 +339.816,2024/05/28 15:42:34.6699,7.161198127463025,8.378544026261364 +340.062,2024/05/28 15:42:34.9159,7.290049902867442,8.370583412562512 +340.209,2024/05/28 15:42:35.0629,8.54070712300872,8.920014947670584 +340.308,2024/05/28 15:42:35.1619,8.618944650979296,9.444575162494075 +340.948,2024/05/28 15:42:35.8019,10.133363581326746,10.336021155809101 +341.047,2024/05/28 15:42:35.9009,10.03923338191953,11.102552259127929 +341.293,2024/05/28 15:42:36.1469,10.057535631982713,11.048378463225573 +341.44,2024/05/28 15:42:36.2939,11.21498381938482,11.819475453673906 +341.539,2024/05/28 15:42:36.3929,11.199394482815018,12.54325848148452 +341.785,2024/05/28 15:42:36.6389,11.177203812115533,12.54325848148452 +341.933,2024/05/28 15:42:36.7869,11.708332822027415,12.921558213569549 +342.032,2024/05/28 15:42:36.8859,11.661115263794576,13.289093272304171 +342.278,2024/05/28 15:42:37.1319,11.258508914976588,13.163079680176166 +342.524,2024/05/28 15:42:37.3779,11.188047809747934,13.035848009751163 +342.671,2024/05/28 15:42:37.5249,11.680664837011058,13.489502091132447 +342.771,2024/05/28 15:42:37.6249,11.585018069829035,13.92838827718412 +343.017,2024/05/28 15:42:37.8709,10.802085792631447,13.693063937629153 +343.263,2024/05/28 15:42:38.1169,10.671909631013563,13.45362404707371 +343.41,2024/05/28 15:42:38.2639,11.301307014234826,14.149204924659195 +343.51,2024/05/28 15:42:38.3639,9.875372828701561,14.400231479620967 +343.756,2024/05/28 15:42:38.6099,9.669302058523202,13.976170195491086 +343.903,2024/05/28 15:42:38.7569,9.992008300895765,14.54189350348388 +344.002,2024/05/28 15:42:38.8559,9.75263006083801,15.086417732516887 +344.249,2024/05/28 15:42:39.1029,9.478590515526705,15.129441496631658 +344.495,2024/05/28 15:42:39.3489,9.729443404719001,14.942110515809562 +344.642,2024/05/28 15:42:39.4959,9.721465761490778,15.261061562027722 +344.74,2024/05/28 15:42:39.5939,9.967129885831346,15.573481734452747 +344.988,2024/05/28 15:42:39.8419,10.081506911633204,15.546703830716014 +345.233,2024/05/28 15:42:40.0869,10.201701458275938,15.195394038984313 +345.381,2024/05/28 15:42:40.2349,10.306788299833375,15.018877010837617 +345.479,2024/05/28 15:42:40.3329,10.506484040660897,15.028861123407411 +345.726,2024/05/28 15:42:40.5799,10.695578633199814,15.028861123407411 +345.872,2024/05/28 15:42:40.7259,10.51872987394522,14.706007842601835 +345.972,2024/05/28 15:42:40.8259,10.680092125829226,14.375905768565216 +346.612,2024/05/28 15:42:41.4659,10.019291736278475,14.094916341243982 +346.958,2024/05/28 15:42:41.8119,10.168692091448168,13.808210118138652 +347.104,2024/05/28 15:42:41.9579,11.042498884279011,15.065412927187447 +347.204,2024/05/28 15:42:42.0579,10.460874010214274,15.672693876080567 +347.843,2024/05/28 15:42:42.6969,11.327364892260084,16.25730604989646 +347.943,2024/05/28 15:42:42.7969,11.468547693888851,17.337819932159867 +348.188,2024/05/28 15:42:43.0419,11.100585052412884,17.120163550620656 +348.336,2024/05/28 15:42:43.1899,12.20613186773441,17.649362594722792 +348.436,2024/05/28 15:42:43.2899,12.20613186773441,18.426430292743447 +348.681,2024/05/28 15:42:43.5349,12.20613186773441,18.426430292743447 +348.928,2024/05/28 15:42:43.7819,11.78465786179838,18.096961070853858 +349.074,2024/05/28 15:42:43.9279,13.108784454905281,18.75544365422121 +349.174,2024/05/28 15:42:44.0279,13.11417588701292,19.69856170722455 +349.567,2024/05/28 15:42:44.4209,14.692440780621375,20.945166506857852 +349.913,2024/05/28 15:42:44.7669,14.201707846144297,21.68409555411523 +350.16,2024/05/28 15:42:45.0139,14.201707846144297,21.236760581595302 +350.306,2024/05/28 15:42:45.1599,16.293853294188203,22.904875754592805 +350.405,2024/05/28 15:42:45.2589,15.975699937901288,24.127439427617123 +350.651,2024/05/28 15:42:45.5049,15.975699937901288,23.790754506740637 +350.799,2024/05/28 15:42:45.6529,18.329330806557273,25.781776509775273 +350.897,2024/05/28 15:42:45.7509,18.17668710252522,27.66827304573477 +351.144,2024/05/28 15:42:45.9979,18.203700520602823,27.49363562717743 +351.29,2024/05/28 15:42:46.1439,19.84236730407962,28.92058090702882 +351.39,2024/05/28 15:42:46.2439,19.67389308107678,30.43901005836644 +351.637,2024/05/28 15:42:46.4909,19.500191569943414,30.43901005836644 +351.883,2024/05/28 15:42:46.7369,19.40224539678092,30.434081772469057 +352.029,2024/05/28 15:42:46.8829,20.290448463518608,31.566860259878027 +352.522,2024/05/28 15:42:47.3759,20.629740834452726,31.592720680561843 +352.622,2024/05/28 15:42:47.4759,20.446200782466086,32.38466715386568 +352.868,2024/05/28 15:42:47.7219,20.224174677337174,32.384152502934725 +353.115,2024/05/28 15:42:47.9689,20.344278192468487,32.23507406537171 +353.261,2024/05/28 15:42:48.1149,20.677713028574846,32.98888701770138 +353.361,2024/05/28 15:42:48.2149,20.615834780049507,33.093302444250966 +353.607,2024/05/28 15:42:48.4609,20.27424049345243,32.54023150911294 +353.753,2024/05/28 15:42:48.6069,20.92570327304212,32.721552530404175 +354.346,2024/05/28 15:42:49.1999,20.563442620678472,32.90187431337816 +354.592,2024/05/28 15:42:49.4459,20.4433616238353,32.86943869310822 +354.739,2024/05/28 15:42:49.5929,20.79867922420577,33.028775333033465 +354.985,2024/05/28 15:42:49.8389,20.952491416341683,32.60623662225782 +355.33,2024/05/28 15:42:50.1839,20.816770427581485,33.09380606699689 +355.577,2024/05/28 15:42:50.4309,20.678157724920773,33.09380606699689 +355.723,2024/05/28 15:42:50.5769,20.831149310812037,33.06105463129289 +356.216,2024/05/28 15:42:51.0699,21.21344726412329,32.54023150911294 +356.316,2024/05/28 15:42:51.1699,20.86728727365087,32.10451681617401 +356.562,2024/05/28 15:42:51.4159,20.587799087433353,31.304951684997057 +356.709,2024/05/28 15:42:51.5629,21.037896839951323,31.78049716414141 +356.809,2024/05/28 15:42:51.6629,20.42944122989351,31.08643862951603 +357.055,2024/05/28 15:42:51.9089,20.094746840278187,29.878643431945388 +357.301,2024/05/28 15:42:52.1549,19.731094545264902,29.878643431945388 +357.448,2024/05/28 15:42:52.3019,19.731094545264902,28.857119283347277 +357.548,2024/05/28 15:42:52.4019,19.336850651117143,27.79808146857141 +357.794,2024/05/28 15:42:52.6479,18.910101904092205,27.79808146857141 +357.941,2024/05/28 15:42:52.7949,19.140406798549414,26.940675566882135 +358.04,2024/05/28 15:42:52.8939,18.679665014599074,26.055069884125558 +358.286,2024/05/28 15:42:53.1399,18.173651509687595,26.078087864463274 +358.532,2024/05/28 15:42:53.3859,17.609068980073822,26.078087864463274 +358.679,2024/05/28 15:42:53.5329,18.234771634212912,25.37058664411737 +358.778,2024/05/28 15:42:53.6319,18.046555375464614,26.00320493067473 +359.025,2024/05/28 15:42:53.8789,17.435068373699465,25.00933159176124 +359.171,2024/05/28 15:42:54.0249,17.90527437865423,25.812787528664934 +359.271,2024/05/28 15:42:54.1249,17.15112006664323,26.314128017727157 +359.517,2024/05/28 15:42:54.3709,16.987791424180063,25.172074474173424 +359.764,2024/05/28 15:42:54.6179,16.46926779214484,24.298833991229564 +359.911,2024/05/28 15:42:54.7649,16.72801353364464,24.75816363680204 +360.01,2024/05/28 15:42:54.8639,16.553639735899026,24.235648674352966 +360.257,2024/05/28 15:42:55.1109,15.886848461012622,23.22139817783015 +360.403,2024/05/28 15:42:55.2569,16.007756740476317,23.777440288362975 +360.503,2024/05/28 15:42:55.3569,15.959179248916467,23.51524328316989 +360.749,2024/05/28 15:42:55.6029,15.942749586191558,23.50886357667394 +360.996,2024/05/28 15:42:55.8499,15.104083333109989,22.817391028190173 +361.141,2024/05/28 15:42:55.9949,14.297174385258803,22.940502755316125 +361.241,2024/05/28 15:42:56.0949,14.293355099492949,22.310685033558844 +361.634,2024/05/28 15:42:56.4879,14.144411186623921,22.265818347113736 +361.98,2024/05/28 15:42:56.8339,13.874022695214526,21.756991213554016 +362.619,2024/05/28 15:42:57.4729,13.741831429423245,21.81895200660808 +362.719,2024/05/28 15:42:57.5729,13.462421090182678,21.1841135445094 +362.866,2024/05/28 15:42:57.7199,13.50134092957998,20.622802913280243 +362.965,2024/05/28 15:42:57.8189,13.218934521558788,20.780599927175665 +363.212,2024/05/28 15:42:58.0659,12.91532992713075,20.780599927175665 +363.458,2024/05/28 15:42:58.3119,12.38765607323298,19.77371993328519 +363.605,2024/05/28 15:42:58.4589,12.106092320173715,18.720754970531146 +363.704,2024/05/28 15:42:58.5579,11.772557217889341,18.728765753958978 +363.951,2024/05/28 15:42:58.8049,11.129591910405084,17.53757870022731 +364.096,2024/05/28 15:42:58.9499,10.83952961613432,16.342174477916537 +364.197,2024/05/28 15:42:59.0509,10.714100709961258,16.30950643030009 +364.443,2024/05/28 15:42:59.2969,10.56588524614421,16.30950643030009 +364.589,2024/05/28 15:42:59.4429,10.788243920896354,15.702441423761679 +364.689,2024/05/28 15:42:59.5429,10.615321826090394,15.070943345833841 +364.935,2024/05/28 15:42:59.7889,10.417933256339344,15.070943345833841 +365.328,2024/05/28 15:43:00.1819,11.417922994899305,14.846997451785777 +365.674,2024/05/28 15:43:00.5279,11.385814929525464,15.114011159627127 +365.821,2024/05/28 15:43:00.6749,12.734648183912613,16.075861822413543 +365.921,2024/05/28 15:43:00.7749,12.677974384063566,16.983325155379124 +366.167,2024/05/28 15:43:01.0209,12.138520427182682,16.306440445419103 +366.413,2024/05/28 15:43:01.2669,12.087040652051694,15.600213673750327 +366.56,2024/05/28 15:43:01.4139,12.65928399494152,16.064453512854605 +366.66,2024/05/28 15:43:01.5139,12.030660065408227,15.704564092432918 +366.906,2024/05/28 15:43:01.7599,11.969309412673123,14.849242404917497 +367.053,2024/05/28 15:43:01.9069,11.954944151077699,14.889593681494468 +367.152,2024/05/28 15:43:02.0059,11.879664842992172,14.929835899968895 +367.398,2024/05/28 15:43:02.2519,11.831382387346665,14.739968340083593 +367.644,2024/05/28 15:43:02.4979,11.75462735981159,14.547622944430932 +367.791,2024/05/28 15:43:02.6449,11.969357428099215,14.735444795910754 +367.891,2024/05/28 15:43:02.7449,11.894604205084649,14.951031179598727 +368.284,2024/05/28 15:43:03.1379,12.225138976253824,15.442365967256011 +368.63,2024/05/28 15:43:03.4839,12.150209307131778,15.871357849913158 +369.023,2024/05/28 15:43:03.8769,11.49657620198433,15.681198933755034 +369.369,2024/05/28 15:43:04.2229,11.39993950378124,15.488705562441298 +369.515,2024/05/28 15:43:04.3689,11.601080013148913,15.76176809032963 +369.615,2024/05/28 15:43:04.4689,11.484322146850166,16.03017987006592 +369.861,2024/05/28 15:43:04.7149,11.260958902443393,16.020819787597222 +370.007,2024/05/28 15:43:04.8609,11.828078807485381,16.649324310613927 +370.108,2024/05/28 15:43:04.9619,11.679877577702102,17.263641948712134 +370.353,2024/05/28 15:43:05.2069,11.696398895671262,17.18526500620032 +370.6,2024/05/28 15:43:05.4539,11.696398895671262,17.181385275931625 +370.746,2024/05/28 15:43:05.5999,12.680150113337666,18.089591850932774 +371.239,2024/05/28 15:43:06.0929,13.60311830377261,17.702165592567106 +371.339,2024/05/28 15:43:06.1929,13.60311830377261,18.489636737012077 +371.585,2024/05/28 15:43:06.4389,13.60311830377261,18.489636737012077 +371.732,2024/05/28 15:43:06.5859,14.743048235171564,19.449078812804135 +371.831,2024/05/28 15:43:06.6849,14.743048235171564,20.36336579906835 +372.078,2024/05/28 15:43:06.9319,14.043487466797927,19.61292091114087 +372.324,2024/05/28 15:43:07.1779,14.043487466797927,18.83259585576738 +372.571,2024/05/28 15:43:07.4249,14.043487466797927,18.83259585576738 +372.716,2024/05/28 15:43:07.5699,16.25164889955022,20.92844953645635 +372.816,2024/05/28 15:43:07.6699,16.053645699033986,22.508516906569685 +372.963,2024/05/28 15:43:07.8169,17.68527538709737,23.78164558365688 +373.062,2024/05/28 15:43:07.9159,17.68527538709737,25.282404948896772 +373.309,2024/05/28 15:43:08.1629,17.73434229262406,25.25866188063018 +373.455,2024/05/28 15:43:08.3089,18.720693571989386,26.32172740025497 +373.555,2024/05/28 15:43:08.4089,18.720693571989386,27.36542831140537 +374.194,2024/05/28 15:43:09.0479,19.051171261552824,27.908182790476822 +374.294,2024/05/28 15:43:09.1479,18.66649219951939,28.34137140883153 +374.54,2024/05/28 15:43:09.3939,18.683818064611415,28.22587465429548 +374.686,2024/05/28 15:43:09.5399,17.696158424605684,27.949955277245078 +374.787,2024/05/28 15:43:09.6409,17.696158424605684,27.698375403622503 +375.033,2024/05/28 15:43:09.8869,17.595062003209566,27.688746209726915 +375.28,2024/05/28 15:43:10.1339,17.595062003209566,27.67911366596361 +375.425,2024/05/28 15:43:10.2789,18.191478363720385,27.660441066620756 diff --git a/data/case-study/processed/hrv_02.csv b/data/case-study/processed/hrv_02.csv index 6f9d9f3..ba18235 100755 --- a/data/case-study/processed/hrv_02.csv +++ b/data/case-study/processed/hrv_02.csv @@ -1,1212 +1,1212 @@ reltime,datetime,sdnn,rmssd -0.001,2024/06/05 13:46:18.4069,29.914950611461705,26.756616544802892 -0.001,2024/06/05 13:46:18.4069,29.914950611461705,26.756616544802892 -0.046,2024/06/05 13:46:18.4519,29.914950611461705,26.756616544802892 -0.505,2024/06/05 13:46:18.9109,29.914950611461705,26.756616544802892 -0.784,2024/06/05 13:46:19.1899,29.914950611461705,26.756616544802892 -0.998,2024/06/05 13:46:19.4039,29.914950611461705,26.756616544802892 -1.031,2024/06/05 13:46:19.4369,29.914950611461705,26.756616544802892 -1.277,2024/06/05 13:46:19.6829,29.914950611461705,26.756616544802892 -1.737,2024/06/05 13:46:20.1429,29.914950611461705,26.756616544802892 -2.475,2024/06/05 13:46:20.8809,29.914950611461705,26.756616544802892 -2.508,2024/06/05 13:46:20.9139,29.914950611461705,26.756616544802892 -2.755,2024/06/05 13:46:21.1609,29.914950611461705,26.756616544802892 -3.001,2024/06/05 13:46:21.4069,29.914950611461705,26.756616544802892 -3.214,2024/06/05 13:46:21.6199,29.914950611461705,26.756616544802892 -3.707,2024/06/05 13:46:22.1129,29.914950611461705,26.756616544802892 -4.692,2024/06/05 13:46:23.0979,29.914950611461705,26.756616544802892 -5.185,2024/06/05 13:46:23.5909,29.914950611461705,26.756616544802892 -5.677,2024/06/05 13:46:24.0829,29.914950611461705,26.756616544802892 -5.711,2024/06/05 13:46:24.1169,29.914950611461705,26.756616544802892 -5.956,2024/06/05 13:46:24.3619,29.914950611461705,26.756616544802892 -6.203,2024/06/05 13:46:24.6089,29.914950611461705,26.756616544802892 -6.416,2024/06/05 13:46:24.8219,29.914950611461705,26.756616544802892 -6.908,2024/06/05 13:46:25.3139,29.914950611461705,26.756616544802892 -7.4,2024/06/05 13:46:25.8059,29.914950611461705,26.756616544802892 -7.893,2024/06/05 13:46:26.2989,29.914950611461705,26.756616544802892 -8.386,2024/06/05 13:46:26.7919,29.914950611461705,26.756616544802892 -8.912,2024/06/05 13:46:27.3179,29.914950611461705,26.756616544802892 -9.125,2024/06/05 13:46:27.5309,29.914950611461705,26.756616544802892 -9.158,2024/06/05 13:46:27.5639,29.914950611461705,26.756616544802892 -9.405,2024/06/05 13:46:27.8109,29.914950611461705,26.756616544802892 -9.617,2024/06/05 13:46:28.0229,29.914950611461705,26.756616544802892 -10.11,2024/06/05 13:46:28.5159,29.914950611461705,26.756616544802892 -11.095,2024/06/05 13:46:29.5009,29.914950611461705,26.756616544802892 -11.587,2024/06/05 13:46:29.9929,29.914950611461705,26.756616544802892 -12.08,2024/06/05 13:46:30.4859,29.914950611461705,26.756616544802892 -12.113,2024/06/05 13:46:30.5189,29.914950611461705,26.756616544802892 -12.36,2024/06/05 13:46:30.7659,29.914950611461705,26.756616544802892 -12.606,2024/06/05 13:46:31.0119,29.914950611461705,26.756616544802892 -12.819,2024/06/05 13:46:31.2249,29.914950611461705,26.756616544802892 -13.312,2024/06/05 13:46:31.7179,29.914950611461705,26.756616544802892 -15.281,2024/06/05 13:46:33.6869,29.914950611461705,26.756616544802892 -15.315,2024/06/05 13:46:33.7209,29.914950611461705,26.756616544802892 -15.562,2024/06/05 13:46:33.9679,29.914950611461705,26.756616544802892 -15.807,2024/06/05 13:46:34.2129,29.914950611461705,26.756616544802892 -16.021,2024/06/05 13:46:34.4269,29.914950611461705,26.756616544802892 -16.513,2024/06/05 13:46:34.9189,29.914950611461705,26.756616544802892 -17.006,2024/06/05 13:46:35.4119,29.914950611461705,26.756616544802892 -17.498,2024/06/05 13:46:35.9039,29.914950611461705,26.756616544802892 -17.991,2024/06/05 13:46:36.3969,29.914950611461705,26.756616544802892 -18.517,2024/06/05 13:46:36.9229,29.914950611461705,26.756616544802892 -18.729,2024/06/05 13:46:37.1349,29.914950611461705,26.756616544802892 -18.763,2024/06/05 13:46:37.1689,29.914950611461705,26.756616544802892 -19.714,2024/06/05 13:46:38.1199,29.914950611461705,26.756616544802892 -20.207,2024/06/05 13:46:38.6129,29.914950611461705,26.756616544802892 -20.7,2024/06/05 13:46:39.1059,29.914950611461705,26.756616544802892 -21.192,2024/06/05 13:46:39.5979,29.914950611461705,26.756616544802892 -21.718,2024/06/05 13:46:40.1239,29.914950611461705,26.756616544802892 -21.93,2024/06/05 13:46:40.3359,29.914950611461705,26.756616544802892 -21.964,2024/06/05 13:46:40.3699,29.914950611461705,26.756616544802892 -22.211,2024/06/05 13:46:40.6169,29.914950611461705,26.756616544802892 -22.423,2024/06/05 13:46:40.8289,29.914950611461705,26.756616544802892 -24.398,2024/06/05 13:46:42.8039,29.914950611461705,26.756616544802892 -25.132,2024/06/05 13:46:43.5379,29.914950611461705,26.756616544802892 -25.166,2024/06/05 13:46:43.5719,29.914950611461705,26.756616544802892 -25.413,2024/06/05 13:46:43.8189,29.914950611461705,26.756616544802892 -25.625,2024/06/05 13:46:44.0309,29.914950611461705,26.756616544802892 -26.61,2024/06/05 13:46:45.0159,29.914950611461705,26.756616544802892 -27.102,2024/06/05 13:46:45.5079,29.914950611461705,26.756616544802892 -27.136,2024/06/05 13:46:45.5419,29.914950611461705,26.756616544802892 -27.349,2024/06/05 13:46:45.7549,29.914950611461705,26.756616544802892 -27.383,2024/06/05 13:46:45.7889,29.914950611461705,26.756616544802892 -27.629,2024/06/05 13:46:46.0349,29.914950611461705,26.756616544802892 -27.875,2024/06/05 13:46:46.2809,29.914950611461705,26.756616544802892 -28.088,2024/06/05 13:46:46.4939,29.914950611461705,26.756616544802892 -28.121,2024/06/05 13:46:46.5269,29.914950611461705,26.756616544802892 -28.367,2024/06/05 13:46:46.7729,29.914950611461705,26.756616544802892 -28.614,2024/06/05 13:46:47.0199,29.914950611461705,26.756616544802892 -28.827,2024/06/05 13:46:47.2329,29.914950611461705,26.756616544802892 -28.86,2024/06/05 13:46:47.2659,29.914950611461705,26.756616544802892 -29.106,2024/06/05 13:46:47.5119,29.914950611461705,26.756616544802892 -29.319,2024/06/05 13:46:47.7249,29.914950611461705,26.756616544802892 -29.352,2024/06/05 13:46:47.7579,29.914950611461705,26.756616544802892 -29.599,2024/06/05 13:46:48.0049,29.914950611461705,26.756616544802892 -29.845,2024/06/05 13:46:48.2509,29.914950611461705,26.756616544802892 -30.058,2024/06/05 13:46:48.4639,29.914950611461705,26.756616544802892 -30.092,2024/06/05 13:46:48.4979,29.914950611461705,26.756616544802892 -30.338,2024/06/05 13:46:48.7439,29.914950611461705,26.756616544802892 -30.55,2024/06/05 13:46:48.9559,29.914950611461705,26.756616544802892 -30.584,2024/06/05 13:46:48.9899,29.914950611461705,26.756616544802892 -30.831,2024/06/05 13:46:49.2369,29.914950611461705,26.756616544802892 -31.076,2024/06/05 13:46:49.4819,29.914950611461705,26.756616544802892 -31.289,2024/06/05 13:46:49.6949,29.914950611461705,26.756616544802892 -31.323,2024/06/05 13:46:49.7289,29.914950611461705,26.756616544802892 -31.782,2024/06/05 13:46:50.1879,29.914950611461705,26.756616544802892 -32.062,2024/06/05 13:46:50.4679,29.914950611461705,26.756616544802892 -32.274,2024/06/05 13:46:50.6799,29.914950611461705,26.756616544802892 -33.013,2024/06/05 13:46:51.4189,29.914950611461705,26.756616544802892 -33.293,2024/06/05 13:46:51.6989,29.914950611461705,26.756616544802892 -33.539,2024/06/05 13:46:51.9449,29.914950611461705,26.756616544802892 -33.752,2024/06/05 13:46:52.1579,29.914950611461705,26.756616544802892 -33.786,2024/06/05 13:46:52.1919,29.914950611461705,26.756616544802892 -34.491,2024/06/05 13:46:52.8969,29.914950611461705,26.756616544802892 -36.461,2024/06/05 13:46:54.8669,29.914950611461705,26.756616544802892 -36.494,2024/06/05 13:46:54.8999,29.914950611461705,26.756616544802892 -36.707,2024/06/05 13:46:55.1129,29.914950611461705,26.756616544802892 -37.2,2024/06/05 13:46:55.6059,29.914950611461705,26.756616544802892 -38.185,2024/06/05 13:46:56.5909,29.914950611461705,26.756616544802892 -38.677,2024/06/05 13:46:57.0829,29.914950611461705,26.756616544802892 -39.17,2024/06/05 13:46:57.5759,29.914950611461705,26.756616544802892 -39.663,2024/06/05 13:46:58.0689,29.914950611461705,26.756616544802892 -39.697,2024/06/05 13:46:58.1029,29.914950611461705,26.756616544802892 -39.942,2024/06/05 13:46:58.3479,29.914950611461705,26.756616544802892 -40.189,2024/06/05 13:46:58.5949,29.914950611461705,26.756616544802892 -40.401,2024/06/05 13:46:58.8069,29.914950611461705,26.756616544802892 -40.894,2024/06/05 13:46:59.2999,29.914950611461705,26.756616544802892 -41.879,2024/06/05 13:47:00.2849,29.914950611461705,26.756616544802892 -42.372,2024/06/05 13:47:00.7779,29.914950611461705,26.756616544802892 -42.863,2024/06/05 13:47:01.2689,29.914950611461705,26.756616544802892 -42.898,2024/06/05 13:47:01.3039,29.914950611461705,26.756616544802892 -43.144,2024/06/05 13:47:01.5499,29.914950611461705,26.756616544802892 -43.357,2024/06/05 13:47:01.7629,29.914950611461705,26.756616544802892 -43.391,2024/06/05 13:47:01.7969,29.914950611461705,26.756616544802892 -44.095,2024/06/05 13:47:02.5009,29.914950611461705,26.756616544802892 -44.588,2024/06/05 13:47:02.9939,29.914950611461705,26.756616544802892 -45.08,2024/06/05 13:47:03.4859,29.914950611461705,26.756616544802892 -46.066,2024/06/05 13:47:04.4719,29.914950611461705,26.756616544802892 -46.311,2024/06/05 13:47:04.7169,29.914950611461705,26.756616544802892 -46.345,2024/06/05 13:47:04.7509,29.914950611461705,26.756616544802892 -46.592,2024/06/05 13:47:04.9979,29.914950611461705,26.756616544802892 -47.296,2024/06/05 13:47:05.7019,29.914950611461705,26.756616544802892 -47.789,2024/06/05 13:47:06.1949,29.914950611461705,26.756616544802892 -48.282,2024/06/05 13:47:06.6879,29.914950611461705,26.756616544802892 -48.774,2024/06/05 13:47:07.1799,29.914950611461705,26.756616544802892 -49.3,2024/06/05 13:47:07.7059,29.914950611461705,26.756616544802892 -49.513,2024/06/05 13:47:07.9189,29.914950611461705,26.756616544802892 -49.548,2024/06/05 13:47:07.9539,29.914950611461705,26.756616544802892 -49.793,2024/06/05 13:47:08.1989,29.914950611461705,26.756616544802892 -50.006,2024/06/05 13:47:08.4119,29.914950611461705,26.756616544802892 -50.498,2024/06/05 13:47:08.9039,29.914950611461705,26.756616544802892 -51.484,2024/06/05 13:47:09.8899,29.914950611461705,26.756616544802892 -51.976,2024/06/05 13:47:10.3819,29.914950611461705,26.756616544802892 -52.469,2024/06/05 13:47:10.8749,29.914950611461705,26.756616544802892 -52.503,2024/06/05 13:47:10.9089,29.914950611461705,26.756616544802892 -52.749,2024/06/05 13:47:11.1549,29.914950611461705,26.756616544802892 -52.961,2024/06/05 13:47:11.3669,29.914950611461705,26.756616544802892 -52.995,2024/06/05 13:47:11.4009,29.914950611461705,26.756616544802892 -53.7,2024/06/05 13:47:12.1059,29.914950611461705,26.756616544802892 -54.192,2024/06/05 13:47:12.5979,29.914950611461705,26.756616544802892 -54.685,2024/06/05 13:47:13.0909,29.914950611461705,26.756616544802892 -55.178,2024/06/05 13:47:13.5839,29.914950611461705,26.756616544802892 -55.704,2024/06/05 13:47:14.1099,29.914950611461705,26.756616544802892 -55.916,2024/06/05 13:47:14.3219,29.914950611461705,26.756616544802892 -55.95,2024/06/05 13:47:14.3559,29.914950611461705,26.756616544802892 -56.409,2024/06/05 13:47:14.8149,29.914950611461705,26.756616544802892 -57.394,2024/06/05 13:47:15.7999,29.914950611461705,26.756616544802892 -57.64,2024/06/05 13:47:16.0459,29.914950611461705,26.756616544802892 -57.921,2024/06/05 13:47:16.3269,29.914950611461705,26.756616544802892 -58.132,2024/06/05 13:47:16.5379,29.914950611461705,26.756616544802892 -58.167,2024/06/05 13:47:16.5729,29.914950611461705,26.756616544802892 -58.413,2024/06/05 13:47:16.8189,29.914950611461705,26.756616544802892 -58.659,2024/06/05 13:47:17.0649,29.914950611461705,26.756616544802892 -58.871,2024/06/05 13:47:17.2769,29.914950611461705,26.756616544802892 -58.905,2024/06/05 13:47:17.3109,29.914950611461705,26.756616544802892 -59.152,2024/06/05 13:47:17.5579,29.914950611461705,26.756616544802892 -59.364,2024/06/05 13:47:17.7699,29.914950611461705,26.756616544802892 -59.399,2024/06/05 13:47:17.8049,29.914950611461705,26.756616544802892 -59.645,2024/06/05 13:47:18.0509,29.914950611461705,26.756616544802892 -59.891,2024/06/05 13:47:18.2969,29.914950611461705,26.756616544802892 -60.103,2024/06/05 13:47:18.5089,29.914950611461705,26.756616544802892 -60.137,2024/06/05 13:47:18.5429,29.914950611461705,26.756616544802892 -60.383,2024/06/05 13:47:18.7889,29.914950611461705,26.756616544802892 -60.596,2024/06/05 13:47:19.0019,29.914950611461705,26.756616544802892 -61.334,2024/06/05 13:47:19.7399,29.914950611461705,26.756616544802892 -61.369,2024/06/05 13:47:19.7749,29.914950611461705,26.756616544802892 -61.614,2024/06/05 13:47:20.0199,29.914950611461705,26.756616544802892 -61.827,2024/06/05 13:47:20.2329,29.914950611461705,26.756616544802892 -61.861,2024/06/05 13:47:20.2669,29.914950611461705,26.756616544802892 -62.107,2024/06/05 13:47:20.5129,29.914950611461705,26.756616544802892 -62.353,2024/06/05 13:47:20.7589,29.914950611461705,26.756616544802892 -62.565,2024/06/05 13:47:20.9709,29.914950611461705,26.756616544802892 -62.599,2024/06/05 13:47:21.0049,29.914950611461705,26.756616544802892 -62.846,2024/06/05 13:47:21.2519,29.914950611461705,26.756616544802892 -63.059,2024/06/05 13:47:21.4649,29.914950611461705,26.756616544802892 -63.093,2024/06/05 13:47:21.4989,29.914950611461705,26.756616544802892 -63.339,2024/06/05 13:47:21.7449,29.914950611461705,26.756616544802892 -64.044,2024/06/05 13:47:22.4499,29.914950611461705,26.756616544802892 -64.077,2024/06/05 13:47:22.4829,29.914950611461705,26.756616544802892 -64.289,2024/06/05 13:47:22.6949,29.914950611461705,26.756616544802892 -65.275,2024/06/05 13:47:23.6809,29.914950611461705,26.756616544802892 -65.768,2024/06/05 13:47:24.1739,29.914950611461705,26.756616544802892 -66.26,2024/06/05 13:47:24.6659,29.914950611461705,26.756616544802892 -66.752,2024/06/05 13:47:25.1579,29.914950611461705,26.756616544802892 -67.491,2024/06/05 13:47:25.8969,29.914950611461705,26.756616544802892 -67.772,2024/06/05 13:47:26.1779,29.914950611461705,26.756616544802892 -68.476,2024/06/05 13:47:26.8819,29.914950611461705,26.756616544802892 -68.968,2024/06/05 13:47:27.3739,29.914950611461705,26.756616544802892 -69.461,2024/06/05 13:47:27.8669,29.914950611461705,26.756616544802892 -70.446,2024/06/05 13:47:28.8519,29.914950611461705,26.756616544802892 -70.48,2024/06/05 13:47:28.8859,29.914950611461705,26.756616544802892 -70.693,2024/06/05 13:47:29.0989,29.914950611461705,26.756616544802892 -70.726,2024/06/05 13:47:29.1319,29.914950611461705,26.756616544802892 -71.677,2024/06/05 13:47:30.0829,29.914950611461705,26.756616544802892 -73.648,2024/06/05 13:47:32.0539,29.914950611461705,26.756616544802892 -73.895,2024/06/05 13:47:32.3009,29.914950611461705,26.756616544802892 -74.175,2024/06/05 13:47:32.5809,29.914950611461705,26.756616544802892 -74.879,2024/06/05 13:47:33.2849,29.914950611461705,26.756616544802892 -75.372,2024/06/05 13:47:33.7779,29.914950611461705,26.756616544802892 -75.864,2024/06/05 13:47:34.2699,29.914950611461705,26.756616544802892 -76.357,2024/06/05 13:47:34.7629,29.914950611461705,26.756616544802892 -77.13,2024/06/05 13:47:35.5359,29.914950611461705,26.756616544802892 -77.376,2024/06/05 13:47:35.7819,29.914950611461705,26.756616544802892 -77.588,2024/06/05 13:47:35.9939,29.914950611461705,26.756616544802892 -78.081,2024/06/05 13:47:36.4869,29.914950611461705,26.756616544802892 -78.574,2024/06/05 13:47:36.9799,29.914950611461705,26.756616544802892 -79.065,2024/06/05 13:47:37.4709,29.914950611461705,26.756616544802892 -80.051,2024/06/05 13:47:38.4569,29.914950611461705,26.756616544802892 -80.297,2024/06/05 13:47:38.7029,29.914950611461705,26.756616544802892 -81.036,2024/06/05 13:47:39.4419,29.914950611461705,26.756616544802892 -81.775,2024/06/05 13:47:40.1809,29.914950611461705,26.756616544802892 -82.268,2024/06/05 13:47:40.6739,29.914950611461705,26.756616544802892 -82.76,2024/06/05 13:47:41.1659,29.914950611461705,26.756616544802892 -83.252,2024/06/05 13:47:41.6579,29.914950611461705,26.756616544802892 -83.287,2024/06/05 13:47:41.6929,29.914950611461705,26.756616544802892 -83.533,2024/06/05 13:47:41.9389,29.914950611461705,26.756616544802892 -83.779,2024/06/05 13:47:42.1849,29.914950611461705,26.756616544802892 -83.991,2024/06/05 13:47:42.3969,29.914950611461705,26.756616544802892 -84.977,2024/06/05 13:47:43.3829,29.914950611461705,26.756616544802892 -85.469,2024/06/05 13:47:43.8749,29.914950611461705,26.756616544802892 -86.454,2024/06/05 13:47:44.8599,29.914950611461705,26.756616544802892 -86.489,2024/06/05 13:47:44.8949,29.914950611461705,26.756616544802892 -86.735,2024/06/05 13:47:45.1409,29.914950611461705,26.756616544802892 -86.981,2024/06/05 13:47:45.3869,29.914950611461705,26.756616544802892 -87.193,2024/06/05 13:47:45.5989,29.914950611461705,26.756616544802892 -87.44,2024/06/05 13:47:45.8459,29.914950611461705,26.756616544802892 -88.178,2024/06/05 13:47:46.5839,29.914950611461705,26.756616544802892 -88.67,2024/06/05 13:47:47.0759,29.914950611461705,26.756616544802892 -89.197,2024/06/05 13:47:47.6029,29.914950611461705,26.756616544802892 -89.41,2024/06/05 13:47:47.8159,29.914950611461705,26.756616544802892 -89.444,2024/06/05 13:47:47.8499,29.914950611461705,26.756616544802892 -90.183,2024/06/05 13:47:48.5889,29.914950611461705,26.756616544802892 -90.394,2024/06/05 13:47:48.7999,29.914950611461705,26.756616544802892 -90.429,2024/06/05 13:47:48.8349,29.914950611461705,26.756616544802892 -90.64,2024/06/05 13:47:49.0459,29.914950611461705,26.756616544802892 -90.675,2024/06/05 13:47:49.0809,29.914950611461705,26.756616544802892 -90.922,2024/06/05 13:47:49.3279,29.914950611461705,26.756616544802892 -91.168,2024/06/05 13:47:49.5739,29.914950611461705,26.756616544802892 -91.379,2024/06/05 13:47:49.7849,29.914950611461705,26.756616544802892 -91.414,2024/06/05 13:47:49.8199,29.914950611461705,26.756616544802892 -91.661,2024/06/05 13:47:50.0669,29.914950611461705,26.756616544802892 -91.872,2024/06/05 13:47:50.2779,29.914950611461705,26.756616544802892 -91.906,2024/06/05 13:47:50.3119,29.914950611461705,26.756616544802892 -92.152,2024/06/05 13:47:50.5579,29.914950611461705,26.756616544802892 -92.399,2024/06/05 13:47:50.8049,29.914950611461705,26.756616544802892 -92.611,2024/06/05 13:47:51.0169,29.914950611461705,26.756616544802892 -93.103,2024/06/05 13:47:51.5089,29.914950611461705,26.756616544802892 -93.138,2024/06/05 13:47:51.5439,29.914950611461705,26.756616544802892 -93.384,2024/06/05 13:47:51.7899,29.914950611461705,26.756616544802892 -93.63,2024/06/05 13:47:52.0359,29.914950611461705,26.756616544802892 -93.842,2024/06/05 13:47:52.2479,29.914950611461705,26.756616544802892 -93.877,2024/06/05 13:47:52.2829,29.914950611461705,26.756616544802892 -94.581,2024/06/05 13:47:52.9869,29.914950611461705,26.756616544802892 -94.615,2024/06/05 13:47:53.0209,29.914950611461705,26.756616544802892 -94.862,2024/06/05 13:47:53.2679,29.914950611461705,26.756616544802892 -95.073,2024/06/05 13:47:53.4789,29.914950611461705,26.756616544802892 -95.812,2024/06/05 13:47:54.2179,29.914950611461705,26.756616544802892 -96.093,2024/06/05 13:47:54.4989,29.914950611461705,26.756616544802892 -96.34,2024/06/05 13:47:54.7459,29.914950611461705,26.756616544802892 -96.551,2024/06/05 13:47:54.9569,29.914950611461705,26.756616544802892 -96.585,2024/06/05 13:47:54.9909,29.914950611461705,26.756616544802892 -96.832,2024/06/05 13:47:55.2379,29.914950611461705,26.756616544802892 -97.043,2024/06/05 13:47:55.4489,29.914950611461705,26.756616544802892 -97.078,2024/06/05 13:47:55.4839,29.914950611461705,26.756616544802892 -97.325,2024/06/05 13:47:55.7309,29.914950611461705,26.756616544802892 -97.571,2024/06/05 13:47:55.9769,29.914950611461705,26.756616544802892 -97.783,2024/06/05 13:47:56.1889,29.914950611461705,26.756616544802892 -97.817,2024/06/05 13:47:56.2229,29.914950611461705,26.756616544802892 -98.063,2024/06/05 13:47:56.4689,29.914950611461705,26.756616544802892 -98.276,2024/06/05 13:47:56.6819,29.914950611461705,26.756616544802892 -98.802,2024/06/05 13:47:57.2079,29.914950611461705,26.756616544802892 -99.014,2024/06/05 13:47:57.4199,29.914950611461705,26.756616544802892 -99.049,2024/06/05 13:47:57.4549,29.914950611461705,26.756616544802892 -99.295,2024/06/05 13:47:57.7009,29.914950611461705,26.756616544802892 -99.507,2024/06/05 13:47:57.9129,29.914950611461705,26.756616544802892 -99.541,2024/06/05 13:47:57.9469,29.914950611461705,26.756616544802892 -99.788,2024/06/05 13:47:58.1939,29.914950611461705,26.756616544802892 -100.033,2024/06/05 13:47:58.4389,29.914950611461705,26.756616544802892 -100.246,2024/06/05 13:47:58.6519,29.914950611461705,26.756616544802892 -100.28,2024/06/05 13:47:58.6859,29.914950611461705,26.756616544802892 -100.526,2024/06/05 13:47:58.9319,29.914950611461705,26.756616544802892 -100.737,2024/06/05 13:47:59.1429,29.914950611461705,26.756616544802892 -100.772,2024/06/05 13:47:59.1779,29.914950611461705,26.756616544802892 -101.019,2024/06/05 13:47:59.4249,29.914950611461705,26.756616544802892 -101.265,2024/06/05 13:47:59.6709,29.914950611461705,26.756616544802892 -101.477,2024/06/05 13:47:59.8829,29.914950611461705,26.756616544802892 -101.512,2024/06/05 13:47:59.9179,29.914950611461705,26.756616544802892 -101.758,2024/06/05 13:48:00.1639,29.914950611461705,26.756616544802892 -102.004,2024/06/05 13:48:00.4099,29.914950611461705,26.756616544802892 -102.215,2024/06/05 13:48:00.6209,29.914950611461705,26.756616544802892 -102.25,2024/06/05 13:48:00.6559,29.914950611461705,26.756616544802892 -102.496,2024/06/05 13:48:00.9019,29.914950611461705,26.756616544802892 -102.708,2024/06/05 13:48:01.1139,29.914950611461705,26.756616544802892 -102.742,2024/06/05 13:48:01.1479,29.914950611461705,26.756616544802892 -102.989,2024/06/05 13:48:01.3949,29.914950611461705,26.756616544802892 -103.2,2024/06/05 13:48:01.6059,29.914950611461705,26.756616544802892 -103.235,2024/06/05 13:48:01.6409,29.914950611461705,26.756616544802892 -103.481,2024/06/05 13:48:01.8869,29.914950611461705,26.756616544802892 -103.728,2024/06/05 13:48:02.1339,29.914950611461705,26.756616544802892 -103.939,2024/06/05 13:48:02.3449,29.914950611461705,26.756616544802892 -103.974,2024/06/05 13:48:02.3799,29.914950611461705,26.756616544802892 -104.22,2024/06/05 13:48:02.6259,29.914950611461705,26.756616544802892 -104.432,2024/06/05 13:48:02.8379,29.914950611461705,26.756616544802892 -104.467,2024/06/05 13:48:02.8729,29.914950611461705,26.756616544802892 -104.712,2024/06/05 13:48:03.1179,29.914950611461705,26.756616544802892 -104.924,2024/06/05 13:48:03.3299,29.914950611461705,26.756616544802892 -104.959,2024/06/05 13:48:03.3649,29.914950611461705,26.756616544802892 -105.206,2024/06/05 13:48:03.6119,29.914950611461705,26.756616544802892 -105.663,2024/06/05 13:48:04.0689,29.914950611461705,26.756616544802892 -106.156,2024/06/05 13:48:04.5619,29.914950611461705,26.756616544802892 -106.191,2024/06/05 13:48:04.5969,29.914950611461705,26.756616544802892 -106.436,2024/06/05 13:48:04.8419,29.914950611461705,26.756616544802892 -106.683,2024/06/05 13:48:05.0889,29.914950611461705,26.756616544802892 -106.894,2024/06/05 13:48:05.2999,29.914950611461705,26.756616544802892 -106.929,2024/06/05 13:48:05.3349,29.914950611461705,26.756616544802892 -107.175,2024/06/05 13:48:05.5809,29.914950611461705,26.756616544802892 -107.387,2024/06/05 13:48:05.7929,29.914950611461705,26.756616544802892 -107.422,2024/06/05 13:48:05.8279,29.914950611461705,26.756616544802892 -107.668,2024/06/05 13:48:06.0739,29.914950611461705,26.756616544802892 -107.914,2024/06/05 13:48:06.3199,29.914950611461705,26.756616544802892 -108.126,2024/06/05 13:48:06.5319,29.914950611461705,26.756616544802892 -108.161,2024/06/05 13:48:06.5669,29.914950611461705,26.756616544802892 -108.407,2024/06/05 13:48:06.8129,29.914950611461705,26.756616544802892 -108.654,2024/06/05 13:48:07.0599,29.914950611461705,26.756616544802892 -108.865,2024/06/05 13:48:07.2709,29.914950611461705,26.756616544802892 -108.9,2024/06/05 13:48:07.3059,29.914950611461705,26.756616544802892 -109.146,2024/06/05 13:48:07.5519,29.914950611461705,26.756616544802892 -109.392,2024/06/05 13:48:07.7979,29.914950611461705,26.756616544802892 -109.604,2024/06/05 13:48:08.0099,29.914950611461705,26.756616544802892 -109.638,2024/06/05 13:48:08.0439,29.914950611461705,26.756616544802892 -109.884,2024/06/05 13:48:08.2899,29.914950611461705,26.756616544802892 -110.097,2024/06/05 13:48:08.5029,29.914950611461705,26.756616544802892 -110.149,2024/06/05 13:48:08.5549,29.914950611461705,26.756616544802892 -110.377,2024/06/05 13:48:08.7829,29.914950611461705,26.756616544802892 -110.624,2024/06/05 13:48:09.0299,29.914950611461705,26.756616544802892 -110.835,2024/06/05 13:48:09.2409,29.914950611461705,26.756616544802892 -110.87,2024/06/05 13:48:09.2759,29.914950611461705,26.756616544802892 -111.116,2024/06/05 13:48:09.5219,29.914950611461705,26.756616544802892 -111.327,2024/06/05 13:48:09.7329,29.914950611461705,26.756616544802892 -111.362,2024/06/05 13:48:09.7679,29.914950611461705,26.756616544802892 -111.608,2024/06/05 13:48:10.0139,29.914950611461705,26.756616544802892 -111.855,2024/06/05 13:48:10.2609,29.914950611461705,26.756616544802892 -112.066,2024/06/05 13:48:10.4719,29.914950611461705,26.756616544802892 -112.101,2024/06/05 13:48:10.5069,29.914950611461705,26.756616544802892 -112.348,2024/06/05 13:48:10.7539,29.914950611461705,26.756616544802892 -112.593,2024/06/05 13:48:10.9989,29.914950611461705,26.756616544802892 -112.806,2024/06/05 13:48:11.2119,29.914950611461705,26.756616544802892 -112.84,2024/06/05 13:48:11.2459,29.914950611461705,26.756616544802892 -113.086,2024/06/05 13:48:11.4919,29.914950611461705,26.756616544802892 -113.297,2024/06/05 13:48:11.7029,29.914950611461705,26.756616544802892 -113.332,2024/06/05 13:48:11.7379,29.914950611461705,26.756616544802892 -113.579,2024/06/05 13:48:11.9849,29.914950611461705,26.756616544802892 -113.825,2024/06/05 13:48:12.2309,29.914950611461705,26.756616544802892 -114.037,2024/06/05 13:48:12.4429,29.914950611461705,26.756616544802892 -114.072,2024/06/05 13:48:12.4779,29.914950611461705,26.756616544802892 -114.317,2024/06/05 13:48:12.7229,29.914950611461705,26.756616544802892 -114.775,2024/06/05 13:48:13.1809,29.914950611461705,26.756616544802892 -115.056,2024/06/05 13:48:13.4619,29.914950611461705,26.756616544802892 -115.268,2024/06/05 13:48:13.6739,29.914950611461705,26.756616544802892 -115.303,2024/06/05 13:48:13.7089,29.914950611461705,26.756616544802892 -115.549,2024/06/05 13:48:13.9549,29.914950611461705,26.756616544802892 -115.795,2024/06/05 13:48:14.2009,29.914950611461705,26.756616544802892 -116.007,2024/06/05 13:48:14.4129,29.914950611461705,26.756616544802892 -116.042,2024/06/05 13:48:14.4479,29.914950611461705,26.756616544802892 -116.288,2024/06/05 13:48:14.6939,29.914950611461705,26.756616544802892 -116.535,2024/06/05 13:48:14.9409,29.914950611461705,26.756616544802892 -116.745,2024/06/05 13:48:15.1509,29.914950611461705,26.756616544802892 -116.78,2024/06/05 13:48:15.1859,29.914950611461705,26.756616544802892 -117.027,2024/06/05 13:48:15.4329,29.914950611461705,26.756616544802892 -117.238,2024/06/05 13:48:15.6439,29.914950611461705,26.756616544802892 -117.273,2024/06/05 13:48:15.6789,29.914950611461705,26.756616544802892 -117.52,2024/06/05 13:48:15.9259,29.914950611461705,26.756616544802892 -117.765,2024/06/05 13:48:16.1709,29.914950611461705,26.756616544802892 -117.977,2024/06/05 13:48:16.3829,29.914950611461705,26.756616544802892 -118.505,2024/06/05 13:48:16.9109,29.914950611461705,26.756616544802892 -118.715,2024/06/05 13:48:17.1209,29.914950611461705,26.756616544802892 -118.75,2024/06/05 13:48:17.1559,29.914950611461705,26.756616544802892 -118.996,2024/06/05 13:48:17.4019,29.914950611461705,26.756616544802892 -119.208,2024/06/05 13:48:17.6139,29.914950611461705,26.756616544802892 -119.243,2024/06/05 13:48:17.6489,29.914950611461705,26.756616544802892 -119.489,2024/06/05 13:48:17.8949,29.914950611461705,26.756616544802892 -119.735,2024/06/05 13:48:18.1409,29.914950611461705,26.756616544802892 -119.947,2024/06/05 13:48:18.3529,29.914950611461705,26.756616544802892 -119.982,2024/06/05 13:48:18.3879,29.914950611461705,26.756616544802892 -120.228,2024/06/05 13:48:18.6339,29.914950611461705,26.756616544802892 -120.439,2024/06/05 13:48:18.8449,29.914950611461705,26.756616544802892 -120.474,2024/06/05 13:48:18.8799,29.914950611461705,26.756616544802892 -120.721,2024/06/05 13:48:19.1269,29.914950611461705,26.756616544802892 -121.179,2024/06/05 13:48:19.5849,29.914950611461705,26.756616544802892 -121.459,2024/06/05 13:48:19.8649,29.914950611461705,26.756616544802892 -121.706,2024/06/05 13:48:20.1119,29.914950611461705,26.756616544802892 -121.917,2024/06/05 13:48:20.3229,29.914950611461705,26.756616544802892 -122.409,2024/06/05 13:48:20.8149,29.914950611461705,26.756616544802892 -122.444,2024/06/05 13:48:20.8499,29.914950611461705,26.756616544802892 -122.691,2024/06/05 13:48:21.0969,29.914950611461705,26.756616544802892 -122.938,2024/06/05 13:48:21.3439,29.914950611461705,26.756616544802892 -123.148,2024/06/05 13:48:21.5539,29.914950611461705,26.756616544802892 -123.184,2024/06/05 13:48:21.5899,29.914950611461705,26.756616544802892 -123.429,2024/06/05 13:48:21.8349,29.914950611461705,26.756616544802892 -123.676,2024/06/05 13:48:22.0819,29.914950611461705,26.756616544802892 -123.887,2024/06/05 13:48:22.2929,29.914950611461705,26.756616544802892 -123.922,2024/06/05 13:48:22.3279,29.914950611461705,26.756616544802892 -124.169,2024/06/05 13:48:22.5749,29.914950611461705,26.756616544802892 -124.38,2024/06/05 13:48:22.7859,29.914950611461705,26.756616544802892 -124.415,2024/06/05 13:48:22.8209,29.914950611461705,26.756616544802892 -124.661,2024/06/05 13:48:23.0669,29.914950611461705,26.756616544802892 -125.365,2024/06/05 13:48:23.7709,29.914950611461705,26.756616544802892 -125.4,2024/06/05 13:48:23.8059,29.914950611461705,26.756616544802892 -125.646,2024/06/05 13:48:24.0519,29.914950611461705,26.756616544802892 -125.858,2024/06/05 13:48:24.2639,29.914950611461705,26.756616544802892 -125.892,2024/06/05 13:48:24.2979,29.914950611461705,26.756616544802892 -126.139,2024/06/05 13:48:24.5449,29.914950611461705,26.756616544802892 -126.35,2024/06/05 13:48:24.7559,29.914950611461705,26.756616544802892 -126.385,2024/06/05 13:48:24.7909,29.914950611461705,26.756616544802892 -126.632,2024/06/05 13:48:25.0379,29.914950611461705,26.756616544802892 -126.842,2024/06/05 13:48:25.2479,29.914950611461705,26.756616544802892 -126.878,2024/06/05 13:48:25.2839,29.914950611461705,26.756616544802892 -127.124,2024/06/05 13:48:25.5299,29.914950611461705,26.756616544802892 -127.37,2024/06/05 13:48:25.7759,29.914950611461705,26.756616544802892 -127.582,2024/06/05 13:48:25.9879,29.914950611461705,26.756616544802892 -128.109,2024/06/05 13:48:26.5149,29.914950611461705,26.756616544802892 -128.32,2024/06/05 13:48:26.7259,29.914950611461705,26.756616544802892 -128.355,2024/06/05 13:48:26.7609,29.914950611461705,26.756616544802892 -128.601,2024/06/05 13:48:27.0069,29.914950611461705,26.756616544802892 -128.812,2024/06/05 13:48:27.2179,29.914950611461705,26.756616544802892 -128.847,2024/06/05 13:48:27.2529,29.914950611461705,26.756616544802892 -129.094,2024/06/05 13:48:27.4999,29.914950611461705,26.756616544802892 -129.34,2024/06/05 13:48:27.7459,29.914950611461705,26.756616544802892 -129.551,2024/06/05 13:48:27.9569,29.914950611461705,26.756616544802892 -129.586,2024/06/05 13:48:27.9919,29.914950611461705,26.756616544802892 -129.833,2024/06/05 13:48:28.2389,29.914950611461705,26.756616544802892 -130.044,2024/06/05 13:48:28.4499,29.914950611461705,26.756616544802892 -130.079,2024/06/05 13:48:28.4849,29.914950611461705,26.756616544802892 -130.329,2024/06/05 13:48:28.7349,29.914950611461705,26.756616544802892 -130.572,2024/06/05 13:48:28.9779,29.914950611461705,26.756616544802892 -130.783,2024/06/05 13:48:29.1889,29.914950611461705,26.756616544802892 -130.818,2024/06/05 13:48:29.2239,29.914950611461705,26.756616544802892 -131.065,2024/06/05 13:48:29.4709,29.914950611461705,26.756616544802892 -131.31,2024/06/05 13:48:29.7159,29.914950611461705,26.756616544802892 -131.521,2024/06/05 13:48:29.9269,29.914950611461705,26.756616544802892 -131.557,2024/06/05 13:48:29.9629,29.914950611461705,26.756616544802892 -131.803,2024/06/05 13:48:30.2089,29.914950611461705,26.756616544802892 -132.014,2024/06/05 13:48:30.4199,29.914950611461705,26.756616544802892 -132.049,2024/06/05 13:48:30.4549,29.914950611461705,26.756616544802892 -132.295,2024/06/05 13:48:30.7009,29.914950611461705,26.756616544802892 -132.542,2024/06/05 13:48:30.9479,29.914950611461705,26.756616544802892 -132.753,2024/06/05 13:48:31.1589,29.914950611461705,26.756616544802892 -132.788,2024/06/05 13:48:31.1939,29.914950611461705,26.756616544802892 -133.035,2024/06/05 13:48:31.4409,29.914950611461705,26.756616544802892 -133.492,2024/06/05 13:48:31.8979,29.914950611461705,26.756616544802892 -133.773,2024/06/05 13:48:32.1789,29.914950611461705,26.756616544802892 -133.985,2024/06/05 13:48:32.3909,29.914950611461705,26.756616544802892 -134.513,2024/06/05 13:48:32.9189,29.914950611461705,26.756616544802892 -134.723,2024/06/05 13:48:33.1289,29.914950611461705,26.756616544802892 -134.758,2024/06/05 13:48:33.1639,29.914950611461705,26.756616544802892 -135.005,2024/06/05 13:48:33.4109,29.914950611461705,26.756616544802892 -135.251,2024/06/05 13:48:33.6569,29.914950611461705,26.756616544802892 -135.463,2024/06/05 13:48:33.8689,29.914950611461705,26.756616544802892 -135.497,2024/06/05 13:48:33.9029,29.914950611461705,26.756616544802892 -135.744,2024/06/05 13:48:34.1499,29.914950611461705,26.756616544802892 -135.955,2024/06/05 13:48:34.3609,29.914950611461705,26.756616544802892 -135.99,2024/06/05 13:48:34.3959,29.914950611461705,26.756616544802892 -136.236,2024/06/05 13:48:34.6419,29.914950611461705,26.756616544802892 -136.482,2024/06/05 13:48:34.8879,29.914950611461705,26.756616544802892 -136.693,2024/06/05 13:48:35.0989,29.914950611461705,26.756616544802892 -136.728,2024/06/05 13:48:35.1339,29.914950611461705,26.756616544802892 -137.186,2024/06/05 13:48:35.5919,29.914950611461705,26.756616544802892 -137.467,2024/06/05 13:48:35.8729,29.914950611461705,26.756616544802892 -137.713,2024/06/05 13:48:36.1189,29.914950611461705,26.756616544802892 -137.925,2024/06/05 13:48:36.3309,29.914950611461705,26.756616544802892 -138.452,2024/06/05 13:48:36.8579,29.914950611461705,26.756616544802892 -138.664,2024/06/05 13:48:37.0699,29.914950611461705,26.756616544802892 -138.699,2024/06/05 13:48:37.1049,29.914950611461705,26.756616544802892 -138.945,2024/06/05 13:48:37.3509,29.914950611461705,26.756616544802892 -139.156,2024/06/05 13:48:37.5619,29.914950611461705,26.756616544802892 -139.192,2024/06/05 13:48:37.5979,29.914950611461705,26.756616544802892 -139.437,2024/06/05 13:48:37.8429,29.914950611461705,26.756616544802892 -139.684,2024/06/05 13:48:38.0899,29.914950611461705,26.756616544802892 -139.895,2024/06/05 13:48:38.3009,29.914950611461705,26.756616544802892 -139.93,2024/06/05 13:48:38.3359,29.914950611461705,26.756616544802892 -140.176,2024/06/05 13:48:38.5819,29.914950611461705,26.756616544802892 -140.423,2024/06/05 13:48:38.8289,29.914950611461705,26.756616544802892 -140.633,2024/06/05 13:48:39.0389,29.914950611461705,26.756616544802892 -140.669,2024/06/05 13:48:39.0749,29.914950611461705,26.756616544802892 -140.915,2024/06/05 13:48:39.3209,29.914950611461705,26.756616544802892 -141.161,2024/06/05 13:48:39.5669,29.914950611461705,26.756616544802892 -141.407,2024/06/05 13:48:39.8129,29.914950611461705,26.756616544802892 -141.619,2024/06/05 13:48:40.0249,29.914950611461705,26.756616544802892 -141.654,2024/06/05 13:48:40.0599,29.914950611461705,26.756616544802892 -141.9,2024/06/05 13:48:40.3059,29.914950611461705,26.756616544802892 -142.147,2024/06/05 13:48:40.5529,29.914950611461705,26.756616544802892 -142.358,2024/06/05 13:48:40.7639,29.914950611461705,26.756616544802892 -142.393,2024/06/05 13:48:40.7989,29.914950611461705,26.756616544802892 -142.604,2024/06/05 13:48:41.0099,29.914950611461705,26.756616544802892 -142.639,2024/06/05 13:48:41.0449,29.914950611461705,26.756616544802892 -142.886,2024/06/05 13:48:41.2919,29.914950611461705,26.756616544802892 -143.132,2024/06/05 13:48:41.5379,29.914950611461705,26.756616544802892 -143.342,2024/06/05 13:48:41.7479,29.914950611461705,26.756616544802892 -143.378,2024/06/05 13:48:41.7839,29.914950611461705,26.756616544802892 -143.625,2024/06/05 13:48:42.0309,29.914950611461705,26.756616544802892 -143.87,2024/06/05 13:48:42.2759,29.914950611461705,26.756616544802892 -144.081,2024/06/05 13:48:42.4869,29.914950611461705,26.756616544802892 -144.117,2024/06/05 13:48:42.5229,29.914950611461705,26.756616544802892 -144.363,2024/06/05 13:48:42.7689,29.914950611461705,26.756616544802892 -144.609,2024/06/05 13:48:43.0149,29.914950611461705,26.756616544802892 -144.821,2024/06/05 13:48:43.2269,29.914950611461705,26.756616544802892 -144.856,2024/06/05 13:48:43.2619,29.914950611461705,26.756616544802892 -145.102,2024/06/05 13:48:43.5079,29.914950611461705,26.756616544802892 -145.313,2024/06/05 13:48:43.7189,29.914950611461705,26.756616544802892 -145.349,2024/06/05 13:48:43.7549,29.914950611461705,26.756616544802892 -145.806,2024/06/05 13:48:44.2119,29.914950611461705,26.756616544802892 -146.088,2024/06/05 13:48:44.4939,29.914950611461705,26.756616544802892 -146.545,2024/06/05 13:48:44.9509,29.914950611461705,26.756616544802892 -146.826,2024/06/05 13:48:45.2319,29.914950611461705,26.756616544802892 -147.037,2024/06/05 13:48:45.4429,29.914950611461705,26.756616544802892 -147.072,2024/06/05 13:48:45.4779,29.914950611461705,26.756616544802892 -147.318,2024/06/05 13:48:45.7239,29.914950611461705,26.756616544802892 -147.564,2024/06/05 13:48:45.9699,29.914950611461705,26.756616544802892 -147.776,2024/06/05 13:48:46.1819,29.914950611461705,26.756616544802892 -147.811,2024/06/05 13:48:46.2169,29.914950611461705,26.756616544802892 -148.057,2024/06/05 13:48:46.4629,29.914950611461705,26.756616544802892 -148.304,2024/06/05 13:48:46.7099,29.914950611461705,26.756616544802892 -148.514,2024/06/05 13:48:46.9199,29.914950611461705,26.756616544802892 -148.549,2024/06/05 13:48:46.9549,29.914950611461705,26.756616544802892 -148.796,2024/06/05 13:48:47.2019,29.914950611461705,26.756616544802892 -149.007,2024/06/05 13:48:47.4129,29.914950611461705,26.756616544802892 -149.042,2024/06/05 13:48:47.4479,29.914950611461705,26.756616544802892 -149.745,2024/06/05 13:48:48.1509,29.914950611461705,26.756616544802892 -149.781,2024/06/05 13:48:48.1869,29.914950611461705,26.756616544802892 -150.028,2024/06/05 13:48:48.4339,29.914950611461705,26.756616544802892 -150.273,2024/06/05 13:48:48.6789,29.914950611461705,26.756616544802892 -150.485,2024/06/05 13:48:48.8909,29.914950611461705,26.756616544802892 -150.52,2024/06/05 13:48:48.9259,29.914950611461705,26.756616544802892 -150.767,2024/06/05 13:48:49.1729,29.914950611461705,26.756616544802892 -150.977,2024/06/05 13:48:49.3829,29.914950611461705,26.756616544802892 -151.012,2024/06/05 13:48:49.4179,29.914950611461705,26.756616544802892 -151.259,2024/06/05 13:48:49.6649,29.914950611461705,26.756616544802892 -151.506,2024/06/05 13:48:49.9119,29.914950611461705,26.756616544802892 -151.716,2024/06/05 13:48:50.1219,29.914950611461705,26.756616544802892 -151.751,2024/06/05 13:48:50.1569,29.914950611461705,26.756616544802892 -151.998,2024/06/05 13:48:50.4039,29.914950611461705,26.756616544802892 -152.244,2024/06/05 13:48:50.6499,29.914950611461705,26.756616544802892 -152.455,2024/06/05 13:48:50.8609,29.914950611461705,26.756616544802892 -152.491,2024/06/05 13:48:50.8969,29.914950611461705,26.756616544802892 -152.736,2024/06/05 13:48:51.1419,29.914950611461705,26.756616544802892 -152.948,2024/06/05 13:48:51.3539,29.914950611461705,26.756616544802892 -153.475,2024/06/05 13:48:51.8809,29.914950611461705,26.756616544802892 -153.686,2024/06/05 13:48:52.0919,29.914950611461705,26.756616544802892 -153.722,2024/06/05 13:48:52.1279,29.914950611461705,26.756616544802892 -153.968,2024/06/05 13:48:52.3739,29.914950611461705,26.756616544802892 -154.178,2024/06/05 13:48:52.5839,29.914950611461705,26.756616544802892 -154.214,2024/06/05 13:48:52.6199,29.914950611461705,26.756616544802892 -154.46,2024/06/05 13:48:52.8659,29.914950611461705,26.756616544802892 -154.918,2024/06/05 13:48:53.3239,29.914950611461705,26.756616544802892 -155.199,2024/06/05 13:48:53.6049,29.914950611461705,26.756616544802892 -155.446,2024/06/05 13:48:53.8519,29.914950611461705,26.756616544802892 -155.656,2024/06/05 13:48:54.0619,29.914950611461705,26.756616544802892 -155.692,2024/06/05 13:48:54.0979,29.914950611461705,26.756616544802892 -155.938,2024/06/05 13:48:54.3439,29.914950611461705,26.756616544802892 -156.149,2024/06/05 13:48:54.5549,29.914950611461705,26.756616544802892 -156.185,2024/06/05 13:48:54.5909,29.914950611461705,26.756616544802892 -156.431,2024/06/05 13:48:54.8369,29.914950611461705,26.756616544802892 -156.677,2024/06/05 13:48:55.0829,29.914950611461705,26.756616544802892 -156.888,2024/06/05 13:48:55.2939,29.914950611461705,26.756616544802892 -157.416,2024/06/05 13:48:55.8219,29.914950611461705,26.756616544802892 -157.627,2024/06/05 13:48:56.0329,29.914950611461705,26.756616544802892 -157.662,2024/06/05 13:48:56.0679,29.914950611461705,26.756616544802892 -157.908,2024/06/05 13:48:56.3139,29.914950611461705,26.756616544802892 -158.155,2024/06/05 13:48:56.5609,29.914950611461705,26.756616544802892 -158.365,2024/06/05 13:48:56.7709,29.914950611461705,26.756616544802892 -158.401,2024/06/05 13:48:56.8069,29.914950611461705,26.756616544802892 -158.647,2024/06/05 13:48:57.0529,29.914950611461705,26.756616544802892 -158.893,2024/06/05 13:48:57.2989,29.914950611461705,26.756616544802892 -159.104,2024/06/05 13:48:57.5099,29.914950611461705,26.756616544802892 -159.14,2024/06/05 13:48:57.5459,29.914950611461705,26.756616544802892 -159.386,2024/06/05 13:48:57.7919,29.914950611461705,26.756616544802892 -159.597,2024/06/05 13:48:58.0029,29.914950611461705,26.756616544802892 -159.633,2024/06/05 13:48:58.0389,29.914950611461705,26.756616544802892 -159.879,2024/06/05 13:48:58.2849,29.914950611461705,26.756616544802892 -160.125,2024/06/05 13:48:58.5309,29.914950611461705,26.756616544802892 -160.335,2024/06/05 13:48:58.7409,29.914950611461705,26.756616544802892 -160.371,2024/06/05 13:48:58.7769,29.914950611461705,26.756616544802892 -160.617,2024/06/05 13:48:59.0229,29.914950611461705,26.756616544802892 -160.828,2024/06/05 13:48:59.2339,29.914950611461705,26.756616544802892 -160.863,2024/06/05 13:48:59.2689,29.914950611461705,26.756616544802892 -161.11,2024/06/05 13:48:59.5159,29.914950611461705,26.756616544802892 -161.356,2024/06/05 13:48:59.7619,29.914950611461705,26.756616544802892 -161.813,2024/06/05 13:49:00.2189,29.914950611461705,26.756616544802892 -162.059,2024/06/05 13:49:00.4649,29.914950611461705,26.756616544802892 -162.095,2024/06/05 13:49:00.5009,29.914950611461705,26.756616544802892 -162.834,2024/06/05 13:49:01.2399,29.914950611461705,26.756616544802892 -163.044,2024/06/05 13:49:01.4499,29.914950611461705,26.756616544802892 -163.08,2024/06/05 13:49:01.4859,29.914950611461705,26.756616544802892 -163.538,2024/06/05 13:49:01.9439,29.914950611461705,26.756616544802892 -164.276,2024/06/05 13:49:02.6819,29.914950611461705,26.756616544802892 -164.312,2024/06/05 13:49:02.7179,29.914950611461705,26.756616544802892 -164.557,2024/06/05 13:49:02.9629,29.914950611461705,26.756616544802892 -164.769,2024/06/05 13:49:03.1749,29.914950611461705,26.756616544802892 -164.804,2024/06/05 13:49:03.2099,29.914950611461705,26.756616544802892 -165.05,2024/06/05 13:49:03.4559,29.914950611461705,26.756616544802892 -165.261,2024/06/05 13:49:03.6669,29.914950611461705,26.756616544802892 -165.789,2024/06/05 13:49:04.1949,29.914950611461705,26.756616544802892 -166.0,2024/06/05 13:49:04.4059,29.914950611461705,26.756616544802892 -166.035,2024/06/05 13:49:04.4409,29.914950611461705,26.756616544802892 -166.281,2024/06/05 13:49:04.6869,29.914950611461705,26.756616544802892 -166.493,2024/06/05 13:49:04.8989,29.914950611461705,26.756616544802892 -166.528,2024/06/05 13:49:04.9339,29.914950611461705,26.756616544802892 -166.774,2024/06/05 13:49:05.1799,29.914950611461705,26.756616544802892 -167.02,2024/06/05 13:49:05.4259,29.914950611461705,26.756616544802892 -167.232,2024/06/05 13:49:05.6379,29.914950611461705,26.756616544802892 -167.267,2024/06/05 13:49:05.6729,29.914950611461705,26.756616544802892 -167.513,2024/06/05 13:49:05.9189,29.914950611461705,26.756616544802892 -167.76,2024/06/05 13:49:06.1659,29.914950611461705,26.756616544802892 -167.97,2024/06/05 13:49:06.3759,29.914950611461705,26.756616544802892 -168.005,2024/06/05 13:49:06.4109,29.914950611461705,26.756616544802892 -168.252,2024/06/05 13:49:06.6579,29.914950611461705,26.756616544802892 -168.462,2024/06/05 13:49:06.8679,29.914950611461705,26.756616544802892 -168.498,2024/06/05 13:49:06.9039,29.914950611461705,26.756616544802892 -168.744,2024/06/05 13:49:07.1499,29.914950611461705,26.756616544802892 -168.991,2024/06/05 13:49:07.3969,29.914950611461705,26.756616544802892 -169.201,2024/06/05 13:49:07.6069,29.914950611461705,26.756616544802892 -169.237,2024/06/05 13:49:07.6429,29.914950611461705,26.756616544802892 -169.484,2024/06/05 13:49:07.8899,29.914950611461705,26.756616544802892 -169.73,2024/06/05 13:49:08.1359,29.914950611461705,26.756616544802892 -169.94,2024/06/05 13:49:08.3459,29.914950611461705,26.756616544802892 -169.976,2024/06/05 13:49:08.3819,29.914950611461705,26.756616544802892 -170.222,2024/06/05 13:49:08.6279,29.914950611461705,26.756616544802892 -170.679,2024/06/05 13:49:09.0849,29.914950611461705,26.756616544802892 -170.961,2024/06/05 13:49:09.3669,29.914950611461705,26.756616544802892 -171.171,2024/06/05 13:49:09.5769,29.914950611461705,26.756616544802892 -171.207,2024/06/05 13:49:09.6129,29.914950611461705,26.756616544802892 -171.454,2024/06/05 13:49:09.8599,29.914950611461705,26.756616544802892 -171.911,2024/06/05 13:49:10.3169,29.914950611461705,26.756616544802892 -172.192,2024/06/05 13:49:10.5979,29.914950611461705,26.756616544802892 -172.438,2024/06/05 13:49:10.8439,29.914950611461705,26.756616544802892 -172.649,2024/06/05 13:49:11.0549,29.914950611461705,26.756616544802892 -172.685,2024/06/05 13:49:11.0909,29.914950611461705,26.756616544802892 -172.932,2024/06/05 13:49:11.3379,29.914950611461705,26.756616544802892 -173.142,2024/06/05 13:49:11.5479,29.914950611461705,26.756616544802892 -173.67,2024/06/05 13:49:12.0759,29.914950611461705,26.756616544802892 -173.917,2024/06/05 13:49:12.3229,29.914950611461705,26.756616544802892 -174.126,2024/06/05 13:49:12.5319,29.914950611461705,26.756616544802892 -174.62,2024/06/05 13:49:13.0259,29.914950611461705,26.756616544802892 -175.148,2024/06/05 13:49:13.5539,29.914950611461705,26.756616544802892 -175.358,2024/06/05 13:49:13.7639,29.914950611461705,26.756616544802892 -175.394,2024/06/05 13:49:13.7999,29.914950611461705,26.756616544802892 -175.64,2024/06/05 13:49:14.0459,29.914950611461705,26.756616544802892 -175.851,2024/06/05 13:49:14.2569,29.914950611461705,26.756616544802892 -175.887,2024/06/05 13:49:14.2929,29.914950611461705,26.756616544802892 -176.133,2024/06/05 13:49:14.5389,29.914950611461705,26.756616544802892 -176.379,2024/06/05 13:49:14.7849,29.914950611461705,26.756616544802892 -176.59,2024/06/05 13:49:14.9959,29.914950611461705,26.756616544802892 -176.625,2024/06/05 13:49:15.0309,29.914950611461705,26.756616544802892 -176.871,2024/06/05 13:49:15.2769,29.914950611461705,26.756616544802892 -177.118,2024/06/05 13:49:15.5239,29.914950611461705,26.756616544802892 -177.328,2024/06/05 13:49:15.7339,29.914950611461705,26.756616544802892 -177.364,2024/06/05 13:49:15.7699,29.914950611461705,26.756616544802892 -178.068,2024/06/05 13:49:16.4739,29.914950611461705,26.756616544802892 -178.103,2024/06/05 13:49:16.5089,29.914950611461705,26.756616544802892 -178.349,2024/06/05 13:49:16.7549,29.914950611461705,26.756616544802892 -178.595,2024/06/05 13:49:17.0009,29.914950611461705,26.756616544802892 -178.806,2024/06/05 13:49:17.2119,29.914950611461705,26.756616544802892 -178.842,2024/06/05 13:49:17.2479,29.914950611461705,26.756616544802892 -179.088,2024/06/05 13:49:17.4939,29.914950611461705,26.756616544802892 -179.334,2024/06/05 13:49:17.7399,29.914950611461705,26.756616544802892 -179.545,2024/06/05 13:49:17.9509,29.914950611461705,26.756616544802892 -179.581,2024/06/05 13:49:17.9869,29.914950611461705,26.756616544802892 -179.826,2024/06/05 13:49:18.2319,29.914950611461705,26.756616544802892 -180.073,2024/06/05 13:49:18.4789,29.914950611461705,26.756616544802892 -180.283,2024/06/05 13:49:18.6889,29.914950611461705,26.756616544802892 -180.319,2024/06/05 13:49:18.7249,29.914950611461705,26.756616544802892 -180.565,2024/06/05 13:49:18.9709,29.914950611461705,26.756616544802892 -180.776,2024/06/05 13:49:19.1819,29.914950611461705,26.756616544802892 -180.811,2024/06/05 13:49:19.2169,29.914950611461705,26.756616544802892 -181.058,2024/06/05 13:49:19.4639,29.914950611461705,26.756616544802892 -181.304,2024/06/05 13:49:19.7099,29.914950611461705,26.756616544802892 -181.515,2024/06/05 13:49:19.9209,29.914950611461705,26.756616544802892 -181.551,2024/06/05 13:49:19.9569,29.914950611461705,26.756616544802892 -181.797,2024/06/05 13:49:20.2029,29.914950611461705,26.756616544802892 -182.008,2024/06/05 13:49:20.4139,29.914950611461705,26.756616544802892 -182.043,2024/06/05 13:49:20.4489,29.914950611461705,26.756616544802892 -182.289,2024/06/05 13:49:20.6949,29.914950611461705,26.756616544802892 -182.536,2024/06/05 13:49:20.9419,29.914950611461705,26.756616544802892 -182.747,2024/06/05 13:49:21.1529,29.914950611461705,26.756616544802892 -182.782,2024/06/05 13:49:21.1879,29.914950611461705,26.756616544802892 -183.028,2024/06/05 13:49:21.4339,29.914950611461705,26.756616544802892 -183.239,2024/06/05 13:49:21.6449,29.914950611461705,26.756616544802892 -183.767,2024/06/05 13:49:22.1729,29.914950611461705,26.756616544802892 -184.013,2024/06/05 13:49:22.4189,29.914950611461705,26.756616544802892 -184.224,2024/06/05 13:49:22.6299,29.914950611461705,26.756616544802892 -184.26,2024/06/05 13:49:22.6659,29.914950611461705,26.756616544802892 -184.506,2024/06/05 13:49:22.9119,29.914950611461705,26.756616544802892 -184.717,2024/06/05 13:49:23.1229,29.914950611461705,26.756616544802892 -184.752,2024/06/05 13:49:23.1579,29.914950611461705,26.756616544802892 -184.998,2024/06/05 13:49:23.4039,29.914950611461705,26.756616544802892 -185.209,2024/06/05 13:49:23.6149,29.914950611461705,26.756616544802892 -185.245,2024/06/05 13:49:23.6509,29.914950611461705,26.756616544802892 -185.491,2024/06/05 13:49:23.8969,29.914950611461705,26.756616544802892 -185.737,2024/06/05 13:49:24.1429,29.914950611461705,26.756616544802892 -185.948,2024/06/05 13:49:24.3539,29.914950611461705,26.756616544802892 -185.984,2024/06/05 13:49:24.3899,29.914950611461705,26.756616544802892 -186.229,2024/06/05 13:49:24.6349,29.914950611461705,26.756616544802892 -186.476,2024/06/05 13:49:24.8819,29.914950611461705,26.756616544802892 -186.687,2024/06/05 13:49:25.0929,29.914950611461705,26.756616544802892 -186.722,2024/06/05 13:49:25.1279,29.914950611461705,26.756616544802892 -186.969,2024/06/05 13:49:25.3749,29.914950611461705,26.756616544802892 -187.215,2024/06/05 13:49:25.6209,29.914950611461705,26.756616544802892 -187.426,2024/06/05 13:49:25.8319,29.914950611461705,26.756616544802892 -187.462,2024/06/05 13:49:25.8679,29.914950611461705,26.756616544802892 -187.918,2024/06/05 13:49:26.3239,29.914950611461705,26.756616544802892 -188.2,2024/06/05 13:49:26.6059,29.914950611461705,26.756616544802892 -188.446,2024/06/05 13:49:26.8519,29.914950611461705,26.756616544802892 -188.657,2024/06/05 13:49:27.0629,29.914950611461705,26.756616544802892 -188.693,2024/06/05 13:49:27.0989,29.914950611461705,26.756616544802892 -188.939,2024/06/05 13:49:27.3449,29.914950611461705,26.756616544802892 -189.185,2024/06/05 13:49:27.5909,29.914950611461705,26.756616544802892 -189.396,2024/06/05 13:49:27.8019,29.914950611461705,26.756616544802892 -189.432,2024/06/05 13:49:27.8379,29.914950611461705,26.756616544802892 -189.677,2024/06/05 13:49:28.0829,29.914950611461705,26.756616544802892 -189.888,2024/06/05 13:49:28.2939,29.914950611461705,26.756616544802892 -189.924,2024/06/05 13:49:28.3299,29.914950611461705,26.756616544802892 -190.17,2024/06/05 13:49:28.5759,29.914950611461705,26.756616544802892 -190.416,2024/06/05 13:49:28.8219,29.914950611461705,26.756616544802892 -190.627,2024/06/05 13:49:29.0329,29.914950611461705,26.756616544802892 -191.156,2024/06/05 13:49:29.5619,29.914950611461705,26.756616544802892 -191.401,2024/06/05 13:49:29.8069,29.914950611461705,26.756616544802892 -191.612,2024/06/05 13:49:30.0179,29.914950611461705,26.756616544802892 -191.648,2024/06/05 13:49:30.0539,29.914950611461705,26.756616544802892 -191.858,2024/06/05 13:49:30.2639,29.914950611461705,26.756616544802892 -191.894,2024/06/05 13:49:30.2999,29.914950611461705,26.756616544802892 -192.141,2024/06/05 13:49:30.5469,29.914950611461705,26.756616544802892 -192.387,2024/06/05 13:49:30.7929,29.914950611461705,26.756616544802892 -192.597,2024/06/05 13:49:31.0029,29.914950611461705,26.756616544802892 -192.633,2024/06/05 13:49:31.0389,29.914950611461705,26.756616544802892 -192.879,2024/06/05 13:49:31.2849,29.914950611461705,26.756616544802892 -193.125,2024/06/05 13:49:31.5309,29.914950611461705,26.756616544802892 -193.336,2024/06/05 13:49:31.7419,29.914950611461705,26.756616544802892 -193.372,2024/06/05 13:49:31.7779,29.914950611461705,26.756616544802892 -194.075,2024/06/05 13:49:32.4809,29.914950611461705,26.756616544802892 -194.111,2024/06/05 13:49:32.5169,29.914950611461705,26.756616544802892 -194.357,2024/06/05 13:49:32.7629,29.914950611461705,26.756616544802892 -194.813,2024/06/05 13:49:33.2189,29.914950611461705,26.756616544802892 -195.095,2024/06/05 13:49:33.5009,29.914950611461705,26.756616544802892 -195.342,2024/06/05 13:49:33.7479,29.914950611461705,26.756616544802892 -195.552,2024/06/05 13:49:33.9579,29.914950611461705,26.756616544802892 -195.588,2024/06/05 13:49:33.9939,29.914950611461705,26.756616544802892 -195.835,2024/06/05 13:49:34.2409,29.914950611461705,26.756616544802892 -196.081,2024/06/05 13:49:34.4869,29.914950611461705,26.756616544802892 -196.291,2024/06/05 13:49:34.6969,29.914950611461705,26.756616544802892 -196.327,2024/06/05 13:49:34.7329,29.914950611461705,26.756616544802892 -196.574,2024/06/05 13:49:34.9799,29.914950611461705,26.756616544802892 -196.784,2024/06/05 13:49:35.1899,29.914950611461705,26.756616544802892 -196.82,2024/06/05 13:49:35.2259,29.914950611461705,26.756616544802892 -197.066,2024/06/05 13:49:35.4719,29.914950611461705,26.756616544802892 -197.276,2024/06/05 13:49:35.6819,29.914950611461705,26.756616544802892 -197.312,2024/06/05 13:49:35.7179,29.914950611461705,26.756616544802892 -197.558,2024/06/05 13:49:35.9639,29.914950611461705,26.756616544802892 -197.805,2024/06/05 13:49:36.2109,29.914950611461705,26.756616544802892 -198.015,2024/06/05 13:49:36.4209,29.914950611461705,26.756616544802892 -198.051,2024/06/05 13:49:36.4569,29.914950611461705,26.756616544802892 -198.298,2024/06/05 13:49:36.7039,29.914950611461705,26.756616544802892 -198.508,2024/06/05 13:49:36.9139,29.914950611461705,26.756616544802892 -198.544,2024/06/05 13:49:36.9499,29.914950611461705,26.756616544802892 -198.79,2024/06/05 13:49:37.1959,29.914950611461705,26.756616544802892 -199.036,2024/06/05 13:49:37.4419,29.914950611461705,26.756616544802892 -199.246,2024/06/05 13:49:37.6519,29.914950611461705,26.756616544802892 -199.282,2024/06/05 13:49:37.6879,29.914950611461705,26.756616544802892 -199.529,2024/06/05 13:49:37.9349,29.914950611461705,26.756616544802892 -199.775,2024/06/05 13:49:38.1809,29.914950611461705,26.756616544802892 -199.986,2024/06/05 13:49:38.3919,29.914950611461705,26.756616544802892 -200.514,2024/06/05 13:49:38.9199,29.914950611461705,26.756616544802892 -200.724,2024/06/05 13:49:39.1299,29.914950611461705,26.756616544802892 -201.217,2024/06/05 13:49:39.6229,29.914950611461705,26.756616544802892 -201.253,2024/06/05 13:49:39.6589,29.914950611461705,26.756616544802892 -201.955,2024/06/05 13:49:40.3609,29.914950611461705,26.756616544802892 -202.484,2024/06/05 13:49:40.8899,29.914950611461705,26.756616544802892 -202.694,2024/06/05 13:49:41.0999,29.914950611461705,26.756616544802892 -202.73,2024/06/05 13:49:41.1359,29.914950611461705,26.756616544802892 -202.976,2024/06/05 13:49:41.3819,29.914950611461705,26.756616544802892 -203.187,2024/06/05 13:49:41.5929,29.914950611461705,26.756616544802892 -203.223,2024/06/05 13:49:41.6289,29.914950611461705,26.756616544802892 -203.469,2024/06/05 13:49:41.8749,29.914950611461705,26.756616544802892 -203.715,2024/06/05 13:49:42.1209,29.914950611461705,26.756616544802892 -203.926,2024/06/05 13:49:42.3319,29.914950611461705,26.756616544802892 -204.454,2024/06/05 13:49:42.8599,29.914950611461705,26.756616544802892 -204.665,2024/06/05 13:49:43.0709,29.914950611461705,26.756616544802892 -204.701,2024/06/05 13:49:43.1069,29.914950611461705,26.756616544802892 -204.947,2024/06/05 13:49:43.3529,29.914950611461705,26.756616544802892 -205.157,2024/06/05 13:49:43.5629,29.914950611461705,26.756616544802892 -205.193,2024/06/05 13:49:43.5989,29.914950611461705,26.756616544802892 -205.439,2024/06/05 13:49:43.8449,29.914950611461705,26.756616544802892 -205.685,2024/06/05 13:49:44.0909,29.914950611461705,26.756616544802892 -205.896,2024/06/05 13:49:44.3019,29.914950611461705,26.756616544802892 -205.932,2024/06/05 13:49:44.3379,29.914950611461705,26.756616544802892 -206.178,2024/06/05 13:49:44.5839,29.914950611461705,26.756616544802892 -206.425,2024/06/05 13:49:44.8309,29.914950611461705,26.756616544802892 -206.634,2024/06/05 13:49:45.0399,29.914950611461705,26.756616544802892 -207.127,2024/06/05 13:49:45.5329,29.914950611461705,26.756616544802892 -207.163,2024/06/05 13:49:45.5689,29.914950611461705,26.756616544802892 -207.41,2024/06/05 13:49:45.8159,29.914950611461705,26.756616544802892 -207.656,2024/06/05 13:49:46.0619,29.914950611461705,26.756616544802892 -207.866,2024/06/05 13:49:46.2719,29.914950611461705,26.756616544802892 -207.903,2024/06/05 13:49:46.3089,29.914950611461705,26.756616544802892 -208.148,2024/06/05 13:49:46.5539,29.914950611461705,26.756616544802892 -208.394,2024/06/05 13:49:46.7999,29.914950611461705,26.756616544802892 -208.605,2024/06/05 13:49:47.0109,29.914950611461705,26.756616544802892 -208.642,2024/06/05 13:49:47.0479,29.914950611461705,26.756616544802892 -208.887,2024/06/05 13:49:47.2929,29.914950611461705,26.756616544802892 -209.097,2024/06/05 13:49:47.5029,29.914950611461705,26.756616544802892 -209.134,2024/06/05 13:49:47.5399,29.914950611461705,26.756616544802892 -209.38,2024/06/05 13:49:47.7859,29.914950611461705,26.756616544802892 -209.626,2024/06/05 13:49:48.0319,29.914950611461705,26.756616544802892 -209.837,2024/06/05 13:49:48.2429,29.914950611461705,26.756616544802892 -209.872,2024/06/05 13:49:48.2779,29.914950611461705,26.756616544802892 -210.575,2024/06/05 13:49:48.9809,29.914950611461705,26.756616544802892 -210.611,2024/06/05 13:49:49.0169,29.914950611461705,26.756616544802892 -210.858,2024/06/05 13:49:49.2639,29.914950611461705,26.756616544802892 -211.104,2024/06/05 13:49:49.5099,29.914950611461705,26.756616544802892 -211.314,2024/06/05 13:49:49.7199,29.914950611461705,26.756616544802892 -211.35,2024/06/05 13:49:49.7559,29.914950611461705,26.756616544802892 -211.596,2024/06/05 13:49:50.0019,29.914950611461705,26.756616544802892 -211.843,2024/06/05 13:49:50.2489,29.914950611461705,26.756616544802892 -212.053,2024/06/05 13:49:50.4589,29.914950611461705,26.756616544802892 -212.089,2024/06/05 13:49:50.4949,29.914950611461705,26.756616544802892 -212.791,2024/06/05 13:49:51.1969,29.914950611461705,26.756616544802892 -212.828,2024/06/05 13:49:51.2339,29.914950611461705,26.756616544802892 -213.284,2024/06/05 13:49:51.6899,29.914950611461705,26.756616544802892 -213.567,2024/06/05 13:49:51.9729,29.914950611461705,26.756616544802892 -213.813,2024/06/05 13:49:52.2189,29.914950611461705,26.756616544802892 -214.023,2024/06/05 13:49:52.4289,29.914950611461705,26.756616544802892 -214.059,2024/06/05 13:49:52.4649,29.914950611461705,26.756616544802892 -214.305,2024/06/05 13:49:52.7109,29.914950611461705,26.756616544802892 -214.551,2024/06/05 13:49:52.9569,29.914950611461705,26.756616544802892 -214.762,2024/06/05 13:49:53.1679,29.914950611461705,26.756616544802892 -214.798,2024/06/05 13:49:53.2039,29.914950611461705,26.756616544802892 -215.044,2024/06/05 13:49:53.4499,29.914950611461705,26.756616544802892 -215.255,2024/06/05 13:49:53.6609,29.914950611461705,26.756616544802892 -215.783,2024/06/05 13:49:54.1889,29.914950611461705,26.756616544802892 -215.993,2024/06/05 13:49:54.3989,29.914950611461705,26.756616544802892 -216.522,2024/06/05 13:49:54.9279,29.914950611461705,26.756616544802892 -216.769,2024/06/05 13:49:55.1749,29.914950611461705,26.756616544802892 -216.978,2024/06/05 13:49:55.3839,29.914950611461705,26.756616544802892 -217.014,2024/06/05 13:49:55.4199,29.914950611461705,26.756616544802892 -217.261,2024/06/05 13:49:55.6669,29.914950611461705,26.756616544802892 -217.507,2024/06/05 13:49:55.9129,29.914950611461705,26.756616544802892 -217.717,2024/06/05 13:49:56.1229,29.914950611461705,26.756616544802892 -217.753,2024/06/05 13:49:56.1589,29.914950611461705,26.756616544802892 -217.999,2024/06/05 13:49:56.4049,29.914950611461705,26.756616544802892 -218.209,2024/06/05 13:49:56.6149,29.914950611461705,26.756616544802892 -218.245,2024/06/05 13:49:56.6509,29.914950611461705,26.756616544802892 -218.492,2024/06/05 13:49:56.8979,29.914950611461705,26.756616544802892 -218.702,2024/06/05 13:49:57.1079,29.914950611461705,26.756616544802892 -218.738,2024/06/05 13:49:57.1439,29.914950611461705,26.756616544802892 -218.984,2024/06/05 13:49:57.3899,29.914950611461705,26.756616544802892 -219.231,2024/06/05 13:49:57.6369,29.914950611461705,26.756616544802892 -219.441,2024/06/05 13:49:57.8469,29.914950611461705,26.756616544802892 -219.477,2024/06/05 13:49:57.8829,29.914950611461705,26.756616544802892 -219.723,2024/06/05 13:49:58.1289,29.914950611461705,26.756616544802892 -219.97,2024/06/05 13:49:58.3759,29.914950611461705,26.756616544802892 -220.18,2024/06/05 13:49:58.5859,29.914950611461705,26.756616544802892 -220.216,2024/06/05 13:49:58.6219,29.914950611461705,26.756616544802892 -220.462,2024/06/05 13:49:58.8679,29.914950611461705,26.756616544802892 -220.708,2024/06/05 13:49:59.1139,29.914950611461705,26.756616544802892 -220.919,2024/06/05 13:49:59.3249,29.914950611461705,26.756616544802892 -220.955,2024/06/05 13:49:59.3609,29.914950611461705,26.756616544802892 -221.201,2024/06/05 13:49:59.6069,29.914950611461705,26.756616544802892 -221.447,2024/06/05 13:49:59.8529,29.914950611461705,26.756616544802892 -221.657,2024/06/05 13:50:00.0629,29.914950611461705,26.756616544802892 -221.693,2024/06/05 13:50:00.0989,29.914950611461705,26.756616544802892 -221.94,2024/06/05 13:50:00.3459,29.914950611461705,26.756616544802892 -222.186,2024/06/05 13:50:00.5919,29.914950611461705,26.756616544802892 -222.396,2024/06/05 13:50:00.8019,29.914950611461705,26.756616544802892 -222.432,2024/06/05 13:50:00.8379,29.914950611461705,26.756616544802892 -222.643,2024/06/05 13:50:01.0489,29.914950611461705,26.756616544802892 -223.171,2024/06/05 13:50:01.5769,29.914950611461705,26.756616544802892 -223.381,2024/06/05 13:50:01.7869,29.914950611461705,26.756616544802892 -223.874,2024/06/05 13:50:02.2799,29.914950611461705,26.756616544802892 -223.91,2024/06/05 13:50:02.3159,29.914950611461705,26.756616544802892 -224.156,2024/06/05 13:50:02.5619,29.914950611461705,26.756616544802892 -224.402,2024/06/05 13:50:02.8079,29.914950611461705,26.756616544802892 -224.613,2024/06/05 13:50:03.0189,29.914950611461705,26.756616544802892 -224.649,2024/06/05 13:50:03.0549,29.914950611461705,26.756616544802892 -224.895,2024/06/05 13:50:03.3009,29.914950611461705,26.756616544802892 -225.141,2024/06/05 13:50:03.5469,29.914950611461705,26.756616544802892 -225.351,2024/06/05 13:50:03.7569,29.914950611461705,26.756616544802892 -225.388,2024/06/05 13:50:03.7939,29.914950611461705,26.756616544802892 -226.127,2024/06/05 13:50:04.5329,29.914950611461705,26.756616544802892 -226.336,2024/06/05 13:50:04.7419,29.914950611461705,26.756616544802892 -226.372,2024/06/05 13:50:04.7779,29.914950611461705,26.756616544802892 -226.619,2024/06/05 13:50:05.0249,29.914950611461705,26.756616544802892 -226.829,2024/06/05 13:50:05.2349,29.914950611461705,26.756616544802892 -226.865,2024/06/05 13:50:05.2709,29.914950611461705,26.756616544802892 -227.112,2024/06/05 13:50:05.5179,29.914950611461705,26.756616544802892 -227.358,2024/06/05 13:50:05.7639,29.914950611461705,26.756616544802892 -227.568,2024/06/05 13:50:05.9739,29.914950611461705,26.756616544802892 -227.604,2024/06/05 13:50:06.0099,29.914950611461705,26.756616544802892 -227.85,2024/06/05 13:50:06.2559,29.914950611461705,26.756616544802892 -228.061,2024/06/05 13:50:06.4669,29.914950611461705,26.756616544802892 -228.097,2024/06/05 13:50:06.5029,29.914950611461705,26.756616544802892 -228.343,2024/06/05 13:50:06.7489,29.914950611461705,26.756616544802892 -228.589,2024/06/05 13:50:06.9949,29.914950611461705,26.756616544802892 -228.799,2024/06/05 13:50:07.2049,29.914950611461705,26.756616544802892 -228.836,2024/06/05 13:50:07.2419,29.914950611461705,26.756616544802892 -229.082,2024/06/05 13:50:07.4879,29.914950611461705,26.756616544802892 -229.328,2024/06/05 13:50:07.7339,29.914950611461705,26.756616544802892 -229.538,2024/06/05 13:50:07.9439,29.914950611461705,26.756616544802892 -229.575,2024/06/05 13:50:07.9809,29.914950611461705,26.756616544802892 -229.821,2024/06/05 13:50:08.2269,29.914950611461705,26.756616544802892 -230.031,2024/06/05 13:50:08.4369,29.914950611461705,26.756616544802892 -230.066,2024/06/05 13:50:08.4719,29.914950611461705,26.756616544802892 -230.313,2024/06/05 13:50:08.7189,29.914950611461705,26.756616544802892 -230.559,2024/06/05 13:50:08.9649,29.914950611461705,26.756616544802892 -230.769,2024/06/05 13:50:09.1749,29.914950611461705,26.756616544802892 -230.806,2024/06/05 13:50:09.2119,29.914950611461705,26.756616544802892 -231.052,2024/06/05 13:50:09.4579,29.914950611461705,26.756616544802892 -231.298,2024/06/05 13:50:09.7039,29.914950611461705,26.756616544802892 -231.508,2024/06/05 13:50:09.9139,29.914950611461705,26.756616544802892 -231.545,2024/06/05 13:50:09.9509,29.914950611461705,26.756616544802892 -231.791,2024/06/05 13:50:10.1969,29.914950611461705,26.756616544802892 -232.247,2024/06/05 13:50:10.6529,29.914950611461705,26.756616544802892 -232.986,2024/06/05 13:50:11.3919,29.914950611461705,26.756616544802892 -233.022,2024/06/05 13:50:11.4279,29.914950611461705,26.756616544802892 -233.269,2024/06/05 13:50:11.6749,29.914950611461705,26.756616544802892 -233.515,2024/06/05 13:50:11.9209,29.914950611461705,26.756616544802892 -233.724,2024/06/05 13:50:12.1299,29.914950611461705,26.756616544802892 -233.761,2024/06/05 13:50:12.1669,29.914950611461705,26.756616544802892 -234.008,2024/06/05 13:50:12.4139,29.914950611461705,26.756616544802892 -234.254,2024/06/05 13:50:12.6599,29.914950611461705,26.756616544802892 -234.463,2024/06/05 13:50:12.8689,29.914950611461705,26.756616544802892 -234.5,2024/06/05 13:50:12.9059,29.914950611461705,26.756616544802892 -234.746,2024/06/05 13:50:13.1519,29.914950611461705,26.756616544802892 -234.993,2024/06/05 13:50:13.3989,29.914950611461705,26.756616544802892 -235.203,2024/06/05 13:50:13.6089,29.914950611461705,26.756616544802892 -235.239,2024/06/05 13:50:13.6449,29.914950611461705,26.756616544802892 -235.485,2024/06/05 13:50:13.8909,29.914950611461705,26.756616544802892 -235.731,2024/06/05 13:50:14.1369,29.914950611461705,26.756616544802892 -235.941,2024/06/05 13:50:14.3469,29.914950611461705,26.756616544802892 -235.978,2024/06/05 13:50:14.3839,29.914950611461705,26.756616544802892 -236.224,2024/06/05 13:50:14.6299,29.914950611461705,26.756616544802892 -236.47,2024/06/05 13:50:14.8759,29.914950611461705,26.756616544802892 -236.68,2024/06/05 13:50:15.0859,29.914950611461705,26.756616544802892 -236.717,2024/06/05 13:50:15.1229,29.914950611461705,26.756616544802892 -236.963,2024/06/05 13:50:15.3689,29.914950611461705,26.756616544802892 -237.208,2024/06/05 13:50:15.6139,29.914950611461705,26.756616544802892 -237.419,2024/06/05 13:50:15.8249,29.914950611461705,26.756616544802892 -237.455,2024/06/05 13:50:15.8609,29.914950611461705,26.756616544802892 -237.701,2024/06/05 13:50:16.1069,29.914950611461705,26.756616544802892 -237.911,2024/06/05 13:50:16.3169,29.914950611461705,26.756616544802892 -237.947,2024/06/05 13:50:16.3529,29.914950611461705,26.756616544802892 -238.194,2024/06/05 13:50:16.5999,29.914950611461705,26.756616544802892 -238.44,2024/06/05 13:50:16.8459,29.914950611461705,26.756616544802892 -238.65,2024/06/05 13:50:17.0559,29.914950611461705,26.756616544802892 -238.687,2024/06/05 13:50:17.0929,29.914950611461705,26.756616544802892 -238.933,2024/06/05 13:50:17.3389,29.914950611461705,26.756616544802892 -239.18,2024/06/05 13:50:17.5859,29.914950611461705,26.756616544802892 -239.389,2024/06/05 13:50:17.7949,29.914950611461705,26.756616544802892 -239.425,2024/06/05 13:50:17.8309,29.914950611461705,26.756616544802892 -239.671,2024/06/05 13:50:18.0769,29.914950611461705,26.756616544802892 -239.881,2024/06/05 13:50:18.2869,29.914950611461705,26.756616544802892 -240.411,2024/06/05 13:50:18.8169,29.914950611461705,26.756616544802892 -240.657,2024/06/05 13:50:19.0629,29.914950611461705,26.756616544802892 -240.866,2024/06/05 13:50:19.2719,29.914950611461705,26.756616544802892 -240.903,2024/06/05 13:50:19.3089,29.914950611461705,26.756616544802892 -241.15,2024/06/05 13:50:19.5559,29.914950611461705,26.756616544802892 -241.359,2024/06/05 13:50:19.7649,29.914950611461705,26.756616544802892 -241.888,2024/06/05 13:50:20.2939,29.914950611461705,26.756616544802892 -242.097,2024/06/05 13:50:20.5029,29.914950611461705,26.756616544802892 -242.134,2024/06/05 13:50:20.5399,29.914950611461705,26.756616544802892 -242.38,2024/06/05 13:50:20.7859,29.914950611461705,26.756616544802892 -242.627,2024/06/05 13:50:21.0329,29.914950611461705,26.756616544802892 -242.836,2024/06/05 13:50:21.2419,29.914950611461705,26.756616544802892 -243.366,2024/06/05 13:50:21.7719,29.914950611461705,26.756616544802892 -243.575,2024/06/05 13:50:21.9809,29.914950611461705,26.756616544802892 -243.612,2024/06/05 13:50:22.0179,29.914950611461705,26.756616544802892 -243.859,2024/06/05 13:50:22.2649,29.914950611461705,26.756616544802892 -244.105,2024/06/05 13:50:22.5109,29.914950611461705,26.756616544802892 -244.315,2024/06/05 13:50:22.7209,29.914950611461705,26.756616544802892 -244.843,2024/06/05 13:50:23.2489,29.914950611461705,26.756616544802892 -245.053,2024/06/05 13:50:23.4589,29.914950611461705,26.756616544802892 -245.09,2024/06/05 13:50:23.4959,29.914950611461705,26.756616544802892 -245.336,2024/06/05 13:50:23.7419,29.914950611461705,26.756616544802892 -245.582,2024/06/05 13:50:23.9879,29.914950611461705,26.756616544802892 -245.792,2024/06/05 13:50:24.1979,29.914950611461705,26.756616544802892 -245.828,2024/06/05 13:50:24.2339,29.914950611461705,26.756616544802892 -246.075,2024/06/05 13:50:24.4809,29.914950611461705,26.756616544802892 -246.321,2024/06/05 13:50:24.7269,29.914950611461705,26.756616544802892 -246.567,2024/06/05 13:50:24.9729,29.914950611461705,26.756616544802892 -246.777,2024/06/05 13:50:25.1829,29.914950611461705,26.756616544802892 -246.814,2024/06/05 13:50:25.2199,29.914950611461705,26.756616544802892 -247.06,2024/06/05 13:50:25.4659,29.914950611461705,26.756616544802892 -247.269,2024/06/05 13:50:25.6749,29.914950611461705,26.756616544802892 -247.762,2024/06/05 13:50:26.1679,29.914950611461705,26.756616544802892 -247.799,2024/06/05 13:50:26.2049,29.914950611461705,26.756616544802892 -248.045,2024/06/05 13:50:26.4509,29.914950611461705,26.756616544802892 -248.291,2024/06/05 13:50:26.6969,29.914950611461705,26.756616544802892 -248.501,2024/06/05 13:50:26.9069,29.914950611461705,26.756616544802892 -248.537,2024/06/05 13:50:26.9429,29.914950611461705,26.756616544802892 -248.784,2024/06/05 13:50:27.1899,29.914950611461705,26.756616544802892 -249.03,2024/06/05 13:50:27.4359,29.914950611461705,26.756616544802892 -249.276,2024/06/05 13:50:27.6819,29.914950611461705,26.756616544802892 -249.486,2024/06/05 13:50:27.8919,29.914950611461705,26.756616544802892 -249.523,2024/06/05 13:50:27.9289,29.914950611461705,26.756616544802892 -249.732,2024/06/05 13:50:28.1379,29.914950611461705,26.756616544802892 -249.769,2024/06/05 13:50:28.1749,29.914950611461705,26.756616544802892 -250.016,2024/06/05 13:50:28.4219,29.914950611461705,26.756616544802892 -250.262,2024/06/05 13:50:28.6679,29.914950611461705,26.756616544802892 -250.471,2024/06/05 13:50:28.8769,29.914950611461705,26.756616544802892 -250.508,2024/06/05 13:50:28.9139,29.914950611461705,26.756616544802892 -250.754,2024/06/05 13:50:29.1599,29.914950611461705,26.756616544802892 -251.001,2024/06/05 13:50:29.4069,29.914950611461705,26.756616544802892 -251.209,2024/06/05 13:50:29.6149,29.914950611461705,26.756616544802892 -251.247,2024/06/05 13:50:29.6529,29.914950611461705,26.756616544802892 -251.493,2024/06/05 13:50:29.8989,29.914950611461705,26.756616544802892 -251.703,2024/06/05 13:50:30.1089,29.914950611461705,26.756616544802892 -251.739,2024/06/05 13:50:30.1449,29.914950611461705,26.756616544802892 -251.985,2024/06/05 13:50:30.3909,29.914950611461705,26.756616544802892 -252.231,2024/06/05 13:50:30.6369,29.914950611461705,26.756616544802892 -252.441,2024/06/05 13:50:30.8469,29.914950611461705,26.756616544802892 -252.478,2024/06/05 13:50:30.8839,29.914950611461705,26.756616544802892 -252.725,2024/06/05 13:50:31.1309,29.914950611461705,26.756616544802892 -252.97,2024/06/05 13:50:31.3759,29.914950611461705,26.756616544802892 -253.18,2024/06/05 13:50:31.5859,29.914950611461705,26.756616544802892 -253.217,2024/06/05 13:50:31.6229,29.914950611461705,26.756616544802892 -253.464,2024/06/05 13:50:31.8699,29.914950611461705,26.756616544802892 -253.709,2024/06/05 13:50:32.1149,29.914950611461705,26.756616544802892 -253.919,2024/06/05 13:50:32.3249,29.914950611461705,26.756616544802892 -253.956,2024/06/05 13:50:32.3619,29.914950611461705,26.756616544802892 -254.202,2024/06/05 13:50:32.6079,29.914950611461705,26.756616544802892 -254.448,2024/06/05 13:50:32.8539,29.914950611461705,26.756616544802892 -254.658,2024/06/05 13:50:33.0639,29.914950611461705,26.756616544802892 -254.695,2024/06/05 13:50:33.1009,29.914950611461705,26.756616544802892 -254.941,2024/06/05 13:50:33.3469,29.914950611461705,26.756616544802892 -255.15,2024/06/05 13:50:33.5559,29.914950611461705,26.756616544802892 -255.187,2024/06/05 13:50:33.5929,29.914950611461705,26.756616544802892 -255.434,2024/06/05 13:50:33.8399,29.914950611461705,26.756616544802892 -255.679,2024/06/05 13:50:34.0849,29.914950611461705,26.756616544802892 -255.889,2024/06/05 13:50:34.2949,29.914950611461705,26.756616544802892 -255.926,2024/06/05 13:50:34.3319,29.914950611461705,26.756616544802892 -256.172,2024/06/05 13:50:34.5779,29.914950611461705,26.756616544802892 -256.418,2024/06/05 13:50:34.8239,29.914950611461705,26.756616544802892 -256.628,2024/06/05 13:50:35.0339,29.914950611461705,26.756616544802892 -257.157,2024/06/05 13:50:35.5629,29.914950611461705,26.756616544802892 -257.366,2024/06/05 13:50:35.7719,29.914950611461705,26.756616544802892 -257.403,2024/06/05 13:50:35.8089,29.914950611461705,26.756616544802892 -257.65,2024/06/05 13:50:36.0559,29.914950611461705,26.756616544802892 -257.859,2024/06/05 13:50:36.2649,29.914950611461705,26.756616544802892 -257.896,2024/06/05 13:50:36.3019,29.914950611461705,26.756616544802892 -258.142,2024/06/05 13:50:36.5479,29.914950611461705,26.756616544802892 -258.389,2024/06/05 13:50:36.7949,29.914950611461705,26.756616544802892 -258.598,2024/06/05 13:50:37.0039,29.914950611461705,26.756616544802892 -258.635,2024/06/05 13:50:37.0409,29.914950611461705,26.756616544802892 -258.881,2024/06/05 13:50:37.2869,29.914950611461705,26.756616544802892 -259.091,2024/06/05 13:50:37.4969,29.914950611461705,26.756616544802892 -259.128,2024/06/05 13:50:37.5339,29.914950611461705,26.756616544802892 -259.374,2024/06/05 13:50:37.7799,29.914950611461705,26.756616544802892 -260.114,2024/06/05 13:50:38.5199,29.914950611461705,26.756616544802892 -260.322,2024/06/05 13:50:38.7279,29.914950611461705,26.756616544802892 -260.569,2024/06/05 13:50:38.9749,29.914950611461705,26.756616544802892 -260.851,2024/06/05 13:50:39.2569,29.914950611461705,26.756616544802892 -261.098,2024/06/05 13:50:39.5039,29.914950611461705,26.756616544802892 -261.307,2024/06/05 13:50:39.7129,29.914950611461705,26.756616544802892 -261.344,2024/06/05 13:50:39.7499,29.914950611461705,26.756616544802892 -261.59,2024/06/05 13:50:39.9959,29.914950611461705,26.756616544802892 -261.837,2024/06/05 13:50:40.2429,29.914950611461705,26.756616544802892 -262.046,2024/06/05 13:50:40.4519,29.914950611461705,26.756616544802892 -262.083,2024/06/05 13:50:40.4889,29.914950611461705,26.756616544802892 -262.785,2024/06/05 13:50:41.1909,29.914950611461705,26.756616544802892 -262.822,2024/06/05 13:50:41.2279,29.914950611461705,26.756616544802892 -263.068,2024/06/05 13:50:41.4739,29.914950611461705,26.756616544802892 -263.277,2024/06/05 13:50:41.6829,29.914950611461705,26.756616544802892 -263.314,2024/06/05 13:50:41.7199,29.914950611461705,26.756616544802892 -263.56,2024/06/05 13:50:41.9659,29.914950611461705,26.756616544802892 -263.807,2024/06/05 13:50:42.2129,29.914950611461705,26.756616544802892 -264.016,2024/06/05 13:50:42.4219,29.914950611461705,26.756616544802892 -264.053,2024/06/05 13:50:42.4589,29.914950611461705,26.756616544802892 -264.3,2024/06/05 13:50:42.7059,29.914950611461705,26.756616544802892 -264.545,2024/06/05 13:50:42.9509,29.914950611461705,26.756616544802892 -264.754,2024/06/05 13:50:43.1599,29.914950611461705,26.756616544802892 -264.791,2024/06/05 13:50:43.1969,29.914950611461705,26.756616544802892 -265.038,2024/06/05 13:50:43.4439,29.914950611461705,26.756616544802892 -265.247,2024/06/05 13:50:43.6529,29.914950611461705,26.756616544802892 -265.284,2024/06/05 13:50:43.6899,29.914950611461705,26.756616544802892 -265.987,2024/06/05 13:50:44.3929,29.914950611461705,26.756616544802892 -266.023,2024/06/05 13:50:44.4289,29.914950611461705,26.756616544802892 -266.269,2024/06/05 13:50:44.6749,29.914950611461705,26.756616544802892 -266.516,2024/06/05 13:50:44.9219,29.914950611461705,26.756616544802892 -266.724,2024/06/05 13:50:45.1299,29.914950611461705,26.756616544802892 -266.762,2024/06/05 13:50:45.1679,29.914950611461705,26.756616544802892 -267.008,2024/06/05 13:50:45.4139,29.914950611461705,26.756616544802892 -267.222,2024/06/05 13:50:45.6279,29.914950611461705,26.756616544802892 -267.255,2024/06/05 13:50:45.6609,29.914950611461705,26.756616544802892 -267.501,2024/06/05 13:50:45.9069,29.914950611461705,26.756616544802892 -267.747,2024/06/05 13:50:46.1529,29.914950611461705,26.756616544802892 -267.956,2024/06/05 13:50:46.3619,29.914950611461705,26.756616544802892 -267.993,2024/06/05 13:50:46.3989,29.914950611461705,26.756616544802892 -268.239,2024/06/05 13:50:46.6449,29.914950611461705,26.756616544802892 -268.486,2024/06/05 13:50:46.8919,29.914950611461705,26.756616544802892 -268.695,2024/06/05 13:50:47.1009,29.914950611461705,26.756616544802892 -268.732,2024/06/05 13:50:47.1379,29.914950611461705,26.756616544802892 -268.979,2024/06/05 13:50:47.3849,29.914950611461705,26.756616544802892 -269.225,2024/06/05 13:50:47.6309,29.914950611461705,26.756616544802892 -269.434,2024/06/05 13:50:47.8399,29.914950611461705,26.756616544802892 -269.47,2024/06/05 13:50:47.8759,29.914950611461705,26.756616544802892 -269.718,2024/06/05 13:50:48.1239,29.914950611461705,26.756616544802892 -269.963,2024/06/05 13:50:48.3689,29.914950611461705,26.756616544802892 -270.21,2024/06/05 13:50:48.6159,29.914950611461705,26.756616544802892 -270.456,2024/06/05 13:50:48.8619,29.914950611461705,26.756616544802892 -270.702,2024/06/05 13:50:49.1079,29.914950611461705,26.756616544802892 -270.949,2024/06/05 13:50:49.3549,29.914950611461705,26.756616544802892 -271.158,2024/06/05 13:50:49.5639,29.914950611461705,26.756616544802892 -271.195,2024/06/05 13:50:49.6009,29.914950611461705,26.756616544802892 -271.442,2024/06/05 13:50:49.8479,29.914950611461705,26.756616544802892 -271.688,2024/06/05 13:50:50.0939,29.914950611461705,26.756616544802892 -271.897,2024/06/05 13:50:50.3029,29.914950611461705,26.756616544802892 -271.934,2024/06/05 13:50:50.3399,29.914950611461705,26.756616544802892 -272.18,2024/06/05 13:50:50.5859,29.914950611461705,26.756616544802892 -272.427,2024/06/05 13:50:50.8329,29.914950611461705,26.756616544802892 -272.635,2024/06/05 13:50:51.0409,29.914950611461705,26.756616544802892 -273.128,2024/06/05 13:50:51.5339,29.914950611461705,26.756616544802892 -273.165,2024/06/05 13:50:51.5709,29.914950611461705,26.756616544802892 -273.411,2024/06/05 13:50:51.8169,29.914950611461705,26.756616544802892 -273.658,2024/06/05 13:50:52.0639,29.914950611461705,26.756616544802892 -273.867,2024/06/05 13:50:52.2729,29.914950611461705,26.756616544802892 -273.904,2024/06/05 13:50:52.3099,29.914950611461705,26.756616544802892 -274.15,2024/06/05 13:50:52.5559,29.914950611461705,26.756616544802892 -274.396,2024/06/05 13:50:52.8019,29.914950611461705,26.756616544802892 -274.605,2024/06/05 13:50:53.0109,29.914950611461705,26.756616544802892 -274.644,2024/06/05 13:50:53.0499,29.914950611461705,26.756616544802892 -274.889,2024/06/05 13:50:53.2949,29.914950611461705,26.756616544802892 -275.135,2024/06/05 13:50:53.5409,29.914950611461705,26.756616544802892 -275.344,2024/06/05 13:50:53.7499,29.914950611461705,26.756616544802892 -275.381,2024/06/05 13:50:53.7869,29.914950611461705,26.756616544802892 -275.628,2024/06/05 13:50:54.0339,29.914950611461705,26.756616544802892 -275.837,2024/06/05 13:50:54.2429,29.914950611461705,26.756616544802892 -275.874,2024/06/05 13:50:54.2799,29.914950611461705,26.756616544802892 -276.121,2024/06/05 13:50:54.5269,29.914950611461705,26.756616544802892 -276.367,2024/06/05 13:50:54.7729,29.914950611461705,26.756616544802892 -276.576,2024/06/05 13:50:54.9819,29.914950611461705,26.756616544802892 -276.613,2024/06/05 13:50:55.0189,29.914950611461705,26.756616544802892 -276.86,2024/06/05 13:50:55.2659,29.914950611461705,26.756616544802892 -277.106,2024/06/05 13:50:55.5119,29.914950611461705,26.756616544802892 -277.315,2024/06/05 13:50:55.7209,29.914950611461705,26.756616544802892 -277.352,2024/06/05 13:50:55.7579,29.914950611461705,26.756616544802892 -277.598,2024/06/05 13:50:56.0039,29.914950611461705,26.756616544802892 -277.807,2024/06/05 13:50:56.2129,29.914950611461705,26.756616544802892 -277.844,2024/06/05 13:50:56.2499,29.914950611461705,26.756616544802892 -278.091,2024/06/05 13:50:56.4969,29.914950611461705,26.756616544802892 -278.337,2024/06/05 13:50:56.7429,29.914950611461705,26.756616544802892 -278.546,2024/06/05 13:50:56.9519,29.914950611461705,26.756616544802892 -278.583,2024/06/05 13:50:56.9889,29.914950611461705,26.756616544802892 -278.83,2024/06/05 13:50:57.2359,29.914950611461705,26.756616544802892 -279.075,2024/06/05 13:50:57.4809,29.914950611461705,26.756616544802892 -279.285,2024/06/05 13:50:57.6909,29.914950611461705,26.756616544802892 -279.778,2024/06/05 13:50:58.1839,29.914950611461705,26.756616544802892 -279.815,2024/06/05 13:50:58.2209,29.914950611461705,26.756616544802892 -280.061,2024/06/05 13:50:58.4669,29.914950611461705,26.756616544802892 -280.307,2024/06/05 13:50:58.7129,29.914950611461705,26.756616544802892 -280.553,2024/06/05 13:50:58.9589,29.914950611461705,26.756616544802892 -280.8,2024/06/05 13:50:59.2059,29.914950611461705,26.756616544802892 -281.009,2024/06/05 13:50:59.4149,29.914950611461705,26.756616544802892 -281.046,2024/06/05 13:50:59.4519,29.914950611461705,26.756616544802892 -281.255,2024/06/05 13:50:59.6609,29.914950611461705,26.756616544802892 -281.292,2024/06/05 13:50:59.6979,29.914950611461705,26.756616544802892 -281.539,2024/06/05 13:50:59.9449,29.914950611461705,26.756616544802892 -281.747,2024/06/05 13:51:00.1529,29.914950611461705,26.756616544802892 -282.24,2024/06/05 13:51:00.6459,29.914950611461705,26.756616544802892 -282.277,2024/06/05 13:51:00.6829,29.914950611461705,26.756616544802892 -282.523,2024/06/05 13:51:00.9289,29.914950611461705,26.756616544802892 -282.733,2024/06/05 13:51:01.1389,29.914950611461705,26.756616544802892 -282.77,2024/06/05 13:51:01.1759,29.914950611461705,26.756616544802892 -283.016,2024/06/05 13:51:01.4219,29.914950611461705,26.756616544802892 -283.226,2024/06/05 13:51:01.6319,29.914950611461705,26.756616544802892 -283.263,2024/06/05 13:51:01.6689,29.914950611461705,26.756616544802892 -283.509,2024/06/05 13:51:01.9149,29.914950611461705,26.756616544802892 -283.755,2024/06/05 13:51:02.1609,29.914950611461705,26.756616544802892 -283.964,2024/06/05 13:51:02.3699,29.914950611461705,26.756616544802892 -284.001,2024/06/05 13:51:02.4069,29.914950611461705,26.756616544802892 -284.247,2024/06/05 13:51:02.6529,29.914950611461705,26.756616544802892 -284.457,2024/06/05 13:51:02.8629,29.914950611461705,26.756616544802892 -284.494,2024/06/05 13:51:02.8999,29.914950611461705,26.756616544802892 -284.74,2024/06/05 13:51:03.1459,29.914950611461705,26.756616544802892 -284.949,2024/06/05 13:51:03.3549,29.914950611461705,26.756616544802892 -284.986,2024/06/05 13:51:03.3919,29.914950611461705,26.756616544802892 -285.233,2024/06/05 13:51:03.6389,29.914950611461705,26.756616544802892 -285.688,2024/06/05 13:51:04.0939,29.914950611461705,26.756616544802892 -286.18,2024/06/05 13:51:04.5859,29.914950611461705,26.756616544802892 -286.218,2024/06/05 13:51:04.6239,29.914950611461705,26.756616544802892 -286.463,2024/06/05 13:51:04.8689,29.914950611461705,26.756616544802892 -286.711,2024/06/05 13:51:05.1169,29.914950611461705,26.756616544802892 -286.919,2024/06/05 13:51:05.3249,29.914950611461705,26.756616544802892 -286.956,2024/06/05 13:51:05.3619,29.914950611461705,26.756616544802892 -287.203,2024/06/05 13:51:05.6089,29.914950611461705,26.756616544802892 -287.411,2024/06/05 13:51:05.8169,29.914950611461705,26.756616544802892 -287.449,2024/06/05 13:51:05.8549,29.914950611461705,26.756616544802892 -287.696,2024/06/05 13:51:06.1019,29.914950611461705,26.756616544802892 -287.942,2024/06/05 13:51:06.3479,29.914950611461705,26.756616544802892 -288.151,2024/06/05 13:51:06.5569,29.914950611461705,26.756616544802892 -288.187,2024/06/05 13:51:06.5929,29.914950611461705,26.756616544802892 -288.434,2024/06/05 13:51:06.8399,29.914950611461705,26.756616544802892 -288.643,2024/06/05 13:51:07.0489,29.914950611461705,26.756616544802892 -288.68,2024/06/05 13:51:07.0859,29.914950611461705,26.756616544802892 -288.927,2024/06/05 13:51:07.3329,29.914950611461705,26.756616544802892 -289.173,2024/06/05 13:51:07.5789,29.914950611461705,26.756616544802892 +0.001,2024/06/05 13:46:18.4069,, +0.001,2024/06/05 13:46:18.4069,, +0.046,2024/06/05 13:46:18.4519,, +0.505,2024/06/05 13:46:18.9109,, +0.784,2024/06/05 13:46:19.1899,, +0.998,2024/06/05 13:46:19.4039,, +1.031,2024/06/05 13:46:19.4369,, +1.277,2024/06/05 13:46:19.6829,, +1.737,2024/06/05 13:46:20.1429,, +2.475,2024/06/05 13:46:20.8809,14.306564149989974, +2.508,2024/06/05 13:46:20.9139,13.82356354529864,16.546903033498445 +2.755,2024/06/05 13:46:21.1609,13.376539843390688,15.776853010315172 +3.001,2024/06/05 13:46:21.4069,12.963953971073137,15.10518674716293 +3.214,2024/06/05 13:46:21.6199,17.186117576772176,20.265544840746514 +3.707,2024/06/05 13:46:22.1129,17.787903862162167,19.991069434696513 +4.692,2024/06/05 13:46:23.0979,17.196414354936515,20.44667862188543 +5.185,2024/06/05 13:46:23.5909,16.660317418062245,19.79741144695437 +5.677,2024/06/05 13:46:24.0829,17.03024990317833,20.140681687160676 +5.711,2024/06/05 13:46:24.1169,16.582594976069053,20.51016008388688 +5.956,2024/06/05 13:46:24.3619,16.168439041930775,19.963123898565417 +6.203,2024/06/05 13:46:24.6089,15.783807253909664,19.45764631192581 +6.416,2024/06/05 13:46:24.8219,17.223323057495513,20.898849364544088 +6.908,2024/06/05 13:46:25.3139,19.420864050662303,20.57801121232432 +7.4,2024/06/05 13:46:25.8059,21.80641941117869,20.19470442855061 +7.893,2024/06/05 13:46:26.2989,23.950156575688577,19.78635893740938 +8.386,2024/06/05 13:46:26.7919,27.2984643129637,19.755505561741515 +8.912,2024/06/05 13:46:27.3179,26.91571734982814,25.30278184766982 +9.125,2024/06/05 13:46:27.5309,30.426509605481954,30.720966419983892 +9.158,2024/06/05 13:46:27.5639,30.04315451155096,35.009182468930305 +9.405,2024/06/05 13:46:27.8109,29.671070317619183,34.400280672471666 +9.617,2024/06/05 13:46:28.0229,33.299839494280256,38.69840651327476 +10.11,2024/06/05 13:46:28.5159,36.706102095353074,38.69840651327476 +11.095,2024/06/05 13:46:29.5009,38.58635635236536,38.73972982180783 +11.587,2024/06/05 13:46:29.9929,39.33734150627889,38.84584919911006 +12.08,2024/06/05 13:46:30.4859,39.16233529486119,38.9657969677682 +12.113,2024/06/05 13:46:30.5189,38.9857622109972,40.30508652763321 +12.36,2024/06/05 13:46:30.7659,38.54612105356213,40.27861301815973 +12.606,2024/06/05 13:46:31.0119,38.131427289395305,40.27819923151149 +12.819,2024/06/05 13:46:31.2249,38.13038731486495,40.52694576862823 +13.312,2024/06/05 13:46:31.7179,38.13257273576332,40.5121380987641 +15.281,2024/06/05 13:46:33.6869,37.363529454982405,39.8990392532619 +15.315,2024/06/05 13:46:33.7209,36.4701893694519,40.06577924696669 +15.562,2024/06/05 13:46:33.9679,35.512487685449464,40.06577924696669 +15.807,2024/06/05 13:46:34.2129,35.505366277265225,39.04100408544842 +16.021,2024/06/05 13:46:34.4269,35.71800473247309,39.13821661752104 +16.513,2024/06/05 13:46:34.9189,35.45988505728504,38.89215859270349 +17.006,2024/06/05 13:46:35.4119,35.183002688243164,38.90287050248777 +17.498,2024/06/05 13:46:35.9039,35.79706531347895,38.66178130057296 +17.991,2024/06/05 13:46:36.3969,35.42498955620847,38.36969290121219 +18.517,2024/06/05 13:46:36.9229,34.388935002042764,38.467302132243866 +18.729,2024/06/05 13:46:37.1349,33.56429753421823,38.57805939477343 +18.763,2024/06/05 13:46:37.1689,33.58949274681766,37.99298180804801 +19.714,2024/06/05 13:46:38.1199,33.94457957846336,37.98289088523937 +20.207,2024/06/05 13:46:38.6129,34.069587341340174,37.99868418774524 +20.7,2024/06/05 13:46:39.1059,34.09452715039771,38.28707353663897 +21.192,2024/06/05 13:46:39.5979,34.42708436581647,38.49545427709615 +21.718,2024/06/05 13:46:40.1239,32.899166743457265,36.45636661361999 +21.93,2024/06/05 13:46:40.3359,32.972227951595315,33.48482243245936 +21.964,2024/06/05 13:46:40.3699,31.40495604785696,30.222508168581903 +22.211,2024/06/05 13:46:40.6169,29.58649894023021,30.222508168581903 +22.423,2024/06/05 13:46:40.8289,29.528108564591616,25.631360999109404 +24.398,2024/06/05 13:46:42.8039,28.97767670339433,25.62095496528834 +25.132,2024/06/05 13:46:43.5379,27.791588903715223,26.122786987609114 +25.166,2024/06/05 13:46:43.5719,27.34977778387951,26.422843652163305 +25.413,2024/06/05 13:46:43.8189,27.388247332642994,26.239918699061043 +25.625,2024/06/05 13:46:44.0309,26.213293986242928,24.451312166562076 +26.61,2024/06/05 13:46:45.0159,24.91142931155965,24.451993783738782 +27.102,2024/06/05 13:46:45.5079,23.40340873099242,24.507141816213494 +27.136,2024/06/05 13:46:45.5419,23.447201631918126,23.624140195994435 +27.349,2024/06/05 13:46:45.7549,23.21553185994752,23.649524308112415 +27.383,2024/06/05 13:46:45.7889,23.259159609649174,23.634720222587784 +27.629,2024/06/05 13:46:46.0349,22.729190305728732,23.350945733881243 +27.875,2024/06/05 13:46:46.2809,22.06961295745725,23.368782595591068 +28.088,2024/06/05 13:46:46.4939,21.8353293814271,23.24865587512534 +28.121,2024/06/05 13:46:46.5269,21.824693385688644,22.89978165834775 +28.367,2024/06/05 13:46:46.7729,21.661024906499946,22.826884734160874 +28.614,2024/06/05 13:46:47.0199,21.345246314575427,22.808624099961254 +28.827,2024/06/05 13:46:47.2329,20.69763160419565,22.850237052016187 +28.86,2024/06/05 13:46:47.2659,19.902665448477812,22.937596502975925 +29.106,2024/06/05 13:46:47.5119,19.68966121142512,22.77352263777682 +29.319,2024/06/05 13:46:47.7249,18.74768951281661,22.7508241608958 +29.352,2024/06/05 13:46:47.7579,18.485191339301384,22.728103015136718 +29.599,2024/06/05 13:46:48.0049,17.691123821537545,22.639199043546867 +29.845,2024/06/05 13:46:48.2509,17.348655915343215,22.565460332109335 +30.058,2024/06/05 13:46:48.4639,17.611418709619183,22.565460332109335 +30.092,2024/06/05 13:46:48.4979,16.47010527641217,22.44326179502436 +30.338,2024/06/05 13:46:48.7439,16.362453515823333,20.661558508495915 +30.55,2024/06/05 13:46:48.9559,14.711790564346817,18.553526169796765 +30.584,2024/06/05 13:46:48.9899,14.602983477248413,16.1730228054828 +30.831,2024/06/05 13:46:49.2369,14.432721443853561,16.210079169043766 +31.076,2024/06/05 13:46:49.4819,12.08214223221815,12.867271142968375 +31.289,2024/06/05 13:46:49.6949,8.379572863775369,12.860793132618221 +31.323,2024/06/05 13:46:49.7289,7.695423330129129,11.641878428043016 +31.782,2024/06/05 13:46:50.1879,7.534213151756613,10.548301601047756 +32.062,2024/06/05 13:46:50.4679,7.495669247723937,10.605030252982152 +32.274,2024/06/05 13:46:50.6799,7.073424441763943,9.821744583660617 +33.013,2024/06/05 13:46:51.4189,6.669539610850216,9.82004752194883 +33.293,2024/06/05 13:46:51.6989,6.833403419882431,9.765585833254791 +33.539,2024/06/05 13:46:51.9449,6.790883002528688,9.472767986883946 +33.752,2024/06/05 13:46:52.1579,6.816477669302673,9.33987865731313 +33.786,2024/06/05 13:46:52.1919,7.576506337083852,9.731392500562292 +34.491,2024/06/05 13:46:52.8969,7.291626436671285,10.393908472433905 +36.461,2024/06/05 13:46:54.8669,7.801340880915223,10.808946911393974 +36.494,2024/06/05 13:46:54.8999,9.037660667719079,10.96053526673462 +36.707,2024/06/05 13:46:55.1129,9.156431067018755,11.213087591441232 +37.2,2024/06/05 13:46:55.6059,9.007085333608494,11.360751148875089 +38.185,2024/06/05 13:46:56.5909,9.224903824686807,11.68617416722285 +38.677,2024/06/05 13:46:57.0829,10.273780935597784,11.68617416722285 +39.17,2024/06/05 13:46:57.5759,11.016393218301477,11.513759884011247 +39.663,2024/06/05 13:46:58.0689,11.396914282928634,11.549891774384728 +39.697,2024/06/05 13:46:58.1029,11.550439111919935,12.485992151206888 +39.942,2024/06/05 13:46:58.3479,11.686961002385225,12.181953866272849 +40.189,2024/06/05 13:46:58.5949,11.782950862771658,12.181953866272849 +40.401,2024/06/05 13:46:58.8069,11.839394594649875,12.827054741184094 +40.894,2024/06/05 13:46:59.2999,11.389448635903921,11.984712484383316 +41.879,2024/06/05 13:47:00.2849,11.311676400450745,11.078507721409654 +42.372,2024/06/05 13:47:00.7779,11.368235641875302,11.369549976435597 +42.863,2024/06/05 13:47:01.2689,11.734074558614966,11.244257793795612 +42.898,2024/06/05 13:47:01.3039,11.852978674083763,12.187425213445756 +43.144,2024/06/05 13:47:01.5499,12.033525964007614,12.138094304022083 +43.357,2024/06/05 13:47:01.7629,12.184642680086599,12.785408349625234 +43.391,2024/06/05 13:47:01.7969,12.36332172751076,13.396516960264957 +44.095,2024/06/05 13:47:02.5009,12.3848721217166,13.706446172026748 +44.588,2024/06/05 13:47:02.9939,12.385985777408656,13.764689123502452 +45.08,2024/06/05 13:47:03.4859,12.385985777408656,13.725887949418793 +46.066,2024/06/05 13:47:04.4719,12.373312029312169,13.685759021698432 +46.311,2024/06/05 13:47:04.7169,12.428924366957459,13.745302227791623 +46.345,2024/06/05 13:47:04.7509,12.428924366957459,13.832329280830953 +46.592,2024/06/05 13:47:04.9979,12.428924366957459,13.832329280830953 +47.296,2024/06/05 13:47:05.7019,12.535008447608558,14.004761095189497 +47.789,2024/06/05 13:47:06.1949,12.369595650292416,13.65772064926404 +48.282,2024/06/05 13:47:06.6879,13.49925498157141,13.48085061608997 +48.774,2024/06/05 13:47:07.1799,14.389851149055156,13.139000469340631 +49.3,2024/06/05 13:47:07.7059,13.484303348027272,14.832396974191326 +49.513,2024/06/05 13:47:07.9189,13.801382572755202,15.763882770434446 +49.548,2024/06/05 13:47:07.9539,13.864077454997561,16.71227094083865 +49.793,2024/06/05 13:47:08.1989,13.887934066796568,16.486357996840905 +50.006,2024/06/05 13:47:08.4119,13.445676141293976,16.622274212634082 +50.498,2024/06/05 13:47:08.9039,13.054483529802894,16.90857770482189 +51.484,2024/06/05 13:47:09.8899,12.874683346178946,16.88786546606764 +51.976,2024/06/05 13:47:10.3819,12.808222933438259,16.517667309076465 +52.469,2024/06/05 13:47:10.8749,12.778574021501736,16.526745999540662 +52.503,2024/06/05 13:47:10.9089,12.540554901653673,17.051881616603684 +52.749,2024/06/05 13:47:11.1549,12.59611324836069,16.572064848211685 +52.961,2024/06/05 13:47:11.3669,12.989120115670692,17.191082959875835 +52.995,2024/06/05 13:47:11.4009,13.012151703466788,17.788573111223208 +53.7,2024/06/05 13:47:12.1059,13.150280797666717,18.016658957753517 +54.192,2024/06/05 13:47:12.5979,13.028880386968854,18.00648031496809 +54.685,2024/06/05 13:47:13.0909,12.893195211375328,17.312808360671394 +55.178,2024/06/05 13:47:13.5839,13.36318497378861,17.500476183997584 +55.704,2024/06/05 13:47:14.1099,13.350965353190025,17.587874611030557 +55.916,2024/06/05 13:47:14.3219,14.051465338566336,17.977764043395386 +55.95,2024/06/05 13:47:14.3559,14.028542333400562,18.565200420859092 +56.409,2024/06/05 13:47:14.8149,14.72541785602346,19.21371038260613 +57.394,2024/06/05 13:47:15.7999,14.998697261437135,19.224116798091575 +57.64,2024/06/05 13:47:16.0459,15.101343473766024,19.23191791441162 +57.921,2024/06/05 13:47:16.3269,15.078949321610247,19.500427345744672 +58.132,2024/06/05 13:47:16.5379,15.20299426043338,19.926531726988184 +58.167,2024/06/05 13:47:16.5729,14.847461952697273,20.442602574036407 +58.413,2024/06/05 13:47:16.8189,14.847461952697273,20.304350929460085 +58.659,2024/06/05 13:47:17.0649,14.882721602545088,20.27477907812232 +58.871,2024/06/05 13:47:17.2769,15.053200675428604,20.617144968852177 +58.905,2024/06/05 13:47:17.3109,14.577143185421756,21.143951065651535 +59.152,2024/06/05 13:47:17.5579,14.221725326569194,19.908959457155632 +59.364,2024/06/05 13:47:17.7699,14.189238272671036,19.314070863837415 +59.399,2024/06/05 13:47:17.8049,13.810873610495065,18.700267377767624 +59.645,2024/06/05 13:47:18.0509,13.407366306041576,18.700267377767624 +59.891,2024/06/05 13:47:18.2969,13.39707465066211,18.49324200890693 +60.103,2024/06/05 13:47:18.5089,12.894086678178429,18.245547402037573 +60.137,2024/06/05 13:47:18.5429,12.178792571751814,18.256505689753446 +60.383,2024/06/05 13:47:18.7889,12.185585982920005,17.76701062831524 +60.596,2024/06/05 13:47:19.0019,13.588746188979945,18.63866948041088 +61.334,2024/06/05 13:47:19.7399,14.11121670096596,18.17415747703315 +61.369,2024/06/05 13:47:19.7749,13.665797561376237,18.83082579177026 +61.614,2024/06/05 13:47:20.0199,13.607807089796454,18.222696470793412 +61.827,2024/06/05 13:47:20.2329,13.200313475901993,17.6276298274423 +61.861,2024/06/05 13:47:20.2669,13.199137902882946,17.240456297132432 +62.107,2024/06/05 13:47:20.5129,13.186940596622911,17.216271373325874 +62.353,2024/06/05 13:47:20.7589,13.171023577117177,17.168770097670556 +62.565,2024/06/05 13:47:20.9709,12.830862577503138,17.04014866914801 +62.599,2024/06/05 13:47:21.0049,12.792059318546297,16.531787562148264 +62.846,2024/06/05 13:47:21.2519,11.923559215596182,15.59807680452946 +63.059,2024/06/05 13:47:21.4649,12.053568174907344,14.742229591663987 +63.093,2024/06/05 13:47:21.4989,11.204473654976871,13.972592219532256 +63.339,2024/06/05 13:47:21.7449,10.532325719302692,13.9534941860453 +64.044,2024/06/05 13:47:22.4499,10.479810913447993,14.30617582258329 +64.077,2024/06/05 13:47:22.4829,10.60036867717195,14.554495296413865 +64.289,2024/06/05 13:47:22.6949,9.964534812172797,14.392127477664076 +65.275,2024/06/05 13:47:23.6809,9.970127796366361,13.77074193111371 +65.768,2024/06/05 13:47:24.1739,10.200518355096394,14.005951116102992 +66.26,2024/06/05 13:47:24.6659,11.128094300401793,14.205632685663812 +66.752,2024/06/05 13:47:25.1579,10.920243776488933,13.400248753910006 +67.491,2024/06/05 13:47:25.8969,10.931605554538368,12.909944487358056 +67.772,2024/06/05 13:47:26.1779,10.930291138292251,12.911235417263523 +68.476,2024/06/05 13:47:26.8819,10.896007916010417,12.911235417263523 +68.968,2024/06/05 13:47:27.3739,13.39308450819651,13.491972922198345 +69.461,2024/06/05 13:47:27.8669,16.66036662537682,13.69914839202301 +70.446,2024/06/05 13:47:28.8519,23.270424226433388,15.246857599737288 +70.48,2024/06/05 13:47:28.8859,23.262643330298058,22.538115863280733 +70.693,2024/06/05 13:47:29.0989,29.38988801001797,29.461274016353514 +70.726,2024/06/05 13:47:29.1319,29.32538424163542,35.04996433664377 +71.677,2024/06/05 13:47:30.0829,33.456593941418184,38.94354888810212 +73.648,2024/06/05 13:47:32.0539,34.047026301866964,40.03456839615817 +73.895,2024/06/05 13:47:32.3009,34.2200620057618,39.7638864633057 +74.175,2024/06/05 13:47:32.5809,34.07658716924965,40.19079496601181 +74.879,2024/06/05 13:47:33.2849,34.02448408486749,40.281923158326656 +75.372,2024/06/05 13:47:33.7779,33.832990768890625,40.30839449378586 +75.864,2024/06/05 13:47:34.2699,33.7766327442546,40.389355033226266 +76.357,2024/06/05 13:47:34.7629,33.819347655773775,40.39966996564865 +77.13,2024/06/05 13:47:35.5359,33.86015866512749,40.393481322279385 +77.376,2024/06/05 13:47:35.7819,33.7715278297273,40.367065783878814 +77.588,2024/06/05 13:47:35.9939,33.61665227747775,40.3773864103824 +78.081,2024/06/05 13:47:36.4869,33.940854573734946,40.919840338561116 +78.574,2024/06/05 13:47:36.9799,35.360881691821696,41.31222579334113 +79.065,2024/06/05 13:47:37.4709,36.78581998167447,41.32231035812656 +80.051,2024/06/05 13:47:38.4569,37.195414375628836,41.48533877568476 +80.297,2024/06/05 13:47:38.7029,36.91252474105022,41.25974632334361 +81.036,2024/06/05 13:47:39.4419,36.86553697007515,41.55799161011834 +81.775,2024/06/05 13:47:40.1809,37.20556440895003,41.78835563487353 +82.268,2024/06/05 13:47:40.6739,37.602595288275204,41.76761105609624 +82.76,2024/06/05 13:47:41.1659,37.746340311301374,41.714505870260524 +83.252,2024/06/05 13:47:41.6579,37.57836256854942,41.7508482947752 +83.287,2024/06/05 13:47:41.6929,37.13758204299283,42.239791666152904 +83.533,2024/06/05 13:47:41.9389,36.70054338913111,42.23939709165682 +83.779,2024/06/05 13:47:42.1849,36.6259282570378,42.17819341792628 +83.991,2024/06/05 13:47:42.3969,36.71331932816724,42.135495725100945 +84.977,2024/06/05 13:47:43.3829,36.68762201608911,42.898717929560554 +85.469,2024/06/05 13:47:43.8749,36.68762201608911,42.927846440276966 +86.454,2024/06/05 13:47:44.8599,37.393972714895156,39.69004913073301 +86.489,2024/06/05 13:47:44.8949,34.67260669710943,35.43444651747787 +86.735,2024/06/05 13:47:45.1409,34.3863278096093,29.917664793005933 +86.981,2024/06/05 13:47:45.3869,31.841579842975378,23.977767480174908 +87.193,2024/06/05 13:47:45.5989,32.977892281199075,23.105554887659952 +87.44,2024/06/05 13:47:45.8459,34.544008246686595,23.082460874005612 +88.178,2024/06/05 13:47:46.5839,35.203186898576625,22.420972325035326 +88.67,2024/06/05 13:47:47.0759,36.03216953472737,22.230609528305784 +89.197,2024/06/05 13:47:47.6029,35.82558323032758,23.38589318371227 +89.41,2024/06/05 13:47:47.8159,35.33849452654037,23.47693903954829 +89.444,2024/06/05 13:47:47.8499,34.447761550819145,23.68825306630553 +90.183,2024/06/05 13:47:48.5889,33.77220852958157,23.65375234502974 +90.394,2024/06/05 13:47:48.7999,33.03575214128255,23.656570616497508 +90.429,2024/06/05 13:47:48.8349,32.44794239265821,23.641770943254933 +90.64,2024/06/05 13:47:49.0459,32.46800370161123,22.60162236064777 +90.675,2024/06/05 13:47:49.0809,31.72032960649766,21.784551100875746 +90.922,2024/06/05 13:47:49.3279,30.64817033409352,21.76541599265526 +91.168,2024/06/05 13:47:49.5739,30.462130249054624,21.199842766712525 +91.379,2024/06/05 13:47:49.7849,30.368692287689825,21.21556032726923 +91.414,2024/06/05 13:47:49.8199,30.14646240278157,20.25997696609418 +91.661,2024/06/05 13:47:50.0669,28.86602027361593,19.73744326569849 +91.872,2024/06/05 13:47:50.2779,26.650677677869286,19.75854245636555 +91.906,2024/06/05 13:47:50.3119,23.404096311072497,19.870413516918397 +92.152,2024/06/05 13:47:50.5579,20.505143733713673,19.78635893740938 +92.399,2024/06/05 13:47:50.8049,20.0597097193109,18.46076921474292 +92.611,2024/06/05 13:47:51.0169,19.846798288360727,18.636880997992485 +93.103,2024/06/05 13:47:51.5089,20.22528291435116,18.517559234413156 +93.138,2024/06/05 13:47:51.5439,19.051925416319303,18.26745740380965 +93.384,2024/06/05 13:47:51.7899,18.994978162723076,16.222412479858434 +93.63,2024/06/05 13:47:52.0359,16.78481114154993,14.664014911794563 +93.842,2024/06/05 13:47:52.2479,15.941019162966038,14.701473849017088 +93.877,2024/06/05 13:47:52.2829,15.973001646817131,13.890044396377332 +94.581,2024/06/05 13:47:52.9869,16.22627357168047,14.40948761522537 +94.615,2024/06/05 13:47:53.0209,16.261512279281497,14.910846164230028 +94.862,2024/06/05 13:47:53.2679,14.96359567090499,13.372858083945008 +95.073,2024/06/05 13:47:53.4789,12.409905202154643,13.490737563232042 +95.812,2024/06/05 13:47:54.2179,11.081516141757326,13.583077707206124 +96.093,2024/06/05 13:47:54.4989,9.787688724859455,13.612494260788505 +96.34,2024/06/05 13:47:54.7459,10.671748071266473,11.369549976435597 +96.551,2024/06/05 13:47:54.9569,11.096701384160218,10.890362712049585 +96.585,2024/06/05 13:47:54.9909,11.785876995444669,10.389096848780135 +96.832,2024/06/05 13:47:55.2379,12.364251398435153,10.389096848780135 +97.043,2024/06/05 13:47:55.4489,12.325144843056664,11.00605893739141 +97.078,2024/06/05 13:47:55.4839,12.794080887158477,11.590225767142474 +97.325,2024/06/05 13:47:55.7309,13.152509484777184,11.588787684654509 +97.571,2024/06/05 13:47:55.9769,13.457297298296561,11.587349423689037 +97.783,2024/06/05 13:47:56.1889,13.317346737918868,12.044362443345296 +97.817,2024/06/05 13:47:56.2229,13.528344021130238,12.484657250668384 +98.063,2024/06/05 13:47:56.4689,13.432675891616787,12.436505404118419 +98.276,2024/06/05 13:47:56.6819,13.432675891616787,13.401492454200763 +98.802,2024/06/05 13:47:57.2079,13.672230434625462,14.286357128393508 +99.014,2024/06/05 13:47:57.4199,13.255274378548418,14.649232061783989 +99.049,2024/06/05 13:47:57.4549,13.438835472264781,15.003332963045244 +99.295,2024/06/05 13:47:57.7009,13.582654591321749,15.003332963045244 +99.507,2024/06/05 13:47:57.9129,13.865694041929356,15.971850237214221 +99.541,2024/06/05 13:47:57.9469,13.427925953114501,16.690316553818466 +99.788,2024/06/05 13:47:58.1939,12.419672937001835,16.654328766620008 +100.033,2024/06/05 13:47:58.4389,12.405087943927624,16.249102539319928 +100.246,2024/06/05 13:47:58.6519,13.752324777347136,18.126407991289025 +100.28,2024/06/05 13:47:58.6859,13.742667846537534,19.826749607537792 +100.526,2024/06/05 13:47:58.9319,12.787790513099711,19.582304937536506 +100.737,2024/06/05 13:47:59.1429,14.725261740741995,21.115555087817764 +100.772,2024/06/05 13:47:59.1779,13.966668038296765,22.609732417700126 +101.019,2024/06/05 13:47:59.4249,13.999343170142968,22.282279955157193 +101.265,2024/06/05 13:47:59.6709,14.077004971425685,22.234357797486904 +101.477,2024/06/05 13:47:59.8829,16.796311855703596,24.60894146443524 +101.512,2024/06/05 13:47:59.9179,16.864435816306603,26.741353742845558 +101.758,2024/06/05 13:48:00.1639,16.864435816306603,26.7257678405442 +102.004,2024/06/05 13:48:00.4099,16.864435816306603,26.7257678405442 +102.215,2024/06/05 13:48:00.6209,18.849189744469516,28.61235164516658 +102.25,2024/06/05 13:48:00.6559,18.830184865502297,30.321059787986744 +102.496,2024/06/05 13:48:00.9019,18.830184865502297,30.32160945596391 +102.708,2024/06/05 13:48:01.1139,20.084905981255876,31.45472937413387 +102.742,2024/06/05 13:48:01.1479,19.964796604230703,31.888869531546582 +102.989,2024/06/05 13:48:01.3949,19.830923257413033,31.888869531546582 +103.2,2024/06/05 13:48:01.6059,20.970148460056432,32.634848449676205 +103.235,2024/06/05 13:48:01.6409,20.960855690176235,33.2019075757202 +103.481,2024/06/05 13:48:01.8869,20.77952130697798,33.03886600152412 +103.728,2024/06/05 13:48:02.1339,20.58403018970289,33.03886600152412 +103.939,2024/06/05 13:48:02.3449,21.528623021350604,33.332666659999866 +103.974,2024/06/05 13:48:02.3799,21.30846251404987,33.62390022984643 +104.22,2024/06/05 13:48:02.6259,21.28862952673238,33.383129471835524 +104.432,2024/06/05 13:48:02.8379,23.390144304273473,34.791282433008035 +104.467,2024/06/05 13:48:02.8729,23.127358531481757,36.36710968260561 +104.712,2024/06/05 13:48:03.1179,23.056053634467162,35.95228319128935 +104.924,2024/06/05 13:48:03.3299,24.622226198874245,36.97431540948392 +104.959,2024/06/05 13:48:03.3649,24.322450723465874,38.36187343357117 +105.206,2024/06/05 13:48:03.6119,24.008164320143504,38.36187343357117 +105.663,2024/06/05 13:48:04.0689,25.06460617601329,38.694099464044044 +106.156,2024/06/05 13:48:04.5619,26.312883082094526,37.872593432894625 +106.191,2024/06/05 13:48:04.5969,25.94833505167615,39.37469576602042 +106.436,2024/06/05 13:48:04.8419,25.65753681479033,38.344925783385385 +106.683,2024/06/05 13:48:05.0889,25.29649469152165,37.28672686090856 +106.894,2024/06/05 13:48:05.2999,26.6239240784178,39.074714756903 +106.929,2024/06/05 13:48:05.3349,26.214412110495104,40.78439243959222 +107.175,2024/06/05 13:48:05.5809,25.68429011323287,39.3361580906592 +107.387,2024/06/05 13:48:05.7929,27.29270880698745,39.99166579843022 +107.422,2024/06/05 13:48:05.8279,26.85681488462748,42.040060260026586 +107.668,2024/06/05 13:48:06.0739,26.300561595333026,42.05432993957538 +107.914,2024/06/05 13:48:06.3199,25.93938557749494,40.79256468197769 +108.126,2024/06/05 13:48:06.5319,26.699455416548314,40.8378909021185 +108.161,2024/06/05 13:48:06.5669,26.08253918955618,42.09790176877386 +108.407,2024/06/05 13:48:06.8129,25.98073999282418,41.09622853742178 +108.654,2024/06/05 13:48:07.0599,25.865278728020353,40.596387359796765 +108.865,2024/06/05 13:48:07.2709,25.742335094003717,40.83217685437144 +108.9,2024/06/05 13:48:07.3059,25.495007399466896,40.35798144935728 +109.146,2024/06/05 13:48:07.5519,25.292882102629044,39.75717964510729 +109.392,2024/06/05 13:48:07.7979,25.08138477175826,39.75717964510729 +109.604,2024/06/05 13:48:08.0099,25.74811677077376,40.15802119958934 +109.638,2024/06/05 13:48:08.0439,25.509159950483117,39.98833163144803 +109.884,2024/06/05 13:48:08.2899,25.304672232250525,39.434333602416395 +110.097,2024/06/05 13:48:08.5029,26.417710012392675,40.35715549936591 +110.149,2024/06/05 13:48:08.5549,25.26842107153309,39.877311845208425 +110.377,2024/06/05 13:48:08.7829,25.103212232059818,38.4456326084858 +110.624,2024/06/05 13:48:09.0299,24.918464741181243,38.4456326084858 +110.835,2024/06/05 13:48:09.2409,24.4998006090882,37.63951823992084 +110.87,2024/06/05 13:48:09.2759,24.359590619968046,36.815757495941874 +111.116,2024/06/05 13:48:09.5219,24.19957727378531,36.815757495941874 +111.327,2024/06/05 13:48:09.7329,23.473168835341234,35.839456841122285 +111.362,2024/06/05 13:48:09.7679,21.92998262496018,36.08369899737738 +111.608,2024/06/05 13:48:10.0139,21.831223026907946,34.438350715445125 +111.855,2024/06/05 13:48:10.2609,21.960282853108406,34.520042487420746 +112.066,2024/06/05 13:48:10.4719,22.22600734047552,35.361466787073944 +112.101,2024/06/05 13:48:10.5069,20.48663708007235,34.24470762030244 +112.348,2024/06/05 13:48:10.7539,20.636982760841892,32.18954281543412 +112.593,2024/06/05 13:48:10.9989,20.725934666888087,32.18954281543412 +112.806,2024/06/05 13:48:11.2119,18.38089963153023,30.492075473254797 +112.84,2024/06/05 13:48:11.2459,18.578970932739008,28.694366462193702 +113.086,2024/06/05 13:48:11.4919,18.83857622069698,28.67344881012165 +113.297,2024/06/05 13:48:11.7029,19.71159877931779,30.14741558851549 +113.332,2024/06/05 13:48:11.7379,17.90103702126785,29.850181462318336 +113.579,2024/06/05 13:48:11.9849,18.214683984184273,28.044607324760317 +113.825,2024/06/05 13:48:12.2309,18.477728128252956,28.044607324760317 +114.037,2024/06/05 13:48:12.4429,18.557428725972827,28.610021554226996 +114.072,2024/06/05 13:48:12.4779,18.65093754384452,28.83342967228607 +114.317,2024/06/05 13:48:12.7229,18.94201678808309,28.665891462386675 +114.775,2024/06/05 13:48:13.1809,18.999818510930503,29.056267252809103 +115.056,2024/06/05 13:48:13.4619,19.268937542662027,29.441467354736243 +115.268,2024/06/05 13:48:13.6739,18.191225622678488,29.122156513555105 +115.303,2024/06/05 13:48:13.7089,18.408549987538404,28.799305547182904 +115.549,2024/06/05 13:48:13.9549,18.61960405520042,28.770934407256686 +115.795,2024/06/05 13:48:14.2009,16.747619491160894,27.461488184971575 +116.007,2024/06/05 13:48:14.4129,16.756573594285683,26.249444438565426 +116.042,2024/06/05 13:48:14.4479,16.926480647980533,26.411487399740793 +116.288,2024/06/05 13:48:14.6939,17.083331931595783,26.411487399740793 +116.535,2024/06/05 13:48:14.9409,15.736187155944709,25.58059160118598 +116.745,2024/06/05 13:48:15.1509,16.168082649211897,25.361387974635775 +116.78,2024/06/05 13:48:15.1859,16.29191323269406,25.985252227625832 +117.027,2024/06/05 13:48:15.4329,15.624325272788827,25.61314766547316 +117.238,2024/06/05 13:48:15.6439,16.908679672756374,26.539279065817393 +117.273,2024/06/05 13:48:15.6789,17.011321449884104,27.781888584711684 +117.52,2024/06/05 13:48:15.9259,17.011321449884104,27.680317917249432 +117.765,2024/06/05 13:48:16.1709,15.92958643963972,26.702684009914307 +117.977,2024/06/05 13:48:16.3829,17.55258110501981,26.502201166444017 +118.505,2024/06/05 13:48:16.9109,17.4342772430786,27.39525506360545 +118.715,2024/06/05 13:48:17.1209,18.462170082034067,28.089737153154946 +118.75,2024/06/05 13:48:17.1559,17.78120536881116,27.216416614487173 +118.996,2024/06/05 13:48:17.4019,17.816949182195653,26.05954719483821 +119.208,2024/06/05 13:48:17.6139,20.32271250788595,27.16431482662502 +119.243,2024/06/05 13:48:17.6489,19.327813322156103,26.645825188948457 +119.489,2024/06/05 13:48:17.8949,19.2449426107738,24.965976848503242 +119.735,2024/06/05 13:48:18.1409,19.261688494993997,24.9899979991996 +119.947,2024/06/05 13:48:18.3529,20.674961257243726,25.544732007467474 +119.982,2024/06/05 13:48:18.3879,20.718723832355185,25.466317624135087 +120.228,2024/06/05 13:48:18.6339,20.55606295324945,24.829418035870273 +120.439,2024/06/05 13:48:18.8449,20.424264361603516,24.840155662421548 +120.474,2024/06/05 13:48:18.8799,20.520357147751795,24.39330509244972 +120.721,2024/06/05 13:48:19.1269,20.212122230421407,23.926972228010797 +121.179,2024/06/05 13:48:19.5849,20.206406176624697,23.717082451262844 +121.459,2024/06/05 13:48:19.8649,19.824546493632205,23.50531854708632 +121.706,2024/06/05 13:48:20.1119,19.540820815946898,23.550654626428823 +121.917,2024/06/05 13:48:20.3229,19.179251240883822,24.221202832779934 +122.409,2024/06/05 13:48:20.8149,19.179251240883822,24.069344264714264 +122.444,2024/06/05 13:48:20.8499,18.758139995532016,24.323514000516727 +122.691,2024/06/05 13:48:21.0969,18.22162413746152,24.323514000516727 +122.938,2024/06/05 13:48:21.3439,17.559128352676584,24.323514000516727 +123.148,2024/06/05 13:48:21.5539,17.563055529726412,23.793556550741492 +123.184,2024/06/05 13:48:21.5899,16.77107526419415,23.251523247592477 +123.429,2024/06/05 13:48:21.8349,15.818111255083021,23.251523247592477 +123.676,2024/06/05 13:48:22.0819,15.72277797103489,21.75162829154023 +123.887,2024/06/05 13:48:22.2929,14.52924122501708,20.153577019146418 +123.922,2024/06/05 13:48:22.3279,13.15552416637122,20.166804407243106 +124.169,2024/06/05 13:48:22.5749,12.546969226934147,20.02664891255316 +124.38,2024/06/05 13:48:22.7859,12.20368325783222,18.818430682002507 +124.415,2024/06/05 13:48:22.8209,11.511563401816733,17.527121840165314 +124.661,2024/06/05 13:48:23.0669,11.364443440515117,16.391054470858997 +125.365,2024/06/05 13:48:23.7709,11.244871116949502,16.0166579951416 +125.4,2024/06/05 13:48:23.8059,11.147135088877274,16.05407528739458 +125.646,2024/06/05 13:48:24.0519,9.361267720418889,14.10437284438175 +125.858,2024/06/05 13:48:24.2639,9.267977249587643,11.837792587021168 +125.892,2024/06/05 13:48:24.2979,9.149147312823635,11.837792587021168 +126.139,2024/06/05 13:48:24.5449,9.160196253482933,11.78699848703364 +126.35,2024/06/05 13:48:24.7559,7.873715914285578,10.687999500997993 +126.385,2024/06/05 13:48:24.7909,7.913323553046213,9.462205521617744 +126.632,2024/06/05 13:48:25.0379,7.943478493376582,9.462205521617744 +126.842,2024/06/05 13:48:25.2479,8.83852590819919,10.560934302102885 +126.878,2024/06/05 13:48:25.2839,8.861708924214033,11.481869766433224 +127.124,2024/06/05 13:48:25.5299,8.895885656258121,11.48332123850355 +127.37,2024/06/05 13:48:25.7759,8.588217001473113,11.337254223723367 +127.582,2024/06/05 13:48:25.9879,10.877795584659253,13.462293019145488 +128.109,2024/06/05 13:48:26.5149,10.877795584659253,15.334057953892483 +128.32,2024/06/05 13:48:26.7259,12.681600392133864,16.826566296583902 +128.355,2024/06/05 13:48:26.7609,12.207073509985277,19.025421589722175 +128.601,2024/06/05 13:48:27.0069,12.207073509985277,18.469795162192064 +128.812,2024/06/05 13:48:27.2179,13.387290249707272,19.60442127004348 +128.847,2024/06/05 13:48:27.2529,13.387290249707272,20.676879197145137 +129.094,2024/06/05 13:48:27.4999,13.358410325963353,20.518284528683193 +129.34,2024/06/05 13:48:27.7459,13.358410325963353,20.358454427256177 +129.551,2024/06/05 13:48:27.9569,13.894553634056663,20.99047402990223 +129.586,2024/06/05 13:48:27.9919,13.894553634056663,21.604011973088085 +129.833,2024/06/05 13:48:28.2389,13.942451506926988,21.5916650585359 +130.044,2024/06/05 13:48:28.4499,14.267397123851172,22.056745000112777 +130.079,2024/06/05 13:48:28.4849,14.267397123851172,22.524061208701536 +130.329,2024/06/05 13:48:28.7349,14.332504653939383,22.49740725802272 +130.572,2024/06/05 13:48:28.9779,14.332504653939383,22.47072169142178 +130.783,2024/06/05 13:48:29.1889,15.302317456524374,23.51736946740997 +130.818,2024/06/05 13:48:29.2239,15.377397953363657,24.49489742783178 +131.065,2024/06/05 13:48:29.4709,15.377397953363657,24.470390270692455 +131.31,2024/06/05 13:48:29.7159,15.377397953363657,24.470390270692455 +131.521,2024/06/05 13:48:29.9269,16.387723187324944,25.58971147421036 +131.557,2024/06/05 13:48:29.9629,16.387723187324944,26.662082939385414 +131.803,2024/06/05 13:48:30.2089,16.387723187324944,26.662082939385414 +132.014,2024/06/05 13:48:30.4199,16.75736242379206,27.12133231732296 +132.049,2024/06/05 13:48:30.4549,16.75736242379206,27.572933588333807 +132.295,2024/06/05 13:48:30.7009,16.75736242379206,27.572933588333807 +132.542,2024/06/05 13:48:30.9479,16.597881044652468,27.16124690314002 +132.753,2024/06/05 13:48:31.1589,16.58433688409268,26.975915183733804 +132.788,2024/06/05 13:48:31.1939,16.479210169668658,27.03701166919155 +133.035,2024/06/05 13:48:31.4409,16.368915031557943,27.03701166919155 +133.492,2024/06/05 13:48:31.8979,15.671043653676124,26.143832924802744 +133.773,2024/06/05 13:48:32.1789,15.600029472416063,25.369272752682527 +133.985,2024/06/05 13:48:32.3909,14.143923596819445,24.17436658942691 +134.513,2024/06/05 13:48:32.9189,14.117731575136565,22.91724241700995 +134.723,2024/06/05 13:48:33.1289,14.427782904530135,23.332380932943813 +134.758,2024/06/05 13:48:33.1639,13.464982254962672,22.812277396174192 +135.005,2024/06/05 13:48:33.4109,13.459005445657167,21.844907873461036 +135.251,2024/06/05 13:48:33.6569,13.436269323489883,21.844907873461036 +135.463,2024/06/05 13:48:33.8689,13.436269323489883,21.993938558915122 +135.497,2024/06/05 13:48:33.9029,12.947107252468365,21.543753928536535 +135.744,2024/06/05 13:48:34.1499,13.100013161352468,20.967435068060503 +135.955,2024/06/05 13:48:34.3609,13.034922147919426,21.195911555454902 +135.99,2024/06/05 13:48:34.3959,12.877004363567329,20.93004220413009 +136.236,2024/06/05 13:48:34.6419,12.991774586120735,20.426290248925117 +136.482,2024/06/05 13:48:34.8879,13.066804479686871,20.426290248925117 +136.693,2024/06/05 13:48:35.0989,12.947329196917527,20.5637221014744 +136.728,2024/06/05 13:48:35.1339,12.308346854832731,19.699407774516132 +137.186,2024/06/05 13:48:35.5919,12.216250718171061,18.589423516254254 +137.467,2024/06/05 13:48:35.8729,12.497539987819398,18.740330840195966 +137.713,2024/06/05 13:48:36.1189,12.701886908428213,18.740330840195966 +137.925,2024/06/05 13:48:36.3309,11.693450372290183,17.19592975096142 +138.452,2024/06/05 13:48:36.8579,11.881841646796895,15.498387012847498 +138.664,2024/06/05 13:48:37.0699,11.758293722491539,15.550991393905836 +138.699,2024/06/05 13:48:37.1049,11.712308095313935,14.677647404585427 +138.945,2024/06/05 13:48:37.3509,11.769871921881146,13.689411966918083 +139.156,2024/06/05 13:48:37.5619,11.730890550314719,14.549914089093447 +139.192,2024/06/05 13:48:37.5979,11.708921836562329,15.362291495737216 +139.437,2024/06/05 13:48:37.8429,11.945085075933005,15.006665185843255 +139.684,2024/06/05 13:48:38.0899,11.91565183364729,14.949916387726054 +139.895,2024/06/05 13:48:38.3009,13.01903999144576,16.258331197676263 +139.93,2024/06/05 13:48:38.3359,12.3286415431248,17.223046575252976 +140.176,2024/06/05 13:48:38.5819,12.360904255878703,16.748134224444225 +140.423,2024/06/05 13:48:38.8289,11.287720924888736,16.11417595369576 +140.633,2024/06/05 13:48:39.0389,12.465354285830625,16.58714361586507 +140.669,2024/06/05 13:48:39.0749,11.466292429071194,17.09483352751156 +140.915,2024/06/05 13:48:39.3209,11.470151167970782,16.523720323623653 +141.161,2024/06/05 13:48:39.5669,11.469098913387512,16.523720323623653 +141.407,2024/06/05 13:48:39.8129,11.463134312912453,16.523720323623653 +141.619,2024/06/05 13:48:40.0249,13.217238830363192,18.114450953129474 +141.654,2024/06/05 13:48:40.0599,13.221195104831091,19.576346271287022 +141.9,2024/06/05 13:48:40.3059,13.217238830363192,19.576346271287022 +142.147,2024/06/05 13:48:40.5529,12.998010457838477,19.328735085359313 +142.358,2024/06/05 13:48:40.7639,15.599292645325134,20.700241544484452 +142.393,2024/06/05 13:48:40.7989,15.571156653898333,22.204353927402018 +142.604,2024/06/05 13:48:41.0099,18.14944348597473,24.007637673596015 +142.639,2024/06/05 13:48:41.0449,18.117877118039612,25.574727108351844 +142.886,2024/06/05 13:48:41.2919,17.94704855189718,25.336403322755448 +143.132,2024/06/05 13:48:41.5379,17.968331017104703,25.22498761149349 +143.342,2024/06/05 13:48:41.7479,19.990831231676044,26.48018126826174 +143.378,2024/06/05 13:48:41.7839,19.728065078059736,27.780088792754665 +143.625,2024/06/05 13:48:42.0309,19.55484477113055,27.77048793233565 +143.87,2024/06/05 13:48:42.2759,19.311392623461835,27.799280566230486 +144.081,2024/06/05 13:48:42.4869,19.320675602761746,27.784887978899608 +144.117,2024/06/05 13:48:42.5229,18.982902167810696,27.77048793233565 +144.363,2024/06/05 13:48:42.7689,18.590598291276596,27.77048793233565 +144.609,2024/06/05 13:48:43.0149,18.60058088327976,27.32947127187059 +144.821,2024/06/05 13:48:43.2269,18.146783382364713,26.94315002618167 +144.856,2024/06/05 13:48:43.2619,17.65050225588752,27.004937820085175 +145.102,2024/06/05 13:48:43.5079,17.381090266453622,26.974679485275324 +145.313,2024/06/05 13:48:43.7189,17.557786365854817,26.666458332519525 +145.349,2024/06/05 13:48:43.7549,17.31483318648768,26.35463273632677 +145.806,2024/06/05 13:48:44.2119,17.73848987339504,26.955518915428062 +146.088,2024/06/05 13:48:44.4939,17.48286517458386,27.54329924561205 +146.545,2024/06/05 13:48:44.9509,17.74908124544769,27.358118843711946 +146.826,2024/06/05 13:48:45.2319,17.519808165643603,27.171676429694212 +147.037,2024/06/05 13:48:45.4429,17.62508661428227,27.52271788904577 +147.072,2024/06/05 13:48:45.4779,17.369182644763686,27.869337989984622 +147.318,2024/06/05 13:48:45.7239,17.07979918587803,27.869337989984622 +147.564,2024/06/05 13:48:45.9699,16.416980275901647,26.740730481171727 +147.776,2024/06/05 13:48:46.1819,17.101589628339365,26.348940522659856 +147.811,2024/06/05 13:48:46.2169,17.12768143282685,27.41228435087695 +148.057,2024/06/05 13:48:46.4629,17.124157836496085,27.41228435087695 +148.304,2024/06/05 13:48:46.7099,16.07543281625471,26.208777155754518 +148.514,2024/06/05 13:48:46.9199,16.904906449578423,26.04611295375953 +148.549,2024/06/05 13:48:46.9549,15.258086230007024,25.51666122360055 +148.796,2024/06/05 13:48:47.2019,15.20208697106729,23.862103846894975 +149.007,2024/06/05 13:48:47.4129,15.67251052661722,24.3050063430013 +149.042,2024/06/05 13:48:47.4479,15.69830505529902,24.764221503343624 +149.745,2024/06/05 13:48:48.1509,13.400162977222383,23.31451622201642 +149.781,2024/06/05 13:48:48.1869,13.454264802631926,21.7684787402948 +150.028,2024/06/05 13:48:48.4339,13.502703007389943,21.7684787402948 +150.273,2024/06/05 13:48:48.6789,13.502703007389943,21.719422951205065 +150.485,2024/06/05 13:48:48.8909,14.07222747850984,21.947665023869853 +150.52,2024/06/05 13:48:48.9259,14.07222747850984,22.173557826083453 +150.767,2024/06/05 13:48:49.1729,14.07222747850984,22.173557826083453 +150.977,2024/06/05 13:48:49.3829,14.810837908108429,22.47220505424423 +151.012,2024/06/05 13:48:49.4179,14.800007766386127,22.723702749918786 +151.259,2024/06/05 13:48:49.6649,14.800007766386127,22.65097496062072 +151.506,2024/06/05 13:48:49.9119,14.800007766386127,22.65097496062072 +151.716,2024/06/05 13:48:50.1219,14.19551491416194,22.1201265819163 +151.751,2024/06/05 13:48:50.1569,14.191627773113538,21.57622147952077 +151.998,2024/06/05 13:48:50.4039,13.294238662263783,20.820662813657012 +152.244,2024/06/05 13:48:50.6499,13.30046235476828,20.036633117035073 +152.455,2024/06/05 13:48:50.8609,12.557957590731421,19.376962266223945 +152.491,2024/06/05 13:48:50.8969,12.571862397352463,18.694027566756894 +152.736,2024/06/05 13:48:51.1419,11.998515233816496,18.173240400838445 +152.948,2024/06/05 13:48:51.3539,12.052042322277382,17.640861656959956 +153.475,2024/06/05 13:48:51.8809,12.065005918611302,17.644640357154728 +153.686,2024/06/05 13:48:52.0919,12.050134734784939,17.678612313565036 +153.722,2024/06/05 13:48:52.1279,10.540343949546779,16.519685227025363 +153.968,2024/06/05 13:48:52.3739,10.417767757898302,14.632156368765337 +154.178,2024/06/05 13:48:52.5839,10.246389888500246,14.63671183474394 +154.214,2024/06/05 13:48:52.6199,10.072438780580343,14.64126588334037 +154.46,2024/06/05 13:48:52.8659,8.396017118152507,12.583057392117917 +154.918,2024/06/05 13:48:53.3239,9.298621823481401,10.753294068950842 +155.199,2024/06/05 13:48:53.6049,9.280804562825663,11.284207253207171 +155.446,2024/06/05 13:48:53.8519,8.398412548414512,10.237187113655782 +155.656,2024/06/05 13:48:54.0619,9.774703452598374,10.073066398404542 +155.692,2024/06/05 13:48:54.0979,9.78792359368899,10.94684124911535 +155.938,2024/06/05 13:48:54.3439,9.747442930235195,10.908712114635714 +156.149,2024/06/05 13:48:54.5549,10.976935066233452,11.896778275370746 +156.185,2024/06/05 13:48:54.5909,10.905497927994881,12.808851106428971 +156.431,2024/06/05 13:48:54.8369,9.833382037675484,12.380091545165032 +156.677,2024/06/05 13:48:55.0829,9.721465761486387,11.93594012496153 +156.888,2024/06/05 13:48:55.2939,9.700633940655733,12.02497401244593 +157.416,2024/06/05 13:48:55.8219,8.058764059143652,11.549891774384728 +157.627,2024/06/05 13:48:56.0329,8.058764059143652,10.969655114602888 +157.662,2024/06/05 13:48:56.0679,7.861224495887277,11.04234274659745 +157.908,2024/06/05 13:48:56.3139,7.648980098794171,11.04234274659745 +158.155,2024/06/05 13:48:56.5609,7.57347154641732,11.018166816671457 +158.365,2024/06/05 13:48:56.7709,10.680092125825453,13.098345951556887 +158.401,2024/06/05 13:48:56.8069,10.680092125825453,14.908610487455451 +158.647,2024/06/05 13:48:57.0529,10.680092125825453,14.908610487455451 +158.893,2024/06/05 13:48:57.2989,10.67944636732966,14.904138127826558 +159.104,2024/06/05 13:48:57.5099,11.992382639798445,15.81244235826121 +159.14,2024/06/05 13:48:57.5459,11.992382639798445,16.675331081170974 +159.386,2024/06/05 13:48:57.7919,11.985863320606438,16.671332680182868 +159.597,2024/06/05 13:48:58.0029,13.742960580503473,17.98425237070847 +159.633,2024/06/05 13:48:58.0389,13.717343665644961,19.1798505381733 +159.879,2024/06/05 13:48:58.2849,13.717343665644961,19.148542155126762 +160.125,2024/06/05 13:48:58.5309,13.717343665644961,19.148542155126762 +160.335,2024/06/05 13:48:58.7409,15.972677821255969,20.906139449134713 +160.371,2024/06/05 13:48:58.7769,15.972677821255969,22.527020812052946 +160.617,2024/06/05 13:48:59.0229,15.972677821255969,22.527020812052946 +160.828,2024/06/05 13:48:59.2339,16.562698708416555,23.232879000818357 +160.863,2024/06/05 13:48:59.2689,16.562698708416555,23.917915182278467 +161.11,2024/06/05 13:48:59.5159,16.562698708416555,23.917915182278467 +161.356,2024/06/05 13:48:59.7619,15.692043521641628,23.513116906668643 +161.813,2024/06/05 13:49:00.2189,15.659597328979594,23.119256043393783 +162.059,2024/06/05 13:49:00.4649,16.213943197847502,23.497517599383414 +162.095,2024/06/05 13:49:00.5009,15.164386591276724,23.246505113672463 +162.834,2024/06/05 13:49:01.2399,15.164386591276724,22.756683999798096 +163.044,2024/06/05 13:49:01.4499,16.56478053048168,23.449946695035365 +163.08,2024/06/05 13:49:01.4859,16.56478053048168,24.123294412938986 +163.538,2024/06/05 13:49:01.9439,18.777707497205537,25.442091109026396 +164.276,2024/06/05 13:49:02.6819,20.31762159128053,25.423742184553923 +164.312,2024/06/05 13:49:02.7179,20.30118053302601,26.37107000736476 +164.557,2024/06/05 13:49:02.9629,20.30118053302601,26.34008352302627 +164.769,2024/06/05 13:49:03.1749,21.125242296101487,26.903531366718383 +164.804,2024/06/05 13:49:03.2099,21.125242296101487,27.45541840875859 +165.05,2024/06/05 13:49:03.4559,19.868793761002923,26.516032885784405 +165.261,2024/06/05 13:49:03.6669,20.1912977727325,25.801808722129024 +165.789,2024/06/05 13:49:04.1949,20.1912977727325,26.058907626120224 +166.0,2024/06/05 13:49:04.4059,20.400698658309505,26.243094329747017 +166.035,2024/06/05 13:49:04.4409,19.574349859288198,25.89015256810975 +166.281,2024/06/05 13:49:04.6869,19.574349859288198,25.342980619229984 +166.493,2024/06/05 13:49:04.8989,19.855338898106023,25.631360999109404 +166.528,2024/06/05 13:49:04.9339,18.365416024341656,25.020658131498724 +166.774,2024/06/05 13:49:05.1799,18.365416024341656,24.091492274244864 +167.02,2024/06/05 13:49:05.4259,18.365416024341656,24.091492274244864 +167.232,2024/06/05 13:49:05.6379,18.35239343594194,24.094259343946085 +167.267,2024/06/05 13:49:05.6729,15.72058464590967,22.586131437971694 +167.513,2024/06/05 13:49:05.9189,15.72058464590967,20.966640169564602 +167.76,2024/06/05 13:49:06.1659,15.72058464590967,20.966640169564602 +167.97,2024/06/05 13:49:06.3759,13.790259764334737,19.91649232838621 +168.005,2024/06/05 13:49:06.4109,13.790259764334737,18.807799800437408 +168.252,2024/06/05 13:49:06.6579,13.790259764334737,18.807799800437408 +168.462,2024/06/05 13:49:06.8679,14.478243685955132,19.0927560434143 +168.498,2024/06/05 13:49:06.9039,14.371267631400775,19.352002480363627 +168.744,2024/06/05 13:49:07.1499,14.251275401686968,18.89091492402278 +168.991,2024/06/05 13:49:07.3969,14.251275401686968,18.60286716252811 +169.201,2024/06/05 13:49:07.6069,14.351939273824842,18.625251676151922 +169.237,2024/06/05 13:49:07.6429,13.567032387965671,17.767948671695333 +169.484,2024/06/05 13:49:07.8899,13.567032387965671,16.842406795546374 +169.73,2024/06/05 13:49:08.1359,11.24548440665184,14.743360087397535 +169.94,2024/06/05 13:49:08.3459,9.209190811484,14.923136399564267 +169.976,2024/06/05 13:49:08.3819,9.232376812566608,13.361636626301934 +170.222,2024/06/05 13:49:08.6279,9.251032871816216,13.361636626301934 +170.679,2024/06/05 13:49:09.0849,8.060475443039316,12.671490309614992 +170.961,2024/06/05 13:49:09.3669,8.113349294935643,11.941524190822543 +171.171,2024/06/05 13:49:09.5769,8.62527694041616,12.541929676090518 +171.207,2024/06/05 13:49:09.6129,7.882470002058882,12.596295751794122 +171.454,2024/06/05 13:49:09.8599,7.956490880184638,12.055427546683417 +171.911,2024/06/05 13:49:10.3169,7.717795528265695,12.207920925912541 +172.192,2024/06/05 13:49:10.5979,8.11696109829841,12.794530081249565 +172.438,2024/06/05 13:49:10.8439,8.474505376677447,12.794530081249565 +172.649,2024/06/05 13:49:11.0549,7.568917078892591,12.293629786736435 +172.685,2024/06/05 13:49:11.0909,7.956779802634413,11.771434350437787 +172.932,2024/06/05 13:49:11.3379,8.3032329944994,11.771434350437787 +173.142,2024/06/05 13:49:11.5479,8.315889789344824,11.91217864204529 +173.67,2024/06/05 13:49:12.0759,8.61974477580532,12.045746137122432 +173.917,2024/06/05 13:49:12.3229,8.895304198375204,12.040210407906777 +174.126,2024/06/05 13:49:12.5319,8.945813892928866,12.433824833895642 +174.62,2024/06/05 13:49:13.0259,9.747619809679012,12.772366003733737 +175.148,2024/06/05 13:49:13.5539,9.832856018028881,14.026166024018584 +175.358,2024/06/05 13:49:13.7639,11.371268492409328,15.989579940281942 +175.394,2024/06/05 13:49:13.7999,11.643951614268488,17.894133116750865 +175.64,2024/06/05 13:49:14.0459,11.294439685797313,17.590717248973487 +175.851,2024/06/05 13:49:14.2569,12.306245494095375,18.621671962169955 +175.887,2024/06/05 13:49:14.2929,12.339265426450254,19.462785001124583 +176.133,2024/06/05 13:49:14.5389,12.368852240493,19.462785001124583 +176.379,2024/06/05 13:49:14.7849,12.337635161542575,19.441364835491015 +176.59,2024/06/05 13:49:14.9959,14.311035850925022,21.01586702153082 +176.625,2024/06/05 13:49:15.0309,14.346652459080241,22.49888886145269 +176.871,2024/06/05 13:49:15.2769,14.346652459080241,22.47220505424423 +177.118,2024/06/05 13:49:15.5239,14.283701828694733,22.326367072738606 +177.328,2024/06/05 13:49:15.7339,17.858608150063073,25.069237456824784 +177.364,2024/06/05 13:49:15.7699,17.858608150063073,27.65863337187866 +178.068,2024/06/05 13:49:16.4739,23.35719633624055,31.983850091361212 +178.103,2024/06/05 13:49:16.5089,23.299548611878205,35.300613781255045 +178.349,2024/06/05 13:49:16.7549,23.207237277819143,35.09178441363923 +178.595,2024/06/05 13:49:17.0009,23.151897218751206,34.881704851301826 +178.806,2024/06/05 13:49:17.2119,28.27036952541458,38.794759096214705 +178.842,2024/06/05 13:49:17.2479,28.259552346960746,42.190046219457976 +179.088,2024/06/05 13:49:17.4939,28.054974767328577,41.90107397191628 +179.334,2024/06/05 13:49:17.7399,27.841918285081316,41.90107397191628 +179.545,2024/06/05 13:49:17.9509,28.867991262647216,42.89832941580204 +179.581,2024/06/05 13:49:17.9869,28.624983059775964,43.872922552906516 +179.826,2024/06/05 13:49:18.2319,28.31595139578264,43.89722846224653 +180.073,2024/06/05 13:49:18.4789,28.21284047762901,43.85924455953766 +180.283,2024/06/05 13:49:18.6889,28.622975258413174,44.395945760846224 +180.319,2024/06/05 13:49:18.7249,28.235381733018087,44.96331838287739 +180.565,2024/06/05 13:49:18.9709,28.200513568325274,44.85606610779267 +180.776,2024/06/05 13:49:19.1819,28.287542443120106,44.89506283174873 +180.811,2024/06/05 13:49:19.2169,27.86758509183445,44.6239845822849 +181.058,2024/06/05 13:49:19.4639,27.724755525803545,43.92797134704341 +181.304,2024/06/05 13:49:19.7099,27.262116361460386,43.18718945860373 +181.515,2024/06/05 13:49:19.9209,26.899044977279686,43.20570949924713 +181.551,2024/06/05 13:49:19.9569,26.851421760770346,42.664192636604916 +181.797,2024/06/05 13:49:20.2029,26.61183299159368,42.28711387645177 +182.008,2024/06/05 13:49:20.4139,27.592040331501945,42.85246006162696 +182.043,2024/06/05 13:49:20.4489,27.364819263671233,43.41044421180998 +182.289,2024/06/05 13:49:20.6949,27.009683235939722,42.660676662862876 +182.536,2024/06/05 13:49:20.9419,26.78713449984341,41.89749395846964 +182.747,2024/06/05 13:49:21.1529,28.19596857137941,42.73094117069426 +182.782,2024/06/05 13:49:21.1879,27.993205251095144,43.548440461934646 +183.028,2024/06/05 13:49:21.4339,26.681368073974426,41.95155936712405 +183.239,2024/06/05 13:49:21.6449,28.316844424493475,41.3533553656774 +183.767,2024/06/05 13:49:22.1729,24.641708404724877,39.07428822128434 +184.013,2024/06/05 13:49:22.4189,24.59987851572741,35.93883693165375 +184.224,2024/06/05 13:49:22.6299,25.523124515966096,36.602367865116776 +184.26,2024/06/05 13:49:22.6659,25.49067893649985,37.25408255032818 +184.506,2024/06/05 13:49:22.9119,19.678712461387338,33.159714514251576 +184.717,2024/06/05 13:49:23.1229,19.737472383564814,28.581462523810778 +184.752,2024/06/05 13:49:23.1579,19.81897964131907,28.813769856326218 +184.998,2024/06/05 13:49:23.4039,19.887152902684324,28.813769856326218 +185.209,2024/06/05 13:49:23.6149,18.022846293129618,27.26780763708981 +185.245,2024/06/05 13:49:23.6509,18.117781955541258,25.628759886762634 +185.491,2024/06/05 13:49:23.8969,18.21013990617124,25.58710612789184 +185.737,2024/06/05 13:49:24.1429,18.50830816861447,25.628759886762634 +185.948,2024/06/05 13:49:24.3539,17.515182248421905,24.674548290360523 +185.984,2024/06/05 13:49:24.3899,17.824979244237692,23.68191996720987 +186.229,2024/06/05 13:49:24.6349,18.115212379110133,23.68191996720987 +186.476,2024/06/05 13:49:24.8819,17.96689164553328,23.426480742954116 +186.687,2024/06/05 13:49:25.0929,18.862021685625425,23.308796622734516 +186.722,2024/06/05 13:49:25.1279,18.924411043236525,23.65234308336773 +186.969,2024/06/05 13:49:25.3749,18.98362876058158,23.65234308336773 +187.215,2024/06/05 13:49:25.6209,19.003962079331917,23.61778990506944 +187.426,2024/06/05 13:49:25.8319,20.89547055357262,24.68805379125702 +187.462,2024/06/05 13:49:25.8679,20.922984117182352,25.745549777259242 +187.918,2024/06/05 13:49:26.3239,20.607469910011105,25.43095226949501 +188.2,2024/06/05 13:49:26.6059,20.607469910011105,25.43095226949501 +188.446,2024/06/05 13:49:26.8519,20.607469910011105,25.43095226949501 +188.657,2024/06/05 13:49:27.0629,20.598097222691752,25.433573611796408 +188.693,2024/06/05 13:49:27.0989,18.35001331078026,24.009720253819424 +188.939,2024/06/05 13:49:27.3449,18.35001331078026,22.492961862176653 +189.185,2024/06/05 13:49:27.5909,18.35001331078026,22.492961862176653 +189.396,2024/06/05 13:49:27.8019,15.399246137693432,20.612294066082665 +189.432,2024/06/05 13:49:27.8379,15.399246137693432,18.541844568434932 +189.677,2024/06/05 13:49:28.0829,15.399246137693432,18.541844568434932 +189.888,2024/06/05 13:49:28.2939,13.875513866431914,17.578395831246947 +189.924,2024/06/05 13:49:28.3299,13.875513866431914,16.558985476169727 +190.17,2024/06/05 13:49:28.5759,13.875513866431914,16.558985476169727 +190.416,2024/06/05 13:49:28.8219,13.417264568675014,16.388003742575442 +190.627,2024/06/05 13:49:29.0329,14.09658799509726,16.240894885032247 +191.156,2024/06/05 13:49:29.5619,14.356543623994467,16.306440445419103 +191.401,2024/06/05 13:49:29.8069,14.594165107072135,16.306440445419103 +191.612,2024/06/05 13:49:30.0179,14.95264555841099,16.322785709961806 +191.648,2024/06/05 13:49:30.0539,15.142275448134939,16.33911462309591 +191.858,2024/06/05 13:49:30.2639,15.279804115012857,16.282915381875977 +191.894,2024/06/05 13:49:30.2999,14.8122735687645,16.32380674556847 +192.141,2024/06/05 13:49:30.5469,14.648996670363855,16.240894885032247 +192.387,2024/06/05 13:49:30.7929,14.46601248587298,16.240894885032247 +192.597,2024/06/05 13:49:31.0029,14.261474509056415,16.25012820462247 +192.633,2024/06/05 13:49:31.0389,13.29748053225856,16.05718945934603 +192.879,2024/06/05 13:49:31.2849,13.245038108016374,15.546703830716014 +193.125,2024/06/05 13:49:31.5309,13.188117256896668,15.546703830716014 +193.336,2024/06/05 13:49:31.7419,13.89550493761609,16.202880402364677 +193.372,2024/06/05 13:49:31.7779,10.825098550162608,15.166849815743983 +194.075,2024/06/05 13:49:32.4809,13.507937215435213,15.531688038759127 +194.111,2024/06/05 13:49:32.5169,11.506919457541263,16.544888435203585 +194.357,2024/06/05 13:49:32.7629,11.506919457541263,15.019986684414869 +194.813,2024/06/05 13:49:33.2189,14.327210667722104,17.208525019109956 +195.095,2024/06/05 13:49:33.5009,14.32608744944843,19.14506028544526 +195.342,2024/06/05 13:49:33.7479,14.32608744944843,19.14157778240864 +195.552,2024/06/05 13:49:33.9579,15.10533893588184,19.766132651583618 +195.588,2024/06/05 13:49:33.9939,15.10533893588184,20.37154878746336 +195.835,2024/06/05 13:49:34.2409,14.87685079763949,20.273134932713294 +196.081,2024/06/05 13:49:34.4869,14.894417684521096,20.133719643092945 +196.291,2024/06/05 13:49:34.6969,15.149219470810046,20.233635362929718 +196.327,2024/06/05 13:49:34.7329,14.516300785868554,20.002499843769527 +196.574,2024/06/05 13:49:34.9799,14.505488457903118,19.66638417876216 +196.784,2024/06/05 13:49:35.1899,14.636751099840573,19.73490984693537 +196.82,2024/06/05 13:49:35.2259,14.613369724766017,19.803198394872144 +197.066,2024/06/05 13:49:35.4719,14.06487432063434,19.58656001786259 +197.276,2024/06/05 13:49:35.6819,13.854788789940502,19.562719647329203 +197.312,2024/06/05 13:49:35.7179,13.596652732099576,19.593366224311737 +197.558,2024/06/05 13:49:35.9639,13.135063191988946,19.579751445477203 +197.805,2024/06/05 13:49:36.2109,12.81683519313131,19.56612719301736 +198.015,2024/06/05 13:49:36.4209,13.037346884745233,19.966638842495918 +198.051,2024/06/05 13:49:36.4569,12.9590424649844,20.26737937343323 +198.298,2024/06/05 13:49:36.7039,12.87588854204636,20.26737937343323 +198.508,2024/06/05 13:49:36.9139,13.725594851337439,20.81585933849477 +198.544,2024/06/05 13:49:36.9499,13.70044885580934,21.34322687255452 +198.79,2024/06/05 13:49:37.1959,13.626546100195865,21.336197724368166 +199.036,2024/06/05 13:49:37.4419,13.548083802247382,21.336197724368166 +199.246,2024/06/05 13:49:37.6519,14.626224283173052,22.028012468975348 +199.282,2024/06/05 13:49:37.6879,14.238082332456749,22.19083895064207 +199.529,2024/06/05 13:49:37.9349,14.182877810535363,21.717120742246966 +199.775,2024/06/05 13:49:38.1809,12.330179777010558,20.176719257599835 +199.986,2024/06/05 13:49:38.3919,12.708084131721671,18.83082579177026 +200.514,2024/06/05 13:49:38.9199,12.672896229774825,19.147671747064532 +200.724,2024/06/05 13:49:39.1299,10.09927731567525,17.216271373325874 +201.217,2024/06/05 13:49:39.6229,10.072438780581798,15.029970059850418 +201.253,2024/06/05 13:49:39.6589,10.053649191663123,15.047701928644564 +201.955,2024/06/05 13:49:40.3609,9.102797346985746,14.227906850037124 +202.484,2024/06/05 13:49:40.8899,9.306035614086,13.496913227351898 +202.694,2024/06/05 13:49:41.0999,9.469187781506939,13.972592219532256 +202.73,2024/06/05 13:49:41.1359,10.091592039174,14.942110515809562 +202.976,2024/06/05 13:49:41.3819,10.36439528651988,14.80653009092047 +203.187,2024/06/05 13:49:41.5929,10.404740299004036,14.860462083439174 +203.223,2024/06/05 13:49:41.6289,10.933918543354375,15.048809476721628 +203.469,2024/06/05 13:49:41.8749,11.246250971750802,14.958832396502967 +203.715,2024/06/05 13:49:42.1209,11.701458795000804,14.868310820892422 +203.926,2024/06/05 13:49:42.3319,12.025643099397698,14.872793954062566 +204.454,2024/06/05 13:49:42.8599,12.359555845163925,14.836890959137406 +204.665,2024/06/05 13:49:43.0709,12.521659395745441,14.824529222429517 +204.701,2024/06/05 13:49:43.1069,12.842145056619064,14.85260919838666 +204.947,2024/06/05 13:49:43.3529,12.905714674687397,14.92425319181276 +205.157,2024/06/05 13:49:43.5629,12.305311440806664,14.704874475266129 +205.193,2024/06/05 13:49:43.5989,12.356021381006583,14.482172949296432 +205.439,2024/06/05 13:49:43.8449,12.40059323757354,14.482172949296432 +205.685,2024/06/05 13:49:44.0909,11.240116987164198,13.682105101189656 +205.896,2024/06/05 13:49:44.3019,12.439092992772258,14.25482374496437 +205.932,2024/06/05 13:49:44.3379,12.439092992772258,15.024424559141469 +206.178,2024/06/05 13:49:44.5839,12.439092992772258,15.024424559141469 +206.425,2024/06/05 13:49:44.8309,10.848804161022452,13.990472948879653 +206.634,2024/06/05 13:49:45.0399,11.640249236976366,13.454862813619965 +207.127,2024/06/05 13:49:45.5329,12.354951541235739,13.45362404707371 +207.163,2024/06/05 13:49:45.5689,12.354951541235739,13.940349110884323 +207.41,2024/06/05 13:49:45.8159,11.705976467495118,13.501851724856113 +207.656,2024/06/05 13:49:46.0619,11.705976467495118,13.048627003124377 +207.866,2024/06/05 13:49:46.2719,12.324352119786685,13.490737563232042 +207.903,2024/06/05 13:49:46.3089,12.276507796529028,13.92838827718412 +208.148,2024/06/05 13:49:46.5539,12.276507796529028,13.909229549715063 +208.394,2024/06/05 13:49:46.7999,12.243741070537887,13.898441159592922 +208.605,2024/06/05 13:49:47.0109,13.389865785257173,14.671968738607191 +208.642,2024/06/05 13:49:47.0479,13.121010614289787,15.056560032092323 +208.887,2024/06/05 13:49:47.2929,12.840489123067476,14.094916341243982 +209.097,2024/06/05 13:49:47.5029,13.031747265109157,14.515508947329405 +209.134,2024/06/05 13:49:47.5399,13.019172422807186,14.734313692873517 +209.38,2024/06/05 13:49:47.7859,12.65819438377924,14.54189350348388 +209.626,2024/06/05 13:49:48.0319,12.262643018255524,14.54189350348388 +209.837,2024/06/05 13:49:48.2429,12.032714028705923,14.7648230602334 +209.872,2024/06/05 13:49:48.2779,11.64809687973119,14.979986648859205 +210.575,2024/06/05 13:49:48.9809,11.494176436530193,15.162453627299245 +210.611,2024/06/05 13:49:49.0169,11.211857434274606,15.319921670818033 +210.858,2024/06/05 13:49:49.2639,10.636091236054238,15.292699783447874 +211.104,2024/06/05 13:49:49.5099,10.431825751315394,15.222789932641563 +211.314,2024/06/05 13:49:49.7199,14.291264110816876,17.47665109033574 +211.35,2024/06/05 13:49:49.7559,14.173027645628244,19.471346469449237 +211.596,2024/06/05 13:49:50.0019,14.048561099471392,19.471346469449237 +211.843,2024/06/05 13:49:50.2489,13.917697325730202,19.471346469449237 +212.053,2024/06/05 13:49:50.4589,17.997956461267474,21.941589125068706 +212.089,2024/06/05 13:49:50.4949,17.997956461267474,24.48945351234554 +212.791,2024/06/05 13:49:51.1969,21.043359724764063,26.827846229865962 +212.828,2024/06/05 13:49:51.2339,21.043359724764063,28.978152690144576 +213.284,2024/06/05 13:49:51.6899,22.126205402583654,30.00055555041162 +213.567,2024/06/05 13:49:51.9729,21.658928768579052,31.203632267200348 +213.813,2024/06/05 13:49:52.2189,21.658928768579052,30.98924544633724 +214.023,2024/06/05 13:49:52.4289,21.653621183185756,31.042980956516832 +214.059,2024/06/05 13:49:52.4649,21.653621183185756,31.096623610932426 +214.305,2024/06/05 13:49:52.7109,21.18511730914851,30.902534955350617 +214.551,2024/06/05 13:49:52.9569,21.18511730914851,30.707219563700868 +214.762,2024/06/05 13:49:53.1679,21.15897679120284,30.75115173994843 +214.798,2024/06/05 13:49:53.2039,21.270669460795776,30.88958832141773 +215.044,2024/06/05 13:49:53.4499,20.435516749709883,30.46363952867965 +215.255,2024/06/05 13:49:53.6609,20.75586054892744,30.058831203713382 +215.783,2024/06/05 13:49:54.1889,20.869710769109666,30.085987879188323 +215.993,2024/06/05 13:49:54.3989,20.75165136761034,29.93047499344662 +216.522,2024/06/05 13:49:54.9279,20.863982053446115,29.77414986191881 +216.769,2024/06/05 13:49:55.1749,21.191545700950787,29.809953594954376 +216.978,2024/06/05 13:49:55.3839,21.50209826703291,29.809953594954376 +217.014,2024/06/05 13:49:55.4199,21.533427635822598,29.700168349691218 +217.261,2024/06/05 13:49:55.6669,21.826483965561913,29.58997578009598 +217.507,2024/06/05 13:49:55.9129,22.049474151210635,29.494632280015516 +217.717,2024/06/05 13:49:56.1229,22.073154236110266,29.480502031003475 +217.753,2024/06/05 13:49:56.1589,22.323638314268656,29.56179967458003 +217.999,2024/06/05 13:49:56.4049,22.559882000182192,29.56179967458003 +218.209,2024/06/05 13:49:56.6149,21.51492398366916,29.451089396941953 +218.245,2024/06/05 13:49:56.6509,21.734579683606977,29.339961372389933 +218.492,2024/06/05 13:49:56.8979,21.940253249307528,29.339961372389933 +218.702,2024/06/05 13:49:57.1079,23.695772938912324,31.649117944528353 +218.738,2024/06/05 13:49:57.1439,20.74962954938836,31.649117944528353 +218.984,2024/06/05 13:49:57.3899,20.9279277741397,29.339961372389933 +219.231,2024/06/05 13:49:57.6369,17.669247263271746,27.21825367898046 +219.441,2024/06/05 13:49:57.8469,18.554176652830254,26.12406298160121 +219.477,2024/06/05 13:49:57.8829,16.19578489224652,25.893371095063436 +219.723,2024/06/05 13:49:58.1289,16.292900929230267,24.43017260138236 +219.97,2024/06/05 13:49:58.3759,16.37365419581695,24.43017260138236 +220.18,2024/06/05 13:49:58.5859,16.95162149366322,25.330482295711096 +220.216,2024/06/05 13:49:58.6219,17.027226338475245,26.199872773227987 +220.462,2024/06/05 13:49:58.8679,17.087368460930286,26.199872773227987 +220.708,2024/06/05 13:49:59.1139,17.13221070610021,26.199872773227987 +220.919,2024/06/05 13:49:59.3249,17.07454918541368,26.45499322749236 +220.955,2024/06/05 13:49:59.3609,17.147634802222658,26.598245556176572 +221.201,2024/06/05 13:49:59.6069,17.216137845025024,26.598245556176572 +221.447,2024/06/05 13:49:59.8529,17.231386759492825,26.567524034680638 +221.657,2024/06/05 13:50:00.0629,17.32584940114964,26.739483914241877 +221.693,2024/06/05 13:50:00.0989,17.30802750436938,26.89051877521146 +221.94,2024/06/05 13:50:00.3459,17.30802750436938,26.879980158722834 +222.186,2024/06/05 13:50:00.5919,17.23455497126412,26.84026825499328 +222.396,2024/06/05 13:50:00.8019,17.189979706180726,26.87067794703612 +222.432,2024/06/05 13:50:00.8379,17.10363945944476,26.901053263146903 +222.643,2024/06/05 13:50:01.0489,17.28450239343211,27.040093688200614 +223.171,2024/06/05 13:50:01.5769,17.36918264476434,27.58924911386076 +223.381,2024/06/05 13:50:01.7869,18.049612343404515,28.455227990652265 +223.874,2024/06/05 13:50:02.2799,19.491819681158816,28.50263145746371 +223.91,2024/06/05 13:50:02.3159,19.871107657608924,30.735972410190637 +224.156,2024/06/05 13:50:02.5619,18.942259511535354,29.460142565846485 +224.402,2024/06/05 13:50:02.8079,19.306511318992882,28.126499960002132 +224.613,2024/06/05 13:50:03.0189,19.883019960727157,29.51496795413021 +224.649,2024/06/05 13:50:03.0549,17.38743766360639,28.466354408904092 +224.895,2024/06/05 13:50:03.3009,17.825591831352614,25.874698065871222 +225.141,2024/06/05 13:50:03.5469,18.1926156549264,25.874698065871222 +225.351,2024/06/05 13:50:03.7569,18.28160937607428,26.6520793435209 +225.388,2024/06/05 13:50:03.7939,17.648190295033388,26.258966722499448 +226.127,2024/06/05 13:50:04.5329,17.989141041260343,25.057932875638404 +226.336,2024/06/05 13:50:04.7419,17.981759595795403,25.124357371549493 +226.372,2024/06/05 13:50:04.7779,18.21506260618365,25.190606714937747 +226.619,2024/06/05 13:50:05.0249,17.913746086473303,24.216385637277362 +226.829,2024/06/05 13:50:05.2349,18.136170755019887,23.202011407059807 +226.865,2024/06/05 13:50:05.2709,18.258551767425242,23.202729724467048 +227.112,2024/06/05 13:50:05.5179,18.319921949341307,23.202729724467048 +227.358,2024/06/05 13:50:05.7639,18.511754575710473,22.852425108362862 +227.568,2024/06/05 13:50:05.9739,18.691229733904464,22.52332124709853 +227.604,2024/06/05 13:50:06.0099,18.60428822153552,22.54994456755936 +227.85,2024/06/05 13:50:06.2559,18.457188737509227,22.54994456755936 +228.061,2024/06/05 13:50:06.4669,19.81004621485196,22.847319317591726 +228.097,2024/06/05 13:50:06.5029,19.542938284242215,23.140872930812268 +228.343,2024/06/05 13:50:06.7489,19.469073619109363,23.094732444145496 +228.589,2024/06/05 13:50:06.9949,19.363551493382545,23.094732444145496 +228.799,2024/06/05 13:50:07.2049,20.35774867303806,23.580359058617688 +228.836,2024/06/05 13:50:07.2419,20.170537293605893,24.056184236075346 +229.082,2024/06/05 13:50:07.4879,19.287182331770417,23.89979079406345 +229.328,2024/06/05 13:50:07.7339,19.30052706087825,23.263705637752555 +229.538,2024/06/05 13:50:07.9439,18.00140479831388,22.387496510329154 +229.575,2024/06/05 13:50:07.9809,13.915219485637081,22.517400678882396 +229.821,2024/06/05 13:50:08.2269,13.981268256817291,19.40017182054496 +230.031,2024/06/05 13:50:08.4369,14.27545115739766,19.849433241279208 +230.066,2024/06/05 13:50:08.4719,14.344889754511394,20.28874893465177 +230.313,2024/06/05 13:50:08.7189,11.090484686200076,18.20988742414406 +230.559,2024/06/05 13:50:08.9649,11.13428999951186,15.860853276752378 +230.769,2024/06/05 13:50:09.1749,13.082233279770309,17.69745744450315 +230.806,2024/06/05 13:50:09.2119,13.137163220093901,19.360612937955587 +231.052,2024/06/05 13:50:09.4579,11.321274856125683,18.275666882497067 +231.298,2024/06/05 13:50:09.7039,11.350021520062214,17.1221104618171 +231.508,2024/06/05 13:50:09.9139,14.371747508111376,19.667231630303235 +231.545,2024/06/05 13:50:09.9509,14.268726352560812,21.842618890600093 +231.791,2024/06/05 13:50:10.1969,14.30392599431012,21.766181719967943 +232.247,2024/06/05 13:50:10.6529,14.988923113155195,22.444746972658585 +232.986,2024/06/05 13:50:11.3919,15.6813088827428,24.161263763856944 +233.022,2024/06/05 13:50:11.4279,15.708735398376875,24.408331910777243 +233.269,2024/06/05 13:50:11.6749,15.732534559894926,24.408331910777243 +233.515,2024/06/05 13:50:11.9209,15.752722807889336,24.408331910777243 +233.724,2024/06/05 13:50:12.1299,22.208236020147375,28.517830679535685 +233.761,2024/06/05 13:50:12.1669,22.208236020147375,32.71391141395355 +234.008,2024/06/05 13:50:12.4139,22.208236020147375,32.71391141395355 +234.254,2024/06/05 13:50:12.6599,21.831223026910497,32.3403772396056 +234.463,2024/06/05 13:50:12.8689,25.2594809786441,34.70062439399806 +234.5,2024/06/05 13:50:12.9059,25.2594809786441,37.23797345005051 +234.746,2024/06/05 13:50:13.1519,25.2594809786441,37.23797345005051 +234.993,2024/06/05 13:50:13.3989,24.987100120140575,36.910251511831596 +235.203,2024/06/05 13:50:13.6089,26.287010034461208,37.74608147432878 +235.239,2024/06/05 13:50:13.6449,26.287010034461208,38.87758565892006 +235.485,2024/06/05 13:50:13.8909,26.287010034461208,38.87758565892006 +235.731,2024/06/05 13:50:14.1369,26.209939327292776,38.70572739703174 +235.941,2024/06/05 13:50:14.3469,27.66748371595358,39.86644370060281 +235.978,2024/06/05 13:50:14.3839,27.710925684628307,41.136763768353646 +236.224,2024/06/05 13:50:14.6299,27.377753364921823,40.92187678980523 +236.47,2024/06/05 13:50:14.8759,27.424294959453952,40.705855434650516 +236.68,2024/06/05 13:50:15.0859,28.917957671008082,42.1070065428546 +236.717,2024/06/05 13:50:15.1229,28.974523093674776,43.46301109372582 +236.963,2024/06/05 13:50:15.3689,27.714658555550038,42.748099372954584 +237.208,2024/06/05 13:50:15.6139,27.782074763434558,42.021026482782005 +237.419,2024/06/05 13:50:15.8249,28.796950668712174,43.12076066119428 +237.455,2024/06/05 13:50:15.8609,28.872709144337037,44.19313672204467 +237.701,2024/06/05 13:50:16.1069,26.81029567205744,43.12076066119428 +237.911,2024/06/05 13:50:16.3169,26.87057100634539,42.02261296016705 +237.947,2024/06/05 13:50:16.3529,26.961893074505582,42.02419937766017 +238.194,2024/06/05 13:50:16.5999,26.202570725862607,41.66573332287977 +238.44,2024/06/05 13:50:16.8459,26.233347208224856,40.69397989875161 +238.65,2024/06/05 13:50:17.0559,26.62133359354865,40.60500790132501 +238.687,2024/06/05 13:50:17.0929,26.70477162580421,40.66407095541059 +238.933,2024/06/05 13:50:17.3389,26.785847180844453,40.66407095541059 +239.18,2024/06/05 13:50:17.5859,22.72881102422336,37.87963392994534 +239.389,2024/06/05 13:50:17.7949,23.58065152698128,34.630429778832756 +239.425,2024/06/05 13:50:17.8309,23.58065152698128,34.954255821001254 +239.671,2024/06/05 13:50:18.0769,23.58065152698128,34.954255821001254 +239.881,2024/06/05 13:50:18.2869,20.78350362640146,32.50999846201165 +240.411,2024/06/05 13:50:18.8169,20.78350362640146,29.866369046136157 +240.657,2024/06/05 13:50:19.0629,20.78350362640146,29.866369046136157 +240.866,2024/06/05 13:50:19.2719,21.694562060309973,30.332051254956912 +240.903,2024/06/05 13:50:19.3089,19.83263304086135,29.34904882047571 +241.15,2024/06/05 13:50:19.5559,19.83263304086135,27.832834326864138 +241.359,2024/06/05 13:50:19.7649,20.817101722815806,28.439409276565502 +241.888,2024/06/05 13:50:20.2939,20.817101722815806,29.033314198233263 +242.097,2024/06/05 13:50:20.5029,18.496007646265173,27.44266750882647 +242.134,2024/06/05 13:50:20.5399,18.496007646265173,25.75396409616715 +242.38,2024/06/05 13:50:20.7859,18.496007646265173,25.75396409616715 +242.627,2024/06/05 13:50:21.0329,18.496007646265173,25.75396409616715 +242.836,2024/06/05 13:50:21.2419,15.215539546078652,23.676289123649987 +243.366,2024/06/05 13:50:21.7719,15.215539546078652,21.39781920352321 +243.575,2024/06/05 13:50:21.9809,21.774312610397132,26.22022120425379 +243.612,2024/06/05 13:50:22.0179,21.774312610397132,30.284209306721767 +243.859,2024/06/05 13:50:22.2649,19.444852759810225,28.725134174331256 +244.105,2024/06/05 13:50:22.5109,19.49960211795989,27.046256672597043 +244.315,2024/06/05 13:50:22.7209,29.305858344936176,33.906243279569225 +244.843,2024/06/05 13:50:23.2489,29.3132114892965,39.59334960991976 +245.053,2024/06/05 13:50:23.4589,32.789541365939286,42.013489897095354 +245.09,2024/06/05 13:50:23.4959,32.76929106315465,44.30312253856004 +245.336,2024/06/05 13:50:23.7419,32.74730839163259,44.30312253856004 +245.582,2024/06/05 13:50:23.9879,32.558364922657304,44.248917124226516 +245.792,2024/06/05 13:50:24.1979,33.714163605024375,45.09101906144948 +245.828,2024/06/05 13:50:24.2339,33.67320978866446,45.969917699875566 +246.075,2024/06/05 13:50:24.4809,33.63365856557819,45.97028025438465 +246.321,2024/06/05 13:50:24.7269,32.96443572986881,45.72490204108333 +246.567,2024/06/05 13:50:24.9729,32.91130539782116,45.47783342831245 +246.777,2024/06/05 13:50:25.1829,33.89301965905878,46.38498320218157 +246.814,2024/06/05 13:50:25.2199,33.23758086277259,47.08786113922214 +247.06,2024/06/05 13:50:25.4659,33.162088865618614,46.90024875555921 +247.269,2024/06/05 13:50:25.6749,33.334183897196404,47.2405193310432 +247.762,2024/06/05 13:50:26.1679,32.32878863664396,47.3050384913348 +247.799,2024/06/05 13:50:26.2049,32.32878863664396,47.020562877674415 +248.045,2024/06/05 13:50:26.4509,32.32878863664396,47.020562877674415 +248.291,2024/06/05 13:50:26.6969,31.183273588965857,46.6561893000275 +248.501,2024/06/05 13:50:26.9069,31.818884004793464,46.447461358686404 +248.537,2024/06/05 13:50:26.9429,31.183273588965857,46.447461358686404 +248.784,2024/06/05 13:50:27.1899,31.183273588965857,46.288947564906536 +249.03,2024/06/05 13:50:27.4359,31.183273588965857,46.288947564906536 +249.276,2024/06/05 13:50:27.6819,31.183273588965857,46.288947564906536 +249.486,2024/06/05 13:50:27.8919,31.806454922119173,46.248963952359695 +249.523,2024/06/05 13:50:27.9289,31.806454922119173,46.20894574286095 +249.732,2024/06/05 13:50:28.1379,29.645588534221734,43.728327965595334 +249.769,2024/06/05 13:50:28.1749,29.645588534221734,41.09825624849145 +250.016,2024/06/05 13:50:28.4219,29.72216170724924,41.078380364047135 +250.262,2024/06/05 13:50:28.6679,29.7966479639104,41.078380364047135 +250.471,2024/06/05 13:50:28.8769,22.263211239908387,35.67398678776082 +250.508,2024/06/05 13:50:28.9139,22.31356991382126,29.288791940490366 +250.754,2024/06/05 13:50:29.1599,17.530564442005403,25.859878834467366 +251.001,2024/06/05 13:50:29.4069,17.925003406598478,21.70483817032507 +251.209,2024/06/05 13:50:29.6149,18.480185101330527,21.72402663718983 +251.247,2024/06/05 13:50:29.6529,18.783123998061765,21.743198170155804 +251.493,2024/06/05 13:50:29.8989,16.08186670700052,19.817500683318606 +251.703,2024/06/05 13:50:30.1089,16.308414019033645,17.684267961477325 +251.739,2024/06/05 13:50:30.1449,16.4780941315134,17.684267961477325 +251.985,2024/06/05 13:50:30.3909,16.59400251718519,17.683325479106017 +252.231,2024/06/05 13:50:30.6369,16.672677077172025,17.683325479106017 +252.441,2024/06/05 13:50:30.8469,12.406709345419605,15.149257407543116 +252.478,2024/06/05 13:50:30.8839,12.302929283940022,12.095453691366853 +252.725,2024/06/05 13:50:31.1309,12.148317134299417,12.095453691366853 +252.97,2024/06/05 13:50:31.3759,8.729392811111342,10.68955876856789 +253.18,2024/06/05 13:50:31.5859,8.278486174020006,9.136009340333812 +253.217,2024/06/05 13:50:31.6229,8.162149818232852,9.252026804976301 +253.464,2024/06/05 13:50:31.8699,8.007467778891794,9.252026804976301 +253.709,2024/06/05 13:50:32.1149,7.812162636400727,9.252026804976301 +253.919,2024/06/05 13:50:32.3249,8.644245976709206,9.850549900047882 +253.956,2024/06/05 13:50:32.3619,8.500507084272115,10.414733153886694 +254.202,2024/06/05 13:50:32.6079,8.318999166158218,10.414733153886694 +254.448,2024/06/05 13:50:32.8539,8.097182708584223,10.414733153886694 +254.658,2024/06/05 13:50:33.0639,9.221165059664399,11.853269591129697 +254.695,2024/06/05 13:50:33.1009,9.200762087382222,12.763228431709589 +254.941,2024/06/05 13:50:33.3469,9.000702399161094,12.380091545165032 +255.15,2024/06/05 13:50:33.5559,9.121403400798805,12.343689345842542 +255.187,2024/06/05 13:50:33.5929,8.909248713768253,12.307179476495282 +255.434,2024/06/05 13:50:33.8399,8.657997432451232,12.307179476495282 +255.679,2024/06/05 13:50:34.0849,8.364127013009577,12.307179476495282 +255.889,2024/06/05 13:50:34.2949,8.673118730067578,12.516655570345725 +255.926,2024/06/05 13:50:34.3319,8.36660026534679,12.722683155162935 +256.172,2024/06/05 13:50:34.5779,8.36660026534679,12.382783747337808 +256.418,2024/06/05 13:50:34.8239,8.36660026534679,12.382783747337808 +256.628,2024/06/05 13:50:35.0339,8.320104442321407,12.48332220738267 +257.157,2024/06/05 13:50:35.5629,8.332252803516685,12.45525324244085 +257.366,2024/06/05 13:50:35.7719,8.590893333988355,12.540600729895944 +257.403,2024/06/05 13:50:35.8089,8.556505893386175,12.624051119457125 +257.65,2024/06/05 13:50:36.0559,8.532830444958078,12.622730819174325 +257.859,2024/06/05 13:50:36.2649,8.67610008262836,12.687263955111309 +257.896,2024/06/05 13:50:36.3019,8.825316249101698,12.68857754044952 +258.142,2024/06/05 13:50:36.5479,8.881402498757472,12.683322382824883 +258.389,2024/06/05 13:50:36.7949,8.957691102352568,12.678065046896286 +258.598,2024/06/05 13:50:37.0039,9.184256894967179,13.299122778088286 +258.635,2024/06/05 13:50:37.0409,9.238164220289068,13.892443989449804 +258.881,2024/06/05 13:50:37.2869,9.36126772042352,13.771952173409064 +259.091,2024/06/05 13:50:37.4969,10.643869316329324,15.230451952147273 +259.128,2024/06/05 13:50:37.5339,10.688698511146177,16.661332479726823 +259.374,2024/06/05 13:50:37.7799,10.705890525973713,16.661332479726823 +260.114,2024/06/05 13:50:38.5199,10.099504938367458,16.1245154965971 +260.322,2024/06/05 13:50:38.7279,12.001388808527116,16.18332475111341 +260.569,2024/06/05 13:50:38.9749,13.930698755489479,16.19979423737639 +260.851,2024/06/05 13:50:39.2569,13.930698755489479,17.283903880007358 +261.098,2024/06/05 13:50:39.5039,13.052546323125739,16.330952207388275 +261.307,2024/06/05 13:50:39.7129,13.441272859817065,15.53061492665374 +261.344,2024/06/05 13:50:39.7499,13.441272859817065,15.739546795677864 +261.59,2024/06/05 13:50:39.9959,13.331321687332219,15.559562975867927 +261.837,2024/06/05 13:50:40.2429,13.331321687332219,15.377472700891609 +262.046,2024/06/05 13:50:40.4519,13.594116374376865,15.72471515375292 +262.083,2024/06/05 13:50:40.4889,13.594116374376865,16.064453512854605 +262.785,2024/06/05 13:50:41.1909,19.792167265299106,21.88987589427283 +262.822,2024/06/05 13:50:41.2279,19.792167265299106,26.462552157089206 +263.068,2024/06/05 13:50:41.4739,19.792167265299106,26.462552157089206 +263.277,2024/06/05 13:50:41.6829,21.765442397496336,28.36899716239543 +263.314,2024/06/05 13:50:41.7199,21.805540791173055,30.099833886584822 +263.56,2024/06/05 13:50:41.9659,21.846407421850586,30.097618953443256 +263.807,2024/06/05 13:50:42.2129,21.846407421850586,30.203752526245257 +264.016,2024/06/05 13:50:42.4219,22.177471223860664,30.247864938427195 +264.053,2024/06/05 13:50:42.4589,22.228411973208647,30.327105587796098 +264.3,2024/06/05 13:50:42.7059,22.2399660960653,30.300165016052304 +264.545,2024/06/05 13:50:42.9509,22.2399660960653,30.299614959049674 +264.754,2024/06/05 13:50:43.1599,22.190528164737213,30.32655601943617 +264.791,2024/06/05 13:50:43.1969,22.1797515610625,30.371038836365145 +265.038,2024/06/05 13:50:43.4439,22.08252546776733,30.1042632639742 +265.247,2024/06/05 13:50:43.6529,22.102790170778036,29.840129579700776 +265.284,2024/06/05 13:50:43.6899,22.06781606202196,29.845155944195255 +265.987,2024/06/05 13:50:44.3929,21.46967923460644,29.075763102625526 +266.023,2024/06/05 13:50:44.4289,21.46967923460644,28.379570116546866 +266.269,2024/06/05 13:50:44.6749,21.46967923460644,28.379570116546866 +266.516,2024/06/05 13:50:44.9219,21.485092399205755,28.228826873723722 +266.724,2024/06/05 13:50:45.1299,20.80240923271072,28.299587747291774 +266.762,2024/06/05 13:50:45.1679,19.33316488234477,28.850765443340784 +267.008,2024/06/05 13:50:45.4139,19.27505087430408,28.2146534032702 +267.222,2024/06/05 13:50:45.6279,19.97668180885071,28.970099528076645 +267.255,2024/06/05 13:50:45.6609,19.497981033120595,29.596170923505177 +267.501,2024/06/05 13:50:45.9069,19.415747844673177,29.485589700733474 +267.747,2024/06/05 13:50:46.1529,19.311749743641432,29.52174339928679 +267.956,2024/06/05 13:50:46.3619,19.85177834473251,29.845155944195255 +267.993,2024/06/05 13:50:46.3989,19.812366972615504,29.985552076514004 +268.239,2024/06/05 13:50:46.6449,19.71885730293335,29.804921293862417 +268.486,2024/06/05 13:50:46.8919,14.249823552047197,25.665151470427755 +268.695,2024/06/05 13:50:47.1009,14.484077662980036,20.91889098398861 +268.732,2024/06/05 13:50:47.1379,14.403862828003021,21.12186860420577 +268.979,2024/06/05 13:50:47.3849,11.309847199598677,18.54004674571597 +269.225,2024/06/05 13:50:47.6309,11.309847199598677,15.466091943344964 +269.434,2024/06/05 13:50:47.8399,11.35508392899814,15.470401847829724 +269.47,2024/06/05 13:50:47.8759,11.28344326675734,15.193200233437764 +269.718,2024/06/05 13:50:48.1239,10.518784510879316,15.03551351523009 +269.963,2024/06/05 13:50:48.3689,10.34069074373557,14.875035013964393 +270.21,2024/06/05 13:50:48.6159,10.130470708793148,14.875035013964393 +270.456,2024/06/05 13:50:48.8619,9.886075194875211,14.875035013964393 +270.702,2024/06/05 13:50:49.1079,9.84360461031648,14.820031488945403 +270.949,2024/06/05 13:50:49.3549,9.867862617800492,14.800900873482894 +271.158,2024/06/05 13:50:49.5639,9.966668588787668,14.989996664442591 +271.195,2024/06/05 13:50:49.6009,9.936811857188596,15.166849815743983 +271.442,2024/06/05 13:50:49.8479,9.947910310227797,15.156956598649128 +271.688,2024/06/05 13:50:50.0939,9.977042613442704,15.147056919855201 +271.897,2024/06/05 13:50:50.3029,9.763231517037719,15.070943345833841 +271.934,2024/06/05 13:50:50.3399,9.510369416425819,15.181128636128035 +272.18,2024/06/05 13:50:50.5859,9.24264230519146,15.181128636128035 +272.427,2024/06/05 13:50:50.8329,8.653216796061848,14.086636693452888 +272.635,2024/06/05 13:50:51.0409,8.357046720293223,12.900904361064512 +273.128,2024/06/05 13:50:51.5339,8.286257838471013,13.22749661374618 +273.165,2024/06/05 13:50:51.5709,7.1791524489429746,11.8911731969558 +273.411,2024/06/05 13:50:51.8169,6.832646447122109,9.909591313469996 +273.658,2024/06/05 13:50:52.0639,6.456218600759677,9.909591313469996 +273.867,2024/06/05 13:50:52.2729,6.916912473135984,10.459445491994305 +273.904,2024/06/05 13:50:52.3099,6.08521857106029,10.175133086762715 +274.15,2024/06/05 13:50:52.5559,6.08521857106029,9.183318209303941 +274.396,2024/06/05 13:50:52.8019,6.08521857106029,9.183318209303941 +274.605,2024/06/05 13:50:53.0109,6.011100842062026,9.248423289044103 +274.644,2024/06/05 13:50:53.0499,5.729135057393332,8.843076387773658 +274.889,2024/06/05 13:50:53.2949,5.68725132083265,8.473488065725943 +275.135,2024/06/05 13:50:53.5409,5.68725132083265,8.34665601703261 +275.344,2024/06/05 13:50:53.7499,5.683612255948515,8.418234177466594 +275.381,2024/06/05 13:50:53.7869,5.632010318704259,8.4813520934656 +275.628,2024/06/05 13:50:54.0339,5.608798506789257,8.47938677028003 +275.837,2024/06/05 13:50:54.2429,5.695733430424121,8.495096624916439 +275.874,2024/06/05 13:50:54.2799,5.695733430424121,8.512735557191158 +276.121,2024/06/05 13:50:54.5269,5.695733430424121,8.512735557191158 +276.367,2024/06/05 13:50:54.7729,5.695733430424121,8.512735557191158 +276.576,2024/06/05 13:50:54.9819,6.671262783502253,9.0 +276.613,2024/06/05 13:50:55.0189,6.610336733044925,9.348796714016196 +276.86,2024/06/05 13:50:55.2659,6.479055557690917,9.04249228181405 +277.106,2024/06/05 13:50:55.5119,6.412003829034515,8.72544172711808 +277.315,2024/06/05 13:50:55.7209,7.219386416447659,9.261029460414575 +277.352,2024/06/05 13:50:55.7579,7.116760208281049,9.767292357659825 +277.598,2024/06/05 13:50:56.0039,7.095084910355979,9.59513765751522 +277.807,2024/06/05 13:50:56.2129,7.0404414699688544,9.44810386620864 +277.844,2024/06/05 13:50:56.2499,6.911260177527843,9.476286192385707 +278.091,2024/06/05 13:50:56.4969,6.76875852384509,9.476286192385707 +278.337,2024/06/05 13:50:56.7429,6.650641659483763,9.474527252938094 +278.546,2024/06/05 13:50:56.9519,6.475062685543029,9.04249228181405 +278.583,2024/06/05 13:50:56.9889,6.308177506093028,8.524474568362947 +278.83,2024/06/05 13:50:57.2359,6.124756621961626,8.524474568362947 +279.075,2024/06/05 13:50:57.4809,5.923264089280999,8.524474568362947 +279.285,2024/06/05 13:50:57.6909,5.584152453218973,7.756717518813397 +279.778,2024/06/05 13:50:58.1839,5.819112386405515,6.997618642557386 +279.815,2024/06/05 13:50:58.2209,5.570447473728815,7.389181280764467 +280.061,2024/06/05 13:50:58.4669,5.2962793272960695,7.389181280764467 +280.307,2024/06/05 13:50:58.7129,5.262751345469199,7.307530362578044 +280.553,2024/06/05 13:50:58.9589,4.953113498945164,7.224956747275377 +280.8,2024/06/05 13:50:59.2059,4.953113498945164,7.075780286771677 +281.009,2024/06/05 13:50:59.4149,5.654923599805632,7.726577508832744 +281.046,2024/06/05 13:50:59.4519,5.448715972339222,8.254291812949997 +281.255,2024/06/05 13:50:59.6609,7.242594315153208,9.745084230865666 +281.292,2024/06/05 13:50:59.6979,7.242594315153208,11.090536506409418 +281.539,2024/06/05 13:50:59.9449,7.271816165506676,11.077003204838391 +281.747,2024/06/05 13:51:00.1529,9.121718430566226,12.685950233755978 +282.24,2024/06/05 13:51:00.6459,13.839349197378747,13.6772316887105 +282.277,2024/06/05 13:51:00.6829,13.781380075366183,16.967616214424464 +282.523,2024/06/05 13:51:00.9289,13.674752303965288,16.714265364252977 +282.733,2024/06/05 13:51:01.1389,18.567831532415916,20.725185966194207 +282.77,2024/06/05 13:51:01.1759,18.492496148254023,24.253522080995438 +283.016,2024/06/05 13:51:01.4219,18.413794179691482,24.253522080995438 +283.226,2024/06/05 13:51:01.6319,23.194058890504134,28.141310085590067 +283.263,2024/06/05 13:51:01.6689,23.10455993208384,31.553658002414448 +283.509,2024/06/05 13:51:01.9149,23.012265595029383,31.553658002414448 +283.755,2024/06/05 13:51:02.1609,22.980851599319944,31.545205657912582 +283.964,2024/06/05 13:51:02.3699,27.94372423529132,35.90403877003254 +284.001,2024/06/05 13:51:02.4069,27.835394651457253,39.79489079433858 +284.247,2024/06/05 13:51:02.6529,27.724610420862213,39.79489079433858 +284.457,2024/06/05 13:51:02.8629,32.25660406408581,43.85354413651573 +284.494,2024/06/05 13:51:02.8999,32.133271331080685,47.567145524335736 +284.74,2024/06/05 13:51:03.1459,32.00770381405617,47.567145524335736 +284.949,2024/06/05 13:51:03.3549,35.364197103591565,50.885492366030356 +284.986,2024/06/05 13:51:03.3919,35.32933722794106,53.99259208447025 +285.233,2024/06/05 13:51:03.6389,35.41006091202285,53.972832672249716 +285.688,2024/06/05 13:51:04.0939,37.799774979565775,56.58592286661645 +286.18,2024/06/05 13:51:04.5859,39.877182136811875,56.58710100367397 +286.218,2024/06/05 13:51:04.6239,39.712703894028245,59.239345033516365 +286.463,2024/06/05 13:51:04.8689,39.54611741118088,59.239345033516365 +286.711,2024/06/05 13:51:05.1169,39.377395931484344,59.239345033516365 +286.919,2024/06/05 13:51:05.3249,40.65549120988812,61.022946503753815 +286.956,2024/06/05 13:51:05.3619,40.318858426642414,62.42355324715183 +287.203,2024/06/05 13:51:05.6089,40.46069470599835,62.198606629623676 +287.411,2024/06/05 13:51:05.8169,40.26648302462557,62.564100462379116 +287.449,2024/06/05 13:51:05.8549,39.89935614379886,63.149821852480315 +287.696,2024/06/05 13:51:06.1019,40.08584179786829,62.84398671843366 +287.942,2024/06/05 13:51:06.3479,39.85179440428533,62.64529777511903 +288.151,2024/06/05 13:51:06.5569,39.5196008402762,61.895880315252 +288.187,2024/06/05 13:51:06.5929,39.2573150076421,61.95643630810281 +288.434,2024/06/05 13:51:06.8399,38.58568610785406,60.662179321221224 +288.643,2024/06/05 13:51:07.0489,38.255478159283925,59.37367542382174 +288.68,2024/06/05 13:51:07.0859,37.991242184991364,59.407631384079494 +288.927,2024/06/05 13:51:07.3329,36.773631857623876,57.584141335382725 +289.173,2024/06/05 13:51:07.5789,36.521588639894325,55.70098742392275 diff --git a/data/case-study/processed/hrv_03.csv b/data/case-study/processed/hrv_03.csv index dad5ef6..2abd56c 100755 --- a/data/case-study/processed/hrv_03.csv +++ b/data/case-study/processed/hrv_03.csv @@ -1,1264 +1,1264 @@ reltime,datetime,sdnn,rmssd -0.001,2024/06/13 13:46:34.4369,30.74747048437062,36.53031001676226 -0.001,2024/06/13 13:46:34.4369,30.74747048437062,36.53031001676226 -0.525,2024/06/13 13:46:34.9609,30.74747048437062,36.53031001676226 -1.017,2024/06/13 13:46:35.4529,30.74747048437062,36.53031001676226 -1.426,2024/06/13 13:46:35.8619,30.74747048437062,36.53031001676226 -1.673,2024/06/13 13:46:36.1089,30.74747048437062,36.53031001676226 -1.756,2024/06/13 13:46:36.1919,30.74747048437062,36.53031001676226 -1.919,2024/06/13 13:46:36.3549,30.74747048437062,36.53031001676226 -2.248,2024/06/13 13:46:36.6839,30.74747048437062,36.53031001676226 -2.74,2024/06/13 13:46:37.1759,30.74747048437062,36.53031001676226 -3.726,2024/06/13 13:46:38.1619,30.74747048437062,36.53031001676226 -3.972,2024/06/13 13:46:38.4079,30.74747048437062,36.53031001676226 -4.627,2024/06/13 13:46:39.0629,30.74747048437062,36.53031001676226 -4.874,2024/06/13 13:46:39.3099,30.74747048437062,36.53031001676226 -4.957,2024/06/13 13:46:39.3929,30.74747048437062,36.53031001676226 -5.12,2024/06/13 13:46:39.5559,30.74747048437062,36.53031001676226 -5.45,2024/06/13 13:46:39.8859,30.74747048437062,36.53031001676226 -5.943,2024/06/13 13:46:40.3789,30.74747048437062,36.53031001676226 -6.435,2024/06/13 13:46:40.8709,30.74747048437062,36.53031001676226 -7.174,2024/06/13 13:46:41.6099,30.74747048437062,36.53031001676226 -7.666,2024/06/13 13:46:42.1019,30.74747048437062,36.53031001676226 -7.83,2024/06/13 13:46:42.2659,30.74747048437062,36.53031001676226 -8.076,2024/06/13 13:46:42.5119,30.74747048437062,36.53031001676226 -8.322,2024/06/13 13:46:42.7579,30.74747048437062,36.53031001676226 -8.651,2024/06/13 13:46:43.0869,30.74747048437062,36.53031001676226 -9.143,2024/06/13 13:46:43.5789,30.74747048437062,36.53031001676226 -9.553,2024/06/13 13:46:43.9889,30.74747048437062,36.53031001676226 -9.637,2024/06/13 13:46:44.0729,30.74747048437062,36.53031001676226 -9.799,2024/06/13 13:46:44.2349,30.74747048437062,36.53031001676226 -10.046,2024/06/13 13:46:44.4819,30.74747048437062,36.53031001676226 -10.291,2024/06/13 13:46:44.7269,30.74747048437062,36.53031001676226 -10.375,2024/06/13 13:46:44.8109,30.74747048437062,36.53031001676226 -10.539,2024/06/13 13:46:44.9749,30.74747048437062,36.53031001676226 -10.784,2024/06/13 13:46:45.2199,30.74747048437062,36.53031001676226 -11.36,2024/06/13 13:46:45.7959,30.74747048437062,36.53031001676226 -11.523,2024/06/13 13:46:45.9589,30.74747048437062,36.53031001676226 -11.607,2024/06/13 13:46:46.0429,30.74747048437062,36.53031001676226 -11.769,2024/06/13 13:46:46.2049,30.74747048437062,36.53031001676226 -12.016,2024/06/13 13:46:46.4519,30.74747048437062,36.53031001676226 -12.262,2024/06/13 13:46:46.6979,30.74747048437062,36.53031001676226 -12.346,2024/06/13 13:46:46.7819,30.74747048437062,36.53031001676226 -12.508,2024/06/13 13:46:46.9439,30.74747048437062,36.53031001676226 -12.755,2024/06/13 13:46:47.1909,30.74747048437062,36.53031001676226 -12.838,2024/06/13 13:46:47.2739,30.74747048437062,36.53031001676226 -13.001,2024/06/13 13:46:47.4369,30.74747048437062,36.53031001676226 -13.247,2024/06/13 13:46:47.6829,30.74747048437062,36.53031001676226 -13.493,2024/06/13 13:46:47.9289,30.74747048437062,36.53031001676226 -13.577,2024/06/13 13:46:48.0129,30.74747048437062,36.53031001676226 -13.74,2024/06/13 13:46:48.1759,30.74747048437062,36.53031001676226 -14.07,2024/06/13 13:46:48.5059,30.74747048437062,36.53031001676226 -14.478,2024/06/13 13:46:48.9139,30.74747048437062,36.53031001676226 -14.808,2024/06/13 13:46:49.2439,30.74747048437062,36.53031001676226 -15.301,2024/06/13 13:46:49.7369,30.74747048437062,36.53031001676226 -15.793,2024/06/13 13:46:50.2289,30.74747048437062,36.53031001676226 -16.202,2024/06/13 13:46:50.6379,30.74747048437062,36.53031001676226 -16.449,2024/06/13 13:46:50.8849,30.74747048437062,36.53031001676226 -16.532,2024/06/13 13:46:50.9679,30.74747048437062,36.53031001676226 -16.695,2024/06/13 13:46:51.1309,30.74747048437062,36.53031001676226 -17.025,2024/06/13 13:46:51.4609,30.74747048437062,36.53031001676226 -17.517,2024/06/13 13:46:51.9529,30.74747048437062,36.53031001676226 -18.009,2024/06/13 13:46:52.4449,30.74747048437062,36.53031001676226 -18.748,2024/06/13 13:46:53.1839,30.74747048437062,36.53031001676226 -19.24,2024/06/13 13:46:53.6759,30.74747048437062,36.53031001676226 -19.403,2024/06/13 13:46:53.8389,30.74747048437062,36.53031001676226 -19.65,2024/06/13 13:46:54.0859,30.74747048437062,36.53031001676226 -19.734,2024/06/13 13:46:54.1699,30.74747048437062,36.53031001676226 -19.896,2024/06/13 13:46:54.3319,30.74747048437062,36.53031001676226 -21.705,2024/06/13 13:46:56.1409,30.74747048437062,36.53031001676226 -22.196,2024/06/13 13:46:56.6319,30.74747048437062,36.53031001676226 -22.605,2024/06/13 13:46:57.0409,30.74747048437062,36.53031001676226 -22.851,2024/06/13 13:46:57.2869,30.74747048437062,36.53031001676226 -22.935,2024/06/13 13:46:57.3709,30.74747048437062,36.53031001676226 -23.098,2024/06/13 13:46:57.5339,30.74747048437062,36.53031001676226 -23.428,2024/06/13 13:46:57.8639,30.74747048437062,36.53031001676226 -25.152,2024/06/13 13:46:59.5879,30.74747048437062,36.53031001676226 -25.644,2024/06/13 13:47:00.0799,30.74747048437062,36.53031001676226 -26.053,2024/06/13 13:47:00.4889,30.74747048437062,36.53031001676226 -26.136,2024/06/13 13:47:00.5719,30.74747048437062,36.53031001676226 -26.3,2024/06/13 13:47:00.7359,30.74747048437062,36.53031001676226 -27.122,2024/06/13 13:47:01.5579,30.74747048437062,36.53031001676226 -27.614,2024/06/13 13:47:02.0499,30.74747048437062,36.53031001676226 -28.107,2024/06/13 13:47:02.5429,30.74747048437062,36.53031001676226 -28.599,2024/06/13 13:47:03.0349,30.74747048437062,36.53031001676226 -29.009,2024/06/13 13:47:03.4449,30.74747048437062,36.53031001676226 -29.255,2024/06/13 13:47:03.6909,30.74747048437062,36.53031001676226 -29.338,2024/06/13 13:47:03.7739,30.74747048437062,36.53031001676226 -29.501,2024/06/13 13:47:03.9369,30.74747048437062,36.53031001676226 -29.831,2024/06/13 13:47:04.2669,30.74747048437062,36.53031001676226 -30.815,2024/06/13 13:47:05.2509,30.74747048437062,36.53031001676226 -31.308,2024/06/13 13:47:05.7439,30.74747048437062,36.53031001676226 -31.555,2024/06/13 13:47:05.9909,30.74747048437062,36.53031001676226 -32.047,2024/06/13 13:47:06.4829,30.74747048437062,36.53031001676226 -32.211,2024/06/13 13:47:06.6469,30.74747048437062,36.53031001676226 -32.456,2024/06/13 13:47:06.8919,30.74747048437062,36.53031001676226 -32.703,2024/06/13 13:47:07.1389,30.74747048437062,36.53031001676226 -33.032,2024/06/13 13:47:07.4679,30.74747048437062,36.53031001676226 -33.524,2024/06/13 13:47:07.9599,30.74747048437062,36.53031001676226 -35.249,2024/06/13 13:47:09.6849,30.74747048437062,36.53031001676226 -35.412,2024/06/13 13:47:09.8479,30.74747048437062,36.53031001676226 -35.658,2024/06/13 13:47:10.0939,30.74747048437062,36.53031001676226 -35.741,2024/06/13 13:47:10.1769,30.74747048437062,36.53031001676226 -35.905,2024/06/13 13:47:10.3409,30.74747048437062,36.53031001676226 -36.726,2024/06/13 13:47:11.1619,30.74747048437062,36.53031001676226 -37.218,2024/06/13 13:47:11.6539,30.74747048437062,36.53031001676226 -37.712,2024/06/13 13:47:12.1479,30.74747048437062,36.53031001676226 -38.204,2024/06/13 13:47:12.6399,30.74747048437062,36.53031001676226 -38.943,2024/06/13 13:47:13.3789,30.74747048437062,36.53031001676226 -39.106,2024/06/13 13:47:13.5419,30.74747048437062,36.53031001676226 -39.845,2024/06/13 13:47:14.2809,30.74747048437062,36.53031001676226 -39.927,2024/06/13 13:47:14.3629,30.74747048437062,36.53031001676226 -40.091,2024/06/13 13:47:14.5269,30.74747048437062,36.53031001676226 -40.174,2024/06/13 13:47:14.6099,30.74747048437062,36.53031001676226 -40.338,2024/06/13 13:47:14.7739,30.74747048437062,36.53031001676226 -40.584,2024/06/13 13:47:15.0199,30.74747048437062,36.53031001676226 -40.829,2024/06/13 13:47:15.2649,30.74747048437062,36.53031001676226 -40.913,2024/06/13 13:47:15.3489,30.74747048437062,36.53031001676226 -41.076,2024/06/13 13:47:15.5119,30.74747048437062,36.53031001676226 -41.323,2024/06/13 13:47:15.7589,30.74747048437062,36.53031001676226 -41.406,2024/06/13 13:47:15.8419,30.74747048437062,36.53031001676226 -41.568,2024/06/13 13:47:16.0039,30.74747048437062,36.53031001676226 -41.815,2024/06/13 13:47:16.2509,30.74747048437062,36.53031001676226 -42.062,2024/06/13 13:47:16.4979,30.74747048437062,36.53031001676226 -42.144,2024/06/13 13:47:16.5799,30.74747048437062,36.53031001676226 -42.637,2024/06/13 13:47:17.0729,30.74747048437062,36.53031001676226 -42.801,2024/06/13 13:47:17.2369,30.74747048437062,36.53031001676226 -43.046,2024/06/13 13:47:17.4819,30.74747048437062,36.53031001676226 -43.292,2024/06/13 13:47:17.7279,30.74747048437062,36.53031001676226 -43.375,2024/06/13 13:47:17.8109,30.74747048437062,36.53031001676226 -43.539,2024/06/13 13:47:17.9749,30.74747048437062,36.53031001676226 -43.785,2024/06/13 13:47:18.2209,30.74747048437062,36.53031001676226 -44.032,2024/06/13 13:47:18.4679,30.74747048437062,36.53031001676226 -44.115,2024/06/13 13:47:18.5509,30.74747048437062,36.53031001676226 -44.278,2024/06/13 13:47:18.7139,30.74747048437062,36.53031001676226 -44.524,2024/06/13 13:47:18.9599,30.74747048437062,36.53031001676226 -44.77,2024/06/13 13:47:19.2059,30.74747048437062,36.53031001676226 -46.085,2024/06/13 13:47:20.5209,30.74747048437062,36.53031001676226 -46.578,2024/06/13 13:47:21.0139,30.74747048437062,36.53031001676226 -46.987,2024/06/13 13:47:21.4229,30.74747048437062,36.53031001676226 -47.233,2024/06/13 13:47:21.6689,30.74747048437062,36.53031001676226 -47.316,2024/06/13 13:47:21.7519,30.74747048437062,36.53031001676226 -47.479,2024/06/13 13:47:21.9149,30.74747048437062,36.53031001676226 -47.808,2024/06/13 13:47:22.2439,30.74747048437062,36.53031001676226 -48.794,2024/06/13 13:47:23.2299,30.74747048437062,36.53031001676226 -49.286,2024/06/13 13:47:23.7219,30.74747048437062,36.53031001676226 -49.779,2024/06/13 13:47:24.2149,30.74747048437062,36.53031001676226 -50.188,2024/06/13 13:47:24.6239,30.74747048437062,36.53031001676226 -50.434,2024/06/13 13:47:24.8699,30.74747048437062,36.53031001676226 -50.517,2024/06/13 13:47:24.9529,30.74747048437062,36.53031001676226 -50.681,2024/06/13 13:47:25.1169,30.74747048437062,36.53031001676226 -51.01,2024/06/13 13:47:25.4459,30.74747048437062,36.53031001676226 -51.995,2024/06/13 13:47:26.4309,30.74747048437062,36.53031001676226 -52.734,2024/06/13 13:47:27.1699,30.74747048437062,36.53031001676226 -52.98,2024/06/13 13:47:27.4159,30.74747048437062,36.53031001676226 -53.39,2024/06/13 13:47:27.8259,30.74747048437062,36.53031001676226 -53.637,2024/06/13 13:47:28.0729,30.74747048437062,36.53031001676226 -53.882,2024/06/13 13:47:28.3179,30.74747048437062,36.53031001676226 -54.212,2024/06/13 13:47:28.6479,30.74747048437062,36.53031001676226 -54.705,2024/06/13 13:47:29.1409,30.74747048437062,36.53031001676226 -55.197,2024/06/13 13:47:29.6329,30.74747048437062,36.53031001676226 -55.689,2024/06/13 13:47:30.1249,30.74747048437062,36.53031001676226 -56.428,2024/06/13 13:47:30.8639,30.74747048437062,36.53031001676226 -56.594,2024/06/13 13:47:31.0299,30.74747048437062,36.53031001676226 -56.838,2024/06/13 13:47:31.2739,30.74747048437062,36.53031001676226 -57.084,2024/06/13 13:47:31.5199,30.74747048437062,36.53031001676226 -57.413,2024/06/13 13:47:31.8489,30.74747048437062,36.53031001676226 -57.906,2024/06/13 13:47:32.3419,30.74747048437062,36.53031001676226 -58.398,2024/06/13 13:47:32.8339,30.74747048437062,36.53031001676226 -58.891,2024/06/13 13:47:33.3269,30.74747048437062,36.53031001676226 -59.63,2024/06/13 13:47:34.0659,30.74747048437062,36.53031001676226 -59.794,2024/06/13 13:47:34.2299,30.74747048437062,36.53031001676226 -60.039,2024/06/13 13:47:34.4749,30.74747048437062,36.53031001676226 -60.286,2024/06/13 13:47:34.7219,30.74747048437062,36.53031001676226 -60.615,2024/06/13 13:47:35.0509,30.74747048437062,36.53031001676226 -61.107,2024/06/13 13:47:35.5429,30.74747048437062,36.53031001676226 -61.6,2024/06/13 13:47:36.0359,30.74747048437062,36.53031001676226 -62.584,2024/06/13 13:47:37.0199,30.74747048437062,36.53031001676226 -62.995,2024/06/13 13:47:37.4309,30.74747048437062,36.53031001676226 -63.078,2024/06/13 13:47:37.5139,30.74747048437062,36.53031001676226 -63.241,2024/06/13 13:47:37.6769,30.74747048437062,36.53031001676226 -63.487,2024/06/13 13:47:37.9229,30.74747048437062,36.53031001676226 -64.309,2024/06/13 13:47:38.7449,30.74747048437062,36.53031001676226 -64.802,2024/06/13 13:47:39.2379,30.74747048437062,36.53031001676226 -65.294,2024/06/13 13:47:39.7299,30.74747048437062,36.53031001676226 -65.786,2024/06/13 13:47:40.2219,30.74747048437062,36.53031001676226 -66.196,2024/06/13 13:47:40.6319,30.74747048437062,36.53031001676226 -66.442,2024/06/13 13:47:40.8779,30.74747048437062,36.53031001676226 -66.525,2024/06/13 13:47:40.9609,30.74747048437062,36.53031001676226 -66.689,2024/06/13 13:47:41.1249,30.74747048437062,36.53031001676226 -67.018,2024/06/13 13:47:41.4539,30.74747048437062,36.53031001676226 -68.003,2024/06/13 13:47:42.4389,30.74747048437062,36.53031001676226 -68.495,2024/06/13 13:47:42.9309,30.74747048437062,36.53031001676226 -68.987,2024/06/13 13:47:43.4229,30.74747048437062,36.53031001676226 -69.398,2024/06/13 13:47:43.8339,30.74747048437062,36.53031001676226 -69.644,2024/06/13 13:47:44.0799,30.74747048437062,36.53031001676226 -69.727,2024/06/13 13:47:44.1629,30.74747048437062,36.53031001676226 -69.891,2024/06/13 13:47:44.3269,30.74747048437062,36.53031001676226 -70.137,2024/06/13 13:47:44.5729,30.74747048437062,36.53031001676226 -70.383,2024/06/13 13:47:44.8189,30.74747048437062,36.53031001676226 -70.466,2024/06/13 13:47:44.9019,30.74747048437062,36.53031001676226 -70.958,2024/06/13 13:47:45.3939,30.74747048437062,36.53031001676226 -71.121,2024/06/13 13:47:45.5569,30.74747048437062,36.53031001676226 -71.368,2024/06/13 13:47:45.8039,30.74747048437062,36.53031001676226 -71.614,2024/06/13 13:47:46.0499,30.74747048437062,36.53031001676226 -71.697,2024/06/13 13:47:46.1329,30.74747048437062,36.53031001676226 -71.86,2024/06/13 13:47:46.2959,30.74747048437062,36.53031001676226 -72.107,2024/06/13 13:47:46.5429,30.74747048437062,36.53031001676226 -72.19,2024/06/13 13:47:46.6259,30.74747048437062,36.53031001676226 -72.353,2024/06/13 13:47:46.7889,30.74747048437062,36.53031001676226 -72.6,2024/06/13 13:47:47.0359,30.74747048437062,36.53031001676226 -72.845,2024/06/13 13:47:47.2809,30.74747048437062,36.53031001676226 -73.092,2024/06/13 13:47:47.5279,30.74747048437062,36.53031001676226 -73.338,2024/06/13 13:47:47.7739,30.74747048437062,36.53031001676226 -73.421,2024/06/13 13:47:47.8569,30.74747048437062,36.53031001676226 -73.585,2024/06/13 13:47:48.0209,30.74747048437062,36.53031001676226 -73.667,2024/06/13 13:47:48.1029,30.74747048437062,36.53031001676226 -73.831,2024/06/13 13:47:48.2669,30.74747048437062,36.53031001676226 -74.077,2024/06/13 13:47:48.5129,30.74747048437062,36.53031001676226 -74.16,2024/06/13 13:47:48.5959,30.74747048437062,36.53031001676226 -74.323,2024/06/13 13:47:48.7589,30.74747048437062,36.53031001676226 -74.569,2024/06/13 13:47:49.0049,30.74747048437062,36.53031001676226 -74.816,2024/06/13 13:47:49.2519,30.74747048437062,36.53031001676226 -74.898,2024/06/13 13:47:49.3339,30.74747048437062,36.53031001676226 -75.062,2024/06/13 13:47:49.4979,30.74747048437062,36.53031001676226 -75.391,2024/06/13 13:47:49.8269,30.74747048437062,36.53031001676226 -76.376,2024/06/13 13:47:50.8119,30.74747048437062,36.53031001676226 -76.868,2024/06/13 13:47:51.3039,30.74747048437062,36.53031001676226 -77.361,2024/06/13 13:47:51.7969,30.74747048437062,36.53031001676226 -77.771,2024/06/13 13:47:52.2069,30.74747048437062,36.53031001676226 -78.018,2024/06/13 13:47:52.4539,30.74747048437062,36.53031001676226 -78.1,2024/06/13 13:47:52.5359,30.74747048437062,36.53031001676226 -78.264,2024/06/13 13:47:52.6999,30.74747048437062,36.53031001676226 -78.592,2024/06/13 13:47:53.0279,30.74747048437062,36.53031001676226 -79.577,2024/06/13 13:47:54.0129,30.74747048437062,36.53031001676226 -80.07,2024/06/13 13:47:54.5059,30.74747048437062,36.53031001676226 -80.563,2024/06/13 13:47:54.9989,30.74747048437062,36.53031001676226 -81.055,2024/06/13 13:47:55.4909,30.74747048437062,36.53031001676226 -81.219,2024/06/13 13:47:55.6549,30.74747048437062,36.53031001676226 -81.466,2024/06/13 13:47:55.9019,30.74747048437062,36.53031001676226 -83.272,2024/06/13 13:47:57.7079,30.74747048437062,36.53031001676226 -83.765,2024/06/13 13:47:58.2009,30.74747048437062,36.53031001676226 -84.257,2024/06/13 13:47:58.6929,30.74747048437062,36.53031001676226 -84.667,2024/06/13 13:47:59.1029,30.74747048437062,36.53031001676226 -86.473,2024/06/13 13:48:00.9089,30.74747048437062,36.53031001676226 -86.966,2024/06/13 13:48:01.4019,30.74747048437062,36.53031001676226 -87.705,2024/06/13 13:48:02.1409,30.74747048437062,36.53031001676226 -87.868,2024/06/13 13:48:02.3039,30.74747048437062,36.53031001676226 -88.69,2024/06/13 13:48:03.1259,30.74747048437062,36.53031001676226 -89.182,2024/06/13 13:48:03.6179,30.74747048437062,36.53031001676226 -89.675,2024/06/13 13:48:04.1109,30.74747048437062,36.53031001676226 -90.168,2024/06/13 13:48:04.6039,30.74747048437062,36.53031001676226 -90.578,2024/06/13 13:48:05.0139,30.74747048437062,36.53031001676226 -90.824,2024/06/13 13:48:05.2599,30.74747048437062,36.53031001676226 -90.906,2024/06/13 13:48:05.3419,30.74747048437062,36.53031001676226 -91.07,2024/06/13 13:48:05.5059,30.74747048437062,36.53031001676226 -91.891,2024/06/13 13:48:06.3269,30.74747048437062,36.53031001676226 -92.384,2024/06/13 13:48:06.8199,30.74747048437062,36.53031001676226 -92.876,2024/06/13 13:48:07.3119,30.74747048437062,36.53031001676226 -93.369,2024/06/13 13:48:07.8049,30.74747048437062,36.53031001676226 -93.779,2024/06/13 13:48:08.2149,30.74747048437062,36.53031001676226 -94.025,2024/06/13 13:48:08.4609,30.74747048437062,36.53031001676226 -94.108,2024/06/13 13:48:08.5439,30.74747048437062,36.53031001676226 -94.272,2024/06/13 13:48:08.7079,30.74747048437062,36.53031001676226 -95.093,2024/06/13 13:48:09.5289,30.74747048437062,36.53031001676226 -96.078,2024/06/13 13:48:10.5139,30.74747048437062,36.53031001676226 -96.57,2024/06/13 13:48:11.0059,30.74747048437062,36.53031001676226 -97.063,2024/06/13 13:48:11.4989,30.74747048437062,36.53031001676226 -97.226,2024/06/13 13:48:11.6619,30.74747048437062,36.53031001676226 -97.474,2024/06/13 13:48:11.9099,30.74747048437062,36.53031001676226 -97.802,2024/06/13 13:48:12.2379,30.74747048437062,36.53031001676226 -98.295,2024/06/13 13:48:12.7309,30.74747048437062,36.53031001676226 -99.279,2024/06/13 13:48:13.7149,30.74747048437062,36.53031001676226 -99.772,2024/06/13 13:48:14.2079,30.74747048437062,36.53031001676226 -100.182,2024/06/13 13:48:14.6179,30.74747048437062,36.53031001676226 -100.264,2024/06/13 13:48:14.6999,30.74747048437062,36.53031001676226 -100.428,2024/06/13 13:48:14.8639,30.74747048437062,36.53031001676226 -100.675,2024/06/13 13:48:15.1109,30.74747048437062,36.53031001676226 -100.757,2024/06/13 13:48:15.1929,30.74747048437062,36.53031001676226 -100.921,2024/06/13 13:48:15.3569,30.74747048437062,36.53031001676226 -101.167,2024/06/13 13:48:15.6029,30.74747048437062,36.53031001676226 -101.414,2024/06/13 13:48:15.8499,30.74747048437062,36.53031001676226 -101.496,2024/06/13 13:48:15.9319,30.74747048437062,36.53031001676226 -101.66,2024/06/13 13:48:16.0959,30.74747048437062,36.53031001676226 -101.906,2024/06/13 13:48:16.3419,30.74747048437062,36.53031001676226 -102.153,2024/06/13 13:48:16.5889,30.74747048437062,36.53031001676226 -102.234,2024/06/13 13:48:16.6699,30.74747048437062,36.53031001676226 -102.398,2024/06/13 13:48:16.8339,30.74747048437062,36.53031001676226 -102.645,2024/06/13 13:48:17.0809,30.74747048437062,36.53031001676226 -102.727,2024/06/13 13:48:17.1629,30.74747048437062,36.53031001676226 -102.891,2024/06/13 13:48:17.3269,30.74747048437062,36.53031001676226 -103.138,2024/06/13 13:48:17.5739,30.74747048437062,36.53031001676226 -103.384,2024/06/13 13:48:17.8199,30.74747048437062,36.53031001676226 -103.466,2024/06/13 13:48:17.9019,30.74747048437062,36.53031001676226 -103.63,2024/06/13 13:48:18.0659,30.74747048437062,36.53031001676226 -103.876,2024/06/13 13:48:18.3119,30.74747048437062,36.53031001676226 -104.123,2024/06/13 13:48:18.5589,30.74747048437062,36.53031001676226 -104.368,2024/06/13 13:48:18.8039,30.74747048437062,36.53031001676226 -104.451,2024/06/13 13:48:18.8869,30.74747048437062,36.53031001676226 -104.615,2024/06/13 13:48:19.0509,30.74747048437062,36.53031001676226 -104.697,2024/06/13 13:48:19.1329,30.74747048437062,36.53031001676226 -104.862,2024/06/13 13:48:19.2979,30.74747048437062,36.53031001676226 -105.107,2024/06/13 13:48:19.5429,30.74747048437062,36.53031001676226 -105.354,2024/06/13 13:48:19.7899,30.74747048437062,36.53031001676226 -105.6,2024/06/13 13:48:20.0359,30.74747048437062,36.53031001676226 -105.683,2024/06/13 13:48:20.1189,30.74747048437062,36.53031001676226 -105.846,2024/06/13 13:48:20.2819,30.74747048437062,36.53031001676226 -106.093,2024/06/13 13:48:20.5289,30.74747048437062,36.53031001676226 -106.339,2024/06/13 13:48:20.7749,30.74747048437062,36.53031001676226 -106.421,2024/06/13 13:48:20.8569,30.74747048437062,36.53031001676226 -106.585,2024/06/13 13:48:21.0209,30.74747048437062,36.53031001676226 -106.668,2024/06/13 13:48:21.1039,30.74747048437062,36.53031001676226 -106.832,2024/06/13 13:48:21.2679,30.74747048437062,36.53031001676226 -107.078,2024/06/13 13:48:21.5139,30.74747048437062,36.53031001676226 -107.16,2024/06/13 13:48:21.5959,30.74747048437062,36.53031001676226 -107.324,2024/06/13 13:48:21.7599,30.74747048437062,36.53031001676226 -107.571,2024/06/13 13:48:22.0069,30.74747048437062,36.53031001676226 -107.816,2024/06/13 13:48:22.2519,30.74747048437062,36.53031001676226 -107.899,2024/06/13 13:48:22.3349,30.74747048437062,36.53031001676226 -108.063,2024/06/13 13:48:22.4989,30.74747048437062,36.53031001676226 -108.638,2024/06/13 13:48:23.0739,30.74747048437062,36.53031001676226 -108.802,2024/06/13 13:48:23.2379,30.74747048437062,36.53031001676226 -109.048,2024/06/13 13:48:23.4839,30.74747048437062,36.53031001676226 -109.13,2024/06/13 13:48:23.5659,30.74747048437062,36.53031001676226 -109.295,2024/06/13 13:48:23.7309,30.74747048437062,36.53031001676226 -109.54,2024/06/13 13:48:23.9759,30.74747048437062,36.53031001676226 -109.787,2024/06/13 13:48:24.2229,30.74747048437062,36.53031001676226 -109.869,2024/06/13 13:48:24.3049,30.74747048437062,36.53031001676226 -110.033,2024/06/13 13:48:24.4689,30.74747048437062,36.53031001676226 -110.28,2024/06/13 13:48:24.7159,30.74747048437062,36.53031001676226 -110.525,2024/06/13 13:48:24.9609,30.74747048437062,36.53031001676226 -110.772,2024/06/13 13:48:25.2079,30.74747048437062,36.53031001676226 -110.854,2024/06/13 13:48:25.2899,30.74747048437062,36.53031001676226 -111.018,2024/06/13 13:48:25.4539,30.74747048437062,36.53031001676226 -111.265,2024/06/13 13:48:25.7009,30.74747048437062,36.53031001676226 -111.346,2024/06/13 13:48:25.7819,30.74747048437062,36.53031001676226 -111.51,2024/06/13 13:48:25.9459,30.74747048437062,36.53031001676226 -111.757,2024/06/13 13:48:26.1929,30.74747048437062,36.53031001676226 -111.839,2024/06/13 13:48:26.2749,30.74747048437062,36.53031001676226 -112.003,2024/06/13 13:48:26.4389,30.74747048437062,36.53031001676226 -112.25,2024/06/13 13:48:26.6859,30.74747048437062,36.53031001676226 -112.496,2024/06/13 13:48:26.9319,30.74747048437062,36.53031001676226 -112.578,2024/06/13 13:48:27.0139,30.74747048437062,36.53031001676226 -112.743,2024/06/13 13:48:27.1789,30.74747048437062,36.53031001676226 -112.989,2024/06/13 13:48:27.4249,30.74747048437062,36.53031001676226 -113.235,2024/06/13 13:48:27.6709,30.74747048437062,36.53031001676226 -113.481,2024/06/13 13:48:27.9169,30.74747048437062,36.53031001676226 -113.563,2024/06/13 13:48:27.9989,30.74747048437062,36.53031001676226 -113.727,2024/06/13 13:48:28.1629,30.74747048437062,36.53031001676226 -113.974,2024/06/13 13:48:28.4099,30.74747048437062,36.53031001676226 -114.22,2024/06/13 13:48:28.6559,30.74747048437062,36.53031001676226 -114.302,2024/06/13 13:48:28.7379,30.74747048437062,36.53031001676226 -114.466,2024/06/13 13:48:28.9019,30.74747048437062,36.53031001676226 -114.712,2024/06/13 13:48:29.1479,30.74747048437062,36.53031001676226 -114.959,2024/06/13 13:48:29.3949,30.74747048437062,36.53031001676226 -115.205,2024/06/13 13:48:29.6409,30.74747048437062,36.53031001676226 -115.287,2024/06/13 13:48:29.7229,30.74747048437062,36.53031001676226 -115.452,2024/06/13 13:48:29.8879,30.74747048437062,36.53031001676226 -115.697,2024/06/13 13:48:30.1329,30.74747048437062,36.53031001676226 -115.779,2024/06/13 13:48:30.2149,30.74747048437062,36.53031001676226 -115.944,2024/06/13 13:48:30.3799,30.74747048437062,36.53031001676226 -116.19,2024/06/13 13:48:30.6259,30.74747048437062,36.53031001676226 -116.437,2024/06/13 13:48:30.8729,30.74747048437062,36.53031001676226 -116.519,2024/06/13 13:48:30.9549,30.74747048437062,36.53031001676226 -116.682,2024/06/13 13:48:31.1179,30.74747048437062,36.53031001676226 -116.929,2024/06/13 13:48:31.3649,30.74747048437062,36.53031001676226 -117.175,2024/06/13 13:48:31.6109,30.74747048437062,36.53031001676226 -117.421,2024/06/13 13:48:31.8569,30.74747048437062,36.53031001676226 -117.503,2024/06/13 13:48:31.9389,30.74747048437062,36.53031001676226 -117.668,2024/06/13 13:48:32.1039,30.74747048437062,36.53031001676226 -117.913,2024/06/13 13:48:32.3489,30.74747048437062,36.53031001676226 -117.995,2024/06/13 13:48:32.4309,30.74747048437062,36.53031001676226 -118.16,2024/06/13 13:48:32.5959,30.74747048437062,36.53031001676226 -118.406,2024/06/13 13:48:32.8419,30.74747048437062,36.53031001676226 -118.489,2024/06/13 13:48:32.9249,30.74747048437062,36.53031001676226 -118.653,2024/06/13 13:48:33.0889,30.74747048437062,36.53031001676226 -118.899,2024/06/13 13:48:33.3349,30.74747048437062,36.53031001676226 -119.146,2024/06/13 13:48:33.5819,30.74747048437062,36.53031001676226 -119.227,2024/06/13 13:48:33.6629,30.74747048437062,36.53031001676226 -119.391,2024/06/13 13:48:33.8269,30.74747048437062,36.53031001676226 -119.638,2024/06/13 13:48:34.0739,30.74747048437062,36.53031001676226 -119.884,2024/06/13 13:48:34.3199,30.74747048437062,36.53031001676226 -119.966,2024/06/13 13:48:34.4019,30.74747048437062,36.53031001676226 -120.131,2024/06/13 13:48:34.5669,30.74747048437062,36.53031001676226 -120.377,2024/06/13 13:48:34.8129,30.74747048437062,36.53031001676226 -120.623,2024/06/13 13:48:35.0589,30.74747048437062,36.53031001676226 -120.705,2024/06/13 13:48:35.1409,30.74747048437062,36.53031001676226 -120.869,2024/06/13 13:48:35.3049,30.74747048437062,36.53031001676226 -121.115,2024/06/13 13:48:35.5509,30.74747048437062,36.53031001676226 -121.198,2024/06/13 13:48:35.6339,30.74747048437062,36.53031001676226 -121.362,2024/06/13 13:48:35.7979,30.74747048437062,36.53031001676226 -121.608,2024/06/13 13:48:36.0439,30.74747048437062,36.53031001676226 -121.854,2024/06/13 13:48:36.2899,30.74747048437062,36.53031001676226 -121.937,2024/06/13 13:48:36.3729,30.74747048437062,36.53031001676226 -122.101,2024/06/13 13:48:36.5369,30.74747048437062,36.53031001676226 -122.347,2024/06/13 13:48:36.7829,30.74747048437062,36.53031001676226 -122.593,2024/06/13 13:48:37.0289,30.74747048437062,36.53031001676226 -122.839,2024/06/13 13:48:37.2749,30.74747048437062,36.53031001676226 -122.921,2024/06/13 13:48:37.3569,30.74747048437062,36.53031001676226 -123.085,2024/06/13 13:48:37.5209,30.74747048437062,36.53031001676226 -123.167,2024/06/13 13:48:37.6029,30.74747048437062,36.53031001676226 -123.332,2024/06/13 13:48:37.7679,30.74747048437062,36.53031001676226 -123.578,2024/06/13 13:48:38.0139,30.74747048437062,36.53031001676226 -123.825,2024/06/13 13:48:38.2609,30.74747048437062,36.53031001676226 -123.906,2024/06/13 13:48:38.3419,30.74747048437062,36.53031001676226 -124.07,2024/06/13 13:48:38.5059,30.74747048437062,36.53031001676226 -124.645,2024/06/13 13:48:39.0809,30.74747048437062,36.53031001676226 -124.81,2024/06/13 13:48:39.2459,30.74747048437062,36.53031001676226 -125.138,2024/06/13 13:48:39.5739,30.74747048437062,36.53031001676226 -125.548,2024/06/13 13:48:39.9839,30.74747048437062,36.53031001676226 -125.795,2024/06/13 13:48:40.2309,30.74747048437062,36.53031001676226 -125.876,2024/06/13 13:48:40.3119,30.74747048437062,36.53031001676226 -126.041,2024/06/13 13:48:40.4769,30.74747048437062,36.53031001676226 -126.287,2024/06/13 13:48:40.7229,30.74747048437062,36.53031001676226 -126.534,2024/06/13 13:48:40.9699,30.74747048437062,36.53031001676226 -126.78,2024/06/13 13:48:41.2159,30.74747048437062,36.53031001676226 -126.862,2024/06/13 13:48:41.2979,30.74747048437062,36.53031001676226 -127.026,2024/06/13 13:48:41.4619,30.74747048437062,36.53031001676226 -127.272,2024/06/13 13:48:41.7079,30.74747048437062,36.53031001676226 -127.354,2024/06/13 13:48:41.7899,30.74747048437062,36.53031001676226 -127.519,2024/06/13 13:48:41.9549,30.74747048437062,36.53031001676226 -127.765,2024/06/13 13:48:42.2009,30.74747048437062,36.53031001676226 -127.846,2024/06/13 13:48:42.2819,30.74747048437062,36.53031001676226 -128.011,2024/06/13 13:48:42.4469,30.74747048437062,36.53031001676226 -128.258,2024/06/13 13:48:42.6939,30.74747048437062,36.53031001676226 -128.504,2024/06/13 13:48:42.9399,30.74747048437062,36.53031001676226 -128.586,2024/06/13 13:48:43.0219,30.74747048437062,36.53031001676226 -128.751,2024/06/13 13:48:43.1869,30.74747048437062,36.53031001676226 -128.996,2024/06/13 13:48:43.4319,30.74747048437062,36.53031001676226 -129.243,2024/06/13 13:48:43.6789,30.74747048437062,36.53031001676226 -129.325,2024/06/13 13:48:43.7609,30.74747048437062,36.53031001676226 -129.489,2024/06/13 13:48:43.9249,30.74747048437062,36.53031001676226 -129.735,2024/06/13 13:48:44.1709,30.74747048437062,36.53031001676226 -129.817,2024/06/13 13:48:44.2529,30.74747048437062,36.53031001676226 -129.982,2024/06/13 13:48:44.4179,30.74747048437062,36.53031001676226 -130.228,2024/06/13 13:48:44.6639,30.74747048437062,36.53031001676226 -130.474,2024/06/13 13:48:44.9099,30.74747048437062,36.53031001676226 -130.556,2024/06/13 13:48:44.9919,30.74747048437062,36.53031001676226 -131.048,2024/06/13 13:48:45.4839,30.74747048437062,36.53031001676226 -131.213,2024/06/13 13:48:45.6489,30.74747048437062,36.53031001676226 -131.459,2024/06/13 13:48:45.8949,30.74747048437062,36.53031001676226 -131.705,2024/06/13 13:48:46.1409,30.74747048437062,36.53031001676226 -131.787,2024/06/13 13:48:46.2229,30.74747048437062,36.53031001676226 -131.952,2024/06/13 13:48:46.3879,30.74747048437062,36.53031001676226 -132.198,2024/06/13 13:48:46.6339,30.74747048437062,36.53031001676226 -132.445,2024/06/13 13:48:46.8809,30.74747048437062,36.53031001676226 -132.526,2024/06/13 13:48:46.9619,30.74747048437062,36.53031001676226 -132.69,2024/06/13 13:48:47.1259,30.74747048437062,36.53031001676226 -132.937,2024/06/13 13:48:47.3729,30.74747048437062,36.53031001676226 -133.018,2024/06/13 13:48:47.4539,30.74747048437062,36.53031001676226 -133.183,2024/06/13 13:48:47.6189,30.74747048437062,36.53031001676226 -133.429,2024/06/13 13:48:47.8649,30.74747048437062,36.53031001676226 -133.511,2024/06/13 13:48:47.9469,30.74747048437062,36.53031001676226 -133.675,2024/06/13 13:48:48.1109,30.74747048437062,36.53031001676226 -133.922,2024/06/13 13:48:48.3579,30.74747048437062,36.53031001676226 -134.168,2024/06/13 13:48:48.6039,30.74747048437062,36.53031001676226 -134.25,2024/06/13 13:48:48.6859,30.74747048437062,36.53031001676226 -134.414,2024/06/13 13:48:48.8499,30.74747048437062,36.53031001676226 -134.661,2024/06/13 13:48:49.0969,30.74747048437062,36.53031001676226 -134.907,2024/06/13 13:48:49.3429,30.74747048437062,36.53031001676226 -134.989,2024/06/13 13:48:49.4249,30.74747048437062,36.53031001676226 -135.153,2024/06/13 13:48:49.5889,30.74747048437062,36.53031001676226 -135.4,2024/06/13 13:48:49.8359,30.74747048437062,36.53031001676226 -135.481,2024/06/13 13:48:49.9169,30.74747048437062,36.53031001676226 -135.646,2024/06/13 13:48:50.0819,30.74747048437062,36.53031001676226 -135.892,2024/06/13 13:48:50.3279,30.74747048437062,36.53031001676226 -136.139,2024/06/13 13:48:50.5749,30.74747048437062,36.53031001676226 -136.384,2024/06/13 13:48:50.8199,30.74747048437062,36.53031001676226 -136.466,2024/06/13 13:48:50.9019,30.74747048437062,36.53031001676226 -136.712,2024/06/13 13:48:51.1479,30.74747048437062,36.53031001676226 -137.124,2024/06/13 13:48:51.5599,30.74747048437062,36.53031001676226 -137.369,2024/06/13 13:48:51.8049,30.74747048437062,36.53031001676226 -137.451,2024/06/13 13:48:51.8869,30.74747048437062,36.53031001676226 -137.616,2024/06/13 13:48:52.0519,30.74747048437062,36.53031001676226 -137.863,2024/06/13 13:48:52.2989,30.74747048437062,36.53031001676226 -138.109,2024/06/13 13:48:52.5449,30.74747048437062,36.53031001676226 -138.19,2024/06/13 13:48:52.6259,30.74747048437062,36.53031001676226 -138.355,2024/06/13 13:48:52.7909,30.74747048437062,36.53031001676226 -138.601,2024/06/13 13:48:53.0369,30.74747048437062,36.53031001676226 -138.682,2024/06/13 13:48:53.1179,30.74747048437062,36.53031001676226 -138.847,2024/06/13 13:48:53.2829,30.74747048437062,36.53031001676226 -139.094,2024/06/13 13:48:53.5299,30.74747048437062,36.53031001676226 -139.34,2024/06/13 13:48:53.7759,30.74747048437062,36.53031001676226 -139.422,2024/06/13 13:48:53.8579,30.74747048437062,36.53031001676226 -139.586,2024/06/13 13:48:54.0219,30.74747048437062,36.53031001676226 -139.832,2024/06/13 13:48:54.2679,30.74747048437062,36.53031001676226 -139.914,2024/06/13 13:48:54.3499,30.74747048437062,36.53031001676226 -140.08,2024/06/13 13:48:54.5159,30.74747048437062,36.53031001676226 -140.325,2024/06/13 13:48:54.7609,30.74747048437062,36.53031001676226 -140.572,2024/06/13 13:48:55.0079,30.74747048437062,36.53031001676226 -140.652,2024/06/13 13:48:55.0879,30.74747048437062,36.53031001676226 -140.818,2024/06/13 13:48:55.2539,30.74747048437062,36.53031001676226 -141.146,2024/06/13 13:48:55.5819,30.74747048437062,36.53031001676226 -141.557,2024/06/13 13:48:55.9929,30.74747048437062,36.53031001676226 -141.803,2024/06/13 13:48:56.2389,30.74747048437062,36.53031001676226 -141.884,2024/06/13 13:48:56.3199,30.74747048437062,36.53031001676226 -142.049,2024/06/13 13:48:56.4849,30.74747048437062,36.53031001676226 -142.295,2024/06/13 13:48:56.7309,30.74747048437062,36.53031001676226 -142.377,2024/06/13 13:48:56.8129,30.74747048437062,36.53031001676226 -142.542,2024/06/13 13:48:56.9779,30.74747048437062,36.53031001676226 -142.788,2024/06/13 13:48:57.2239,30.74747048437062,36.53031001676226 -143.034,2024/06/13 13:48:57.4699,30.74747048437062,36.53031001676226 -143.281,2024/06/13 13:48:57.7169,30.74747048437062,36.53031001676226 -143.361,2024/06/13 13:48:57.7969,30.74747048437062,36.53031001676226 -143.527,2024/06/13 13:48:57.9629,30.74747048437062,36.53031001676226 -143.773,2024/06/13 13:48:58.2089,30.74747048437062,36.53031001676226 -143.855,2024/06/13 13:48:58.2909,30.74747048437062,36.53031001676226 -144.019,2024/06/13 13:48:58.4549,30.74747048437062,36.53031001676226 -144.266,2024/06/13 13:48:58.7019,30.74747048437062,36.53031001676226 -144.347,2024/06/13 13:48:58.7829,30.74747048437062,36.53031001676226 -144.512,2024/06/13 13:48:58.9479,30.74747048437062,36.53031001676226 -144.758,2024/06/13 13:48:59.1939,30.74747048437062,36.53031001676226 -145.005,2024/06/13 13:48:59.4409,30.74747048437062,36.53031001676226 -145.086,2024/06/13 13:48:59.5219,30.74747048437062,36.53031001676226 -145.25,2024/06/13 13:48:59.6859,30.74747048437062,36.53031001676226 -145.497,2024/06/13 13:48:59.9329,30.74747048437062,36.53031001676226 -145.743,2024/06/13 13:49:00.1789,30.74747048437062,36.53031001676226 -145.825,2024/06/13 13:49:00.2609,30.74747048437062,36.53031001676226 -145.99,2024/06/13 13:49:00.4259,30.74747048437062,36.53031001676226 -146.235,2024/06/13 13:49:00.6709,30.74747048437062,36.53031001676226 -146.317,2024/06/13 13:49:00.7529,30.74747048437062,36.53031001676226 -146.482,2024/06/13 13:49:00.9179,30.74747048437062,36.53031001676226 -146.728,2024/06/13 13:49:01.1639,30.74747048437062,36.53031001676226 -146.974,2024/06/13 13:49:01.4099,30.74747048437062,36.53031001676226 -147.056,2024/06/13 13:49:01.4919,30.74747048437062,36.53031001676226 -147.221,2024/06/13 13:49:01.6569,30.74747048437062,36.53031001676226 -147.467,2024/06/13 13:49:01.9029,30.74747048437062,36.53031001676226 -147.713,2024/06/13 13:49:02.1489,30.74747048437062,36.53031001676226 -147.795,2024/06/13 13:49:02.2309,30.74747048437062,36.53031001676226 -147.96,2024/06/13 13:49:02.3959,30.74747048437062,36.53031001676226 -148.205,2024/06/13 13:49:02.6409,30.74747048437062,36.53031001676226 -148.287,2024/06/13 13:49:02.7229,30.74747048437062,36.53031001676226 -148.452,2024/06/13 13:49:02.8879,30.74747048437062,36.53031001676226 -148.698,2024/06/13 13:49:03.1339,30.74747048437062,36.53031001676226 -148.944,2024/06/13 13:49:03.3799,30.74747048437062,36.53031001676226 -149.026,2024/06/13 13:49:03.4619,30.74747048437062,36.53031001676226 -149.191,2024/06/13 13:49:03.6269,30.74747048437062,36.53031001676226 -149.437,2024/06/13 13:49:03.8729,30.74747048437062,36.53031001676226 -149.519,2024/06/13 13:49:03.9549,30.74747048437062,36.53031001676226 -150.176,2024/06/13 13:49:04.6119,30.74747048437062,36.53031001676226 -150.257,2024/06/13 13:49:04.6929,30.74747048437062,36.53031001676226 -150.423,2024/06/13 13:49:04.8589,30.74747048437062,36.53031001676226 -150.669,2024/06/13 13:49:05.1049,30.74747048437062,36.53031001676226 -150.75,2024/06/13 13:49:05.1859,30.74747048437062,36.53031001676226 -150.915,2024/06/13 13:49:05.3509,30.74747048437062,36.53031001676226 -151.161,2024/06/13 13:49:05.5969,30.74747048437062,36.53031001676226 -151.407,2024/06/13 13:49:05.8429,30.74747048437062,36.53031001676226 -151.489,2024/06/13 13:49:05.9249,30.74747048437062,36.53031001676226 -151.653,2024/06/13 13:49:06.0889,30.74747048437062,36.53031001676226 -151.9,2024/06/13 13:49:06.3359,30.74747048437062,36.53031001676226 -151.981,2024/06/13 13:49:06.4169,30.74747048437062,36.53031001676226 -152.146,2024/06/13 13:49:06.5819,30.74747048437062,36.53031001676226 -152.392,2024/06/13 13:49:06.8279,30.74747048437062,36.53031001676226 -152.639,2024/06/13 13:49:07.0749,30.74747048437062,36.53031001676226 -152.72,2024/06/13 13:49:07.1559,30.74747048437062,36.53031001676226 -152.885,2024/06/13 13:49:07.3209,30.74747048437062,36.53031001676226 -153.132,2024/06/13 13:49:07.5679,30.74747048437062,36.53031001676226 -153.213,2024/06/13 13:49:07.6489,30.74747048437062,36.53031001676226 -153.87,2024/06/13 13:49:08.3059,30.74747048437062,36.53031001676226 -153.951,2024/06/13 13:49:08.3869,30.74747048437062,36.53031001676226 -154.116,2024/06/13 13:49:08.5519,30.74747048437062,36.53031001676226 -154.363,2024/06/13 13:49:08.7989,30.74747048437062,36.53031001676226 -154.444,2024/06/13 13:49:08.8799,30.74747048437062,36.53031001676226 -154.609,2024/06/13 13:49:09.0449,30.74747048437062,36.53031001676226 -154.856,2024/06/13 13:49:09.2919,30.74747048437062,36.53031001676226 -155.101,2024/06/13 13:49:09.5369,30.74747048437062,36.53031001676226 -155.183,2024/06/13 13:49:09.6189,30.74747048437062,36.53031001676226 -155.348,2024/06/13 13:49:09.7839,30.74747048437062,36.53031001676226 -155.594,2024/06/13 13:49:10.0299,30.74747048437062,36.53031001676226 -155.676,2024/06/13 13:49:10.1119,30.74747048437062,36.53031001676226 -155.841,2024/06/13 13:49:10.2769,30.74747048437062,36.53031001676226 -156.086,2024/06/13 13:49:10.5219,30.74747048437062,36.53031001676226 -156.332,2024/06/13 13:49:10.7679,30.74747048437062,36.53031001676226 -156.414,2024/06/13 13:49:10.8499,30.74747048437062,36.53031001676226 -156.579,2024/06/13 13:49:11.0149,30.74747048437062,36.53031001676226 -156.825,2024/06/13 13:49:11.2609,30.74747048437062,36.53031001676226 -156.907,2024/06/13 13:49:11.3429,30.74747048437062,36.53031001676226 -157.072,2024/06/13 13:49:11.5079,30.74747048437062,36.53031001676226 -157.318,2024/06/13 13:49:11.7539,30.74747048437062,36.53031001676226 -157.564,2024/06/13 13:49:11.9999,30.74747048437062,36.53031001676226 -157.811,2024/06/13 13:49:12.2469,30.74747048437062,36.53031001676226 -157.892,2024/06/13 13:49:12.3279,30.74747048437062,36.53031001676226 -158.057,2024/06/13 13:49:12.4929,30.74747048437062,36.53031001676226 -158.138,2024/06/13 13:49:12.5739,30.74747048437062,36.53031001676226 -158.303,2024/06/13 13:49:12.7389,30.74747048437062,36.53031001676226 -158.549,2024/06/13 13:49:12.9849,30.74747048437062,36.53031001676226 -158.796,2024/06/13 13:49:13.2319,30.74747048437062,36.53031001676226 -158.878,2024/06/13 13:49:13.3139,30.74747048437062,36.53031001676226 -159.042,2024/06/13 13:49:13.4779,30.74747048437062,36.53031001676226 -159.288,2024/06/13 13:49:13.7239,30.74747048437062,36.53031001676226 -159.534,2024/06/13 13:49:13.9699,30.74747048437062,36.53031001676226 -159.616,2024/06/13 13:49:14.0519,30.74747048437062,36.53031001676226 -159.781,2024/06/13 13:49:14.2169,30.74747048437062,36.53031001676226 -160.027,2024/06/13 13:49:14.4629,30.74747048437062,36.53031001676226 -160.108,2024/06/13 13:49:14.5439,30.74747048437062,36.53031001676226 -160.274,2024/06/13 13:49:14.7099,30.74747048437062,36.53031001676226 -160.519,2024/06/13 13:49:14.9549,30.74747048437062,36.53031001676226 -160.601,2024/06/13 13:49:15.0369,30.74747048437062,36.53031001676226 -160.765,2024/06/13 13:49:15.2009,30.74747048437062,36.53031001676226 -161.012,2024/06/13 13:49:15.4479,30.74747048437062,36.53031001676226 -161.096,2024/06/13 13:49:15.5319,30.74747048437062,36.53031001676226 -161.259,2024/06/13 13:49:15.6949,30.74747048437062,36.53031001676226 -161.505,2024/06/13 13:49:15.9409,30.74747048437062,36.53031001676226 -161.751,2024/06/13 13:49:16.1869,30.74747048437062,36.53031001676226 -161.832,2024/06/13 13:49:16.2679,30.74747048437062,36.53031001676226 -161.997,2024/06/13 13:49:16.4329,30.74747048437062,36.53031001676226 -162.244,2024/06/13 13:49:16.6799,30.74747048437062,36.53031001676226 -162.324,2024/06/13 13:49:16.7599,30.74747048437062,36.53031001676226 -162.49,2024/06/13 13:49:16.9259,30.74747048437062,36.53031001676226 -163.064,2024/06/13 13:49:17.4999,30.74747048437062,36.53031001676226 -163.229,2024/06/13 13:49:17.6649,30.74747048437062,36.53031001676226 -163.475,2024/06/13 13:49:17.9109,30.74747048437062,36.53031001676226 -163.556,2024/06/13 13:49:17.9919,30.74747048437062,36.53031001676226 -163.721,2024/06/13 13:49:18.1569,30.74747048437062,36.53031001676226 -163.968,2024/06/13 13:49:18.4039,30.74747048437062,36.53031001676226 -164.214,2024/06/13 13:49:18.6499,30.74747048437062,36.53031001676226 -164.295,2024/06/13 13:49:18.7309,30.74747048437062,36.53031001676226 -164.46,2024/06/13 13:49:18.8959,30.74747048437062,36.53031001676226 -164.706,2024/06/13 13:49:19.1419,30.74747048437062,36.53031001676226 -164.953,2024/06/13 13:49:19.3889,30.74747048437062,36.53031001676226 -165.033,2024/06/13 13:49:19.4689,30.74747048437062,36.53031001676226 -165.199,2024/06/13 13:49:19.6349,30.74747048437062,36.53031001676226 -165.446,2024/06/13 13:49:19.8819,30.74747048437062,36.53031001676226 -165.527,2024/06/13 13:49:19.9629,30.74747048437062,36.53031001676226 -165.691,2024/06/13 13:49:20.1269,30.74747048437062,36.53031001676226 -165.938,2024/06/13 13:49:20.3739,30.74747048437062,36.53031001676226 -166.184,2024/06/13 13:49:20.6199,30.74747048437062,36.53031001676226 -166.266,2024/06/13 13:49:20.7019,30.74747048437062,36.53031001676226 -166.43,2024/06/13 13:49:20.8659,30.74747048437062,36.53031001676226 -166.677,2024/06/13 13:49:21.1129,30.74747048437062,36.53031001676226 -166.923,2024/06/13 13:49:21.3589,30.74747048437062,36.53031001676226 -167.004,2024/06/13 13:49:21.4399,30.74747048437062,36.53031001676226 -167.169,2024/06/13 13:49:21.6049,30.74747048437062,36.53031001676226 -167.415,2024/06/13 13:49:21.8509,30.74747048437062,36.53031001676226 -167.662,2024/06/13 13:49:22.0979,30.74747048437062,36.53031001676226 -167.742,2024/06/13 13:49:22.1779,30.74747048437062,36.53031001676226 -167.908,2024/06/13 13:49:22.3439,30.74747048437062,36.53031001676226 -168.154,2024/06/13 13:49:22.5899,30.74747048437062,36.53031001676226 -168.236,2024/06/13 13:49:22.6719,30.74747048437062,36.53031001676226 -168.401,2024/06/13 13:49:22.8369,30.74747048437062,36.53031001676226 -168.974,2024/06/13 13:49:23.4099,30.74747048437062,36.53031001676226 -169.14,2024/06/13 13:49:23.5759,30.74747048437062,36.53031001676226 -169.385,2024/06/13 13:49:23.8209,30.74747048437062,36.53031001676226 -169.632,2024/06/13 13:49:24.0679,30.74747048437062,36.53031001676226 -169.878,2024/06/13 13:49:24.3139,30.74747048437062,36.53031001676226 -169.959,2024/06/13 13:49:24.3949,30.74747048437062,36.53031001676226 -170.124,2024/06/13 13:49:24.5599,30.74747048437062,36.53031001676226 -170.206,2024/06/13 13:49:24.6419,30.74747048437062,36.53031001676226 -170.37,2024/06/13 13:49:24.8059,30.74747048437062,36.53031001676226 -170.617,2024/06/13 13:49:25.0529,30.74747048437062,36.53031001676226 -170.698,2024/06/13 13:49:25.1339,30.74747048437062,36.53031001676226 -170.863,2024/06/13 13:49:25.2989,30.74747048437062,36.53031001676226 -171.109,2024/06/13 13:49:25.5449,30.74747048437062,36.53031001676226 -171.356,2024/06/13 13:49:25.7919,30.74747048437062,36.53031001676226 -171.437,2024/06/13 13:49:25.8729,30.74747048437062,36.53031001676226 -171.602,2024/06/13 13:49:26.0379,30.74747048437062,36.53031001676226 -171.848,2024/06/13 13:49:26.2839,30.74747048437062,36.53031001676226 -171.93,2024/06/13 13:49:26.3659,30.74747048437062,36.53031001676226 -172.095,2024/06/13 13:49:26.5309,30.74747048437062,36.53031001676226 -172.341,2024/06/13 13:49:26.7769,30.74747048437062,36.53031001676226 -172.587,2024/06/13 13:49:27.0229,30.74747048437062,36.53031001676226 -172.669,2024/06/13 13:49:27.1049,30.74747048437062,36.53031001676226 -172.833,2024/06/13 13:49:27.2689,30.74747048437062,36.53031001676226 -173.079,2024/06/13 13:49:27.5149,30.74747048437062,36.53031001676226 -173.161,2024/06/13 13:49:27.5969,30.74747048437062,36.53031001676226 -173.326,2024/06/13 13:49:27.7619,30.74747048437062,36.53031001676226 -173.572,2024/06/13 13:49:28.0079,30.74747048437062,36.53031001676226 -173.654,2024/06/13 13:49:28.0899,30.74747048437062,36.53031001676226 -173.818,2024/06/13 13:49:28.2539,30.74747048437062,36.53031001676226 -174.065,2024/06/13 13:49:28.5009,30.74747048437062,36.53031001676226 -174.311,2024/06/13 13:49:28.7469,30.74747048437062,36.53031001676226 -174.392,2024/06/13 13:49:28.8279,30.74747048437062,36.53031001676226 -174.557,2024/06/13 13:49:28.9929,30.74747048437062,36.53031001676226 -174.803,2024/06/13 13:49:29.2389,30.74747048437062,36.53031001676226 -174.884,2024/06/13 13:49:29.3199,30.74747048437062,36.53031001676226 -175.05,2024/06/13 13:49:29.4859,30.74747048437062,36.53031001676226 -175.296,2024/06/13 13:49:29.7319,30.74747048437062,36.53031001676226 -175.377,2024/06/13 13:49:29.8129,30.74747048437062,36.53031001676226 -175.542,2024/06/13 13:49:29.9779,30.74747048437062,36.53031001676226 -175.789,2024/06/13 13:49:30.2249,30.74747048437062,36.53031001676226 -176.035,2024/06/13 13:49:30.4709,30.74747048437062,36.53031001676226 -176.116,2024/06/13 13:49:30.5519,30.74747048437062,36.53031001676226 -176.281,2024/06/13 13:49:30.7169,30.74747048437062,36.53031001676226 -176.527,2024/06/13 13:49:30.9629,30.74747048437062,36.53031001676226 -176.609,2024/06/13 13:49:31.0449,30.74747048437062,36.53031001676226 -176.774,2024/06/13 13:49:31.2099,30.74747048437062,36.53031001676226 -177.02,2024/06/13 13:49:31.4559,30.74747048437062,36.53031001676226 -177.266,2024/06/13 13:49:31.7019,30.74747048437062,36.53031001676226 -177.348,2024/06/13 13:49:31.7839,30.74747048437062,36.53031001676226 -177.512,2024/06/13 13:49:31.9479,30.74747048437062,36.53031001676226 -177.759,2024/06/13 13:49:32.1949,30.74747048437062,36.53031001676226 -178.005,2024/06/13 13:49:32.4409,30.74747048437062,36.53031001676226 -178.086,2024/06/13 13:49:32.5219,30.74747048437062,36.53031001676226 -178.252,2024/06/13 13:49:32.6879,30.74747048437062,36.53031001676226 -178.498,2024/06/13 13:49:32.9339,30.74747048437062,36.53031001676226 -178.578,2024/06/13 13:49:33.0139,30.74747048437062,36.53031001676226 -178.744,2024/06/13 13:49:33.1799,30.74747048437062,36.53031001676226 -178.991,2024/06/13 13:49:33.4269,30.74747048437062,36.53031001676226 -179.071,2024/06/13 13:49:33.5069,30.74747048437062,36.53031001676226 -179.237,2024/06/13 13:49:33.6729,30.74747048437062,36.53031001676226 -179.483,2024/06/13 13:49:33.9189,30.74747048437062,36.53031001676226 -179.729,2024/06/13 13:49:34.1649,30.74747048437062,36.53031001676226 -179.81,2024/06/13 13:49:34.2459,30.74747048437062,36.53031001676226 -179.975,2024/06/13 13:49:34.4109,30.74747048437062,36.53031001676226 -180.222,2024/06/13 13:49:34.6579,30.74747048437062,36.53031001676226 -180.302,2024/06/13 13:49:34.7379,30.74747048437062,36.53031001676226 -180.468,2024/06/13 13:49:34.9039,30.74747048437062,36.53031001676226 -180.714,2024/06/13 13:49:35.1499,30.74747048437062,36.53031001676226 -180.96,2024/06/13 13:49:35.3959,30.74747048437062,36.53031001676226 -181.206,2024/06/13 13:49:35.6419,30.74747048437062,36.53031001676226 -181.287,2024/06/13 13:49:35.7229,30.74747048437062,36.53031001676226 -181.453,2024/06/13 13:49:35.8889,30.74747048437062,36.53031001676226 -181.534,2024/06/13 13:49:35.9699,30.74747048437062,36.53031001676226 -182.191,2024/06/13 13:49:36.6269,30.74747048437062,36.53031001676226 -182.273,2024/06/13 13:49:36.7089,30.74747048437062,36.53031001676226 -182.438,2024/06/13 13:49:36.8739,30.74747048437062,36.53031001676226 -182.685,2024/06/13 13:49:37.1209,30.74747048437062,36.53031001676226 -182.765,2024/06/13 13:49:37.2009,30.74747048437062,36.53031001676226 -182.93,2024/06/13 13:49:37.3659,30.74747048437062,36.53031001676226 -183.177,2024/06/13 13:49:37.6129,30.74747048437062,36.53031001676226 -183.423,2024/06/13 13:49:37.8589,30.74747048437062,36.53031001676226 -183.504,2024/06/13 13:49:37.9399,30.74747048437062,36.53031001676226 -183.67,2024/06/13 13:49:38.1059,30.74747048437062,36.53031001676226 -183.915,2024/06/13 13:49:38.3509,30.74747048437062,36.53031001676226 -183.997,2024/06/13 13:49:38.4329,30.74747048437062,36.53031001676226 -184.162,2024/06/13 13:49:38.5979,30.74747048437062,36.53031001676226 -184.408,2024/06/13 13:49:38.8439,30.74747048437062,36.53031001676226 -184.655,2024/06/13 13:49:39.0909,30.74747048437062,36.53031001676226 -184.735,2024/06/13 13:49:39.1709,30.74747048437062,36.53031001676226 -184.901,2024/06/13 13:49:39.3369,30.74747048437062,36.53031001676226 -185.147,2024/06/13 13:49:39.5829,30.74747048437062,36.53031001676226 -185.228,2024/06/13 13:49:39.6639,30.74747048437062,36.53031001676226 -185.393,2024/06/13 13:49:39.8289,30.74747048437062,36.53031001676226 -185.64,2024/06/13 13:49:40.0759,30.74747048437062,36.53031001676226 -185.886,2024/06/13 13:49:40.3219,30.74747048437062,36.53031001676226 -185.966,2024/06/13 13:49:40.4019,30.74747048437062,36.53031001676226 -186.133,2024/06/13 13:49:40.5689,30.74747048437062,36.53031001676226 -186.378,2024/06/13 13:49:40.8139,30.74747048437062,36.53031001676226 -186.625,2024/06/13 13:49:41.0609,30.74747048437062,36.53031001676226 -186.706,2024/06/13 13:49:41.1419,30.74747048437062,36.53031001676226 -186.871,2024/06/13 13:49:41.3069,30.74747048437062,36.53031001676226 -187.117,2024/06/13 13:49:41.5529,30.74747048437062,36.53031001676226 -187.199,2024/06/13 13:49:41.6349,30.74747048437062,36.53031001676226 -187.363,2024/06/13 13:49:41.7989,30.74747048437062,36.53031001676226 -187.61,2024/06/13 13:49:42.0459,30.74747048437062,36.53031001676226 -187.856,2024/06/13 13:49:42.2919,30.74747048437062,36.53031001676226 -187.937,2024/06/13 13:49:42.3729,30.74747048437062,36.53031001676226 -188.102,2024/06/13 13:49:42.5379,30.74747048437062,36.53031001676226 -188.348,2024/06/13 13:49:42.7839,30.74747048437062,36.53031001676226 -188.595,2024/06/13 13:49:43.0309,30.74747048437062,36.53031001676226 -188.676,2024/06/13 13:49:43.1119,30.74747048437062,36.53031001676226 -188.843,2024/06/13 13:49:43.2789,30.74747048437062,36.53031001676226 -189.087,2024/06/13 13:49:43.5229,30.74747048437062,36.53031001676226 -189.169,2024/06/13 13:49:43.6049,30.74747048437062,36.53031001676226 -189.333,2024/06/13 13:49:43.7689,30.74747048437062,36.53031001676226 -189.58,2024/06/13 13:49:44.0159,30.74747048437062,36.53031001676226 -189.826,2024/06/13 13:49:44.2619,30.74747048437062,36.53031001676226 -189.907,2024/06/13 13:49:44.3429,30.74747048437062,36.53031001676226 -190.073,2024/06/13 13:49:44.5089,30.74747048437062,36.53031001676226 -190.4,2024/06/13 13:49:44.8359,30.74747048437062,36.53031001676226 -190.812,2024/06/13 13:49:45.2479,30.74747048437062,36.53031001676226 -191.058,2024/06/13 13:49:45.4939,30.74747048437062,36.53031001676226 -191.139,2024/06/13 13:49:45.5749,30.74747048437062,36.53031001676226 -191.304,2024/06/13 13:49:45.7399,30.74747048437062,36.53031001676226 -191.55,2024/06/13 13:49:45.9859,30.74747048437062,36.53031001676226 -191.796,2024/06/13 13:49:46.2319,30.74747048437062,36.53031001676226 -191.877,2024/06/13 13:49:46.3129,30.74747048437062,36.53031001676226 -192.043,2024/06/13 13:49:46.4789,30.74747048437062,36.53031001676226 -192.289,2024/06/13 13:49:46.7249,30.74747048437062,36.53031001676226 -192.535,2024/06/13 13:49:46.9709,30.74747048437062,36.53031001676226 -192.617,2024/06/13 13:49:47.0529,30.74747048437062,36.53031001676226 -192.782,2024/06/13 13:49:47.2179,30.74747048437062,36.53031001676226 -192.863,2024/06/13 13:49:47.2989,30.74747048437062,36.53031001676226 -193.028,2024/06/13 13:49:47.4639,30.74747048437062,36.53031001676226 -193.274,2024/06/13 13:49:47.7099,30.74747048437062,36.53031001676226 -193.52,2024/06/13 13:49:47.9559,30.74747048437062,36.53031001676226 -193.601,2024/06/13 13:49:48.0369,30.74747048437062,36.53031001676226 -193.767,2024/06/13 13:49:48.2029,30.74747048437062,36.53031001676226 -194.014,2024/06/13 13:49:48.4499,30.74747048437062,36.53031001676226 -194.094,2024/06/13 13:49:48.5299,30.74747048437062,36.53031001676226 -194.259,2024/06/13 13:49:48.6949,30.74747048437062,36.53031001676226 -194.506,2024/06/13 13:49:48.9419,30.74747048437062,36.53031001676226 -194.752,2024/06/13 13:49:49.1879,30.74747048437062,36.53031001676226 -194.833,2024/06/13 13:49:49.2689,30.74747048437062,36.53031001676226 -194.998,2024/06/13 13:49:49.4339,30.74747048437062,36.53031001676226 -195.245,2024/06/13 13:49:49.6809,30.74747048437062,36.53031001676226 -195.491,2024/06/13 13:49:49.9269,30.74747048437062,36.53031001676226 -195.572,2024/06/13 13:49:50.0079,30.74747048437062,36.53031001676226 -195.737,2024/06/13 13:49:50.1729,30.74747048437062,36.53031001676226 -195.983,2024/06/13 13:49:50.4189,30.74747048437062,36.53031001676226 -196.064,2024/06/13 13:49:50.4999,30.74747048437062,36.53031001676226 -196.23,2024/06/13 13:49:50.6659,30.74747048437062,36.53031001676226 -196.476,2024/06/13 13:49:50.9119,30.74747048437062,36.53031001676226 -196.723,2024/06/13 13:49:51.1589,30.74747048437062,36.53031001676226 -196.803,2024/06/13 13:49:51.2389,30.74747048437062,36.53031001676226 -196.968,2024/06/13 13:49:51.4039,30.74747048437062,36.53031001676226 -197.215,2024/06/13 13:49:51.6509,30.74747048437062,36.53031001676226 -197.296,2024/06/13 13:49:51.7319,30.74747048437062,36.53031001676226 -197.461,2024/06/13 13:49:51.8969,30.74747048437062,36.53031001676226 -197.707,2024/06/13 13:49:52.1429,30.74747048437062,36.53031001676226 -197.954,2024/06/13 13:49:52.3899,30.74747048437062,36.53031001676226 -198.034,2024/06/13 13:49:52.4699,30.74747048437062,36.53031001676226 -198.2,2024/06/13 13:49:52.6359,30.74747048437062,36.53031001676226 -198.446,2024/06/13 13:49:52.8819,30.74747048437062,36.53031001676226 -198.692,2024/06/13 13:49:53.1279,30.74747048437062,36.53031001676226 -198.773,2024/06/13 13:49:53.2089,30.74747048437062,36.53031001676226 -198.938,2024/06/13 13:49:53.3739,30.74747048437062,36.53031001676226 -199.185,2024/06/13 13:49:53.6209,30.74747048437062,36.53031001676226 -199.266,2024/06/13 13:49:53.7019,30.74747048437062,36.53031001676226 -199.431,2024/06/13 13:49:53.8669,30.74747048437062,36.53031001676226 -199.677,2024/06/13 13:49:54.1129,30.74747048437062,36.53031001676226 -199.924,2024/06/13 13:49:54.3599,30.74747048437062,36.53031001676226 -200.004,2024/06/13 13:49:54.4399,30.74747048437062,36.53031001676226 -200.17,2024/06/13 13:49:54.6059,30.74747048437062,36.53031001676226 -200.416,2024/06/13 13:49:54.8519,30.74747048437062,36.53031001676226 -200.497,2024/06/13 13:49:54.9329,30.74747048437062,36.53031001676226 -200.663,2024/06/13 13:49:55.0989,30.74747048437062,36.53031001676226 -200.909,2024/06/13 13:49:55.3449,30.74747048437062,36.53031001676226 -201.155,2024/06/13 13:49:55.5909,30.74747048437062,36.53031001676226 -201.401,2024/06/13 13:49:55.8369,30.74747048437062,36.53031001676226 -201.483,2024/06/13 13:49:55.9189,30.74747048437062,36.53031001676226 -201.648,2024/06/13 13:49:56.0839,30.74747048437062,36.53031001676226 -201.894,2024/06/13 13:49:56.3299,30.74747048437062,36.53031001676226 -201.975,2024/06/13 13:49:56.4109,30.74747048437062,36.53031001676226 -202.14,2024/06/13 13:49:56.5759,30.74747048437062,36.53031001676226 -202.386,2024/06/13 13:49:56.8219,30.74747048437062,36.53031001676226 -202.468,2024/06/13 13:49:56.9039,30.74747048437062,36.53031001676226 -202.96,2024/06/13 13:49:57.3959,30.74747048437062,36.53031001676226 -203.125,2024/06/13 13:49:57.5609,30.74747048437062,36.53031001676226 -203.371,2024/06/13 13:49:57.8069,30.74747048437062,36.53031001676226 -203.452,2024/06/13 13:49:57.8879,30.74747048437062,36.53031001676226 -203.618,2024/06/13 13:49:58.0539,30.74747048437062,36.53031001676226 -203.864,2024/06/13 13:49:58.2999,30.74747048437062,36.53031001676226 -204.11,2024/06/13 13:49:58.5459,30.74747048437062,36.53031001676226 -204.357,2024/06/13 13:49:58.7929,30.74747048437062,36.53031001676226 -204.437,2024/06/13 13:49:58.8729,30.74747048437062,36.53031001676226 -204.603,2024/06/13 13:49:59.0389,30.74747048437062,36.53031001676226 -204.849,2024/06/13 13:49:59.2849,30.74747048437062,36.53031001676226 -204.929,2024/06/13 13:49:59.3649,30.74747048437062,36.53031001676226 -205.095,2024/06/13 13:49:59.5309,30.74747048437062,36.53031001676226 -205.342,2024/06/13 13:49:59.7779,30.74747048437062,36.53031001676226 -205.588,2024/06/13 13:50:00.0239,30.74747048437062,36.53031001676226 -205.669,2024/06/13 13:50:00.1049,30.74747048437062,36.53031001676226 -205.834,2024/06/13 13:50:00.2699,30.74747048437062,36.53031001676226 -206.081,2024/06/13 13:50:00.5169,30.74747048437062,36.53031001676226 -206.326,2024/06/13 13:50:00.7619,30.74747048437062,36.53031001676226 -206.407,2024/06/13 13:50:00.8429,30.74747048437062,36.53031001676226 -206.573,2024/06/13 13:50:01.0089,30.74747048437062,36.53031001676226 -206.82,2024/06/13 13:50:01.2559,30.74747048437062,36.53031001676226 -206.9,2024/06/13 13:50:01.3359,30.74747048437062,36.53031001676226 -207.066,2024/06/13 13:50:01.5019,30.74747048437062,36.53031001676226 -207.312,2024/06/13 13:50:01.7479,30.74747048437062,36.53031001676226 -207.558,2024/06/13 13:50:01.9939,30.74747048437062,36.53031001676226 -207.639,2024/06/13 13:50:02.0749,30.74747048437062,36.53031001676226 -207.804,2024/06/13 13:50:02.2399,30.74747048437062,36.53031001676226 -208.052,2024/06/13 13:50:02.4879,30.74747048437062,36.53031001676226 -208.297,2024/06/13 13:50:02.7329,30.74747048437062,36.53031001676226 -208.378,2024/06/13 13:50:02.8139,30.74747048437062,36.53031001676226 -208.544,2024/06/13 13:50:02.9799,30.74747048437062,36.53031001676226 -208.789,2024/06/13 13:50:03.2249,30.74747048437062,36.53031001676226 -208.87,2024/06/13 13:50:03.3059,30.74747048437062,36.53031001676226 -209.036,2024/06/13 13:50:03.4719,30.74747048437062,36.53031001676226 -209.283,2024/06/13 13:50:03.7189,30.74747048437062,36.53031001676226 -209.528,2024/06/13 13:50:03.9639,30.74747048437062,36.53031001676226 -209.609,2024/06/13 13:50:04.0449,30.74747048437062,36.53031001676226 -209.775,2024/06/13 13:50:04.2109,30.74747048437062,36.53031001676226 -210.021,2024/06/13 13:50:04.4569,30.74747048437062,36.53031001676226 -210.267,2024/06/13 13:50:04.7029,30.74747048437062,36.53031001676226 -210.348,2024/06/13 13:50:04.7839,30.74747048437062,36.53031001676226 -210.514,2024/06/13 13:50:04.9499,30.74747048437062,36.53031001676226 -210.76,2024/06/13 13:50:05.1959,30.74747048437062,36.53031001676226 -211.006,2024/06/13 13:50:05.4419,30.74747048437062,36.53031001676226 -211.087,2024/06/13 13:50:05.5229,30.74747048437062,36.53031001676226 -211.252,2024/06/13 13:50:05.6879,30.74747048437062,36.53031001676226 -211.499,2024/06/13 13:50:05.9349,30.74747048437062,36.53031001676226 -211.745,2024/06/13 13:50:06.1809,30.74747048437062,36.53031001676226 -211.991,2024/06/13 13:50:06.4269,30.74747048437062,36.53031001676226 -212.072,2024/06/13 13:50:06.5079,30.74747048437062,36.53031001676226 -212.237,2024/06/13 13:50:06.6729,30.74747048437062,36.53031001676226 -212.484,2024/06/13 13:50:06.9199,30.74747048437062,36.53031001676226 -212.565,2024/06/13 13:50:07.0009,30.74747048437062,36.53031001676226 -212.73,2024/06/13 13:50:07.1659,30.74747048437062,36.53031001676226 -212.977,2024/06/13 13:50:07.4129,30.74747048437062,36.53031001676226 -213.222,2024/06/13 13:50:07.6579,30.74747048437062,36.53031001676226 -213.303,2024/06/13 13:50:07.7389,30.74747048437062,36.53031001676226 -213.469,2024/06/13 13:50:07.9049,30.74747048437062,36.53031001676226 -213.715,2024/06/13 13:50:08.1509,30.74747048437062,36.53031001676226 -213.795,2024/06/13 13:50:08.2309,30.74747048437062,36.53031001676226 -213.961,2024/06/13 13:50:08.3969,30.74747048437062,36.53031001676226 -214.208,2024/06/13 13:50:08.6439,30.74747048437062,36.53031001676226 -214.454,2024/06/13 13:50:08.8899,30.74747048437062,36.53031001676226 -214.534,2024/06/13 13:50:08.9699,30.74747048437062,36.53031001676226 -214.7,2024/06/13 13:50:09.1359,30.74747048437062,36.53031001676226 -214.947,2024/06/13 13:50:09.3829,30.74747048437062,36.53031001676226 -215.027,2024/06/13 13:50:09.4629,30.74747048437062,36.53031001676226 -215.193,2024/06/13 13:50:09.6289,30.74747048437062,36.53031001676226 -215.439,2024/06/13 13:50:09.8749,30.74747048437062,36.53031001676226 -215.685,2024/06/13 13:50:10.1209,30.74747048437062,36.53031001676226 -215.766,2024/06/13 13:50:10.2019,30.74747048437062,36.53031001676226 -215.931,2024/06/13 13:50:10.3669,30.74747048437062,36.53031001676226 -216.178,2024/06/13 13:50:10.6139,30.74747048437062,36.53031001676226 -216.424,2024/06/13 13:50:10.8599,30.74747048437062,36.53031001676226 -216.505,2024/06/13 13:50:10.9409,30.74747048437062,36.53031001676226 -216.67,2024/06/13 13:50:11.1059,30.74747048437062,36.53031001676226 -216.916,2024/06/13 13:50:11.3519,30.74747048437062,36.53031001676226 -216.997,2024/06/13 13:50:11.4329,30.74747048437062,36.53031001676226 -217.163,2024/06/13 13:50:11.5989,30.74747048437062,36.53031001676226 -217.409,2024/06/13 13:50:11.8449,30.74747048437062,36.53031001676226 -217.656,2024/06/13 13:50:12.0919,30.74747048437062,36.53031001676226 -217.736,2024/06/13 13:50:12.1719,30.74747048437062,36.53031001676226 -217.902,2024/06/13 13:50:12.3379,30.74747048437062,36.53031001676226 -218.148,2024/06/13 13:50:12.5839,30.74747048437062,36.53031001676226 -218.228,2024/06/13 13:50:12.6639,30.74747048437062,36.53031001676226 -218.394,2024/06/13 13:50:12.8299,30.74747048437062,36.53031001676226 -218.967,2024/06/13 13:50:13.4029,30.74747048437062,36.53031001676226 -219.133,2024/06/13 13:50:13.5689,30.74747048437062,36.53031001676226 -219.38,2024/06/13 13:50:13.8159,30.74747048437062,36.53031001676226 -219.625,2024/06/13 13:50:14.0609,30.74747048437062,36.53031001676226 -219.706,2024/06/13 13:50:14.1419,30.74747048437062,36.53031001676226 -219.872,2024/06/13 13:50:14.3079,30.74747048437062,36.53031001676226 -220.118,2024/06/13 13:50:14.5539,30.74747048437062,36.53031001676226 -220.364,2024/06/13 13:50:14.7999,30.74747048437062,36.53031001676226 -220.445,2024/06/13 13:50:14.8809,30.74747048437062,36.53031001676226 -220.611,2024/06/13 13:50:15.0469,30.74747048437062,36.53031001676226 -220.857,2024/06/13 13:50:15.2929,30.74747048437062,36.53031001676226 -220.938,2024/06/13 13:50:15.3739,30.74747048437062,36.53031001676226 -221.103,2024/06/13 13:50:15.5389,30.74747048437062,36.53031001676226 -221.349,2024/06/13 13:50:15.7849,30.74747048437062,36.53031001676226 -221.596,2024/06/13 13:50:16.0319,30.74747048437062,36.53031001676226 -221.676,2024/06/13 13:50:16.1119,30.74747048437062,36.53031001676226 -221.842,2024/06/13 13:50:16.2779,30.74747048437062,36.53031001676226 -222.088,2024/06/13 13:50:16.5239,30.74747048437062,36.53031001676226 -222.416,2024/06/13 13:50:16.8519,30.74747048437062,36.53031001676226 -222.827,2024/06/13 13:50:17.2629,30.74747048437062,36.53031001676226 -223.073,2024/06/13 13:50:17.5089,30.74747048437062,36.53031001676226 -223.154,2024/06/13 13:50:17.5899,30.74747048437062,36.53031001676226 -223.321,2024/06/13 13:50:17.7569,30.74747048437062,36.53031001676226 -223.566,2024/06/13 13:50:18.0019,30.74747048437062,36.53031001676226 -223.647,2024/06/13 13:50:18.0829,30.74747048437062,36.53031001676226 -223.812,2024/06/13 13:50:18.2479,30.74747048437062,36.53031001676226 -224.058,2024/06/13 13:50:18.4939,30.74747048437062,36.53031001676226 -224.305,2024/06/13 13:50:18.7409,30.74747048437062,36.53031001676226 -224.386,2024/06/13 13:50:18.8219,30.74747048437062,36.53031001676226 -224.551,2024/06/13 13:50:18.9869,30.74747048437062,36.53031001676226 -224.798,2024/06/13 13:50:19.2339,30.74747048437062,36.53031001676226 -224.877,2024/06/13 13:50:19.3129,30.74747048437062,36.53031001676226 -225.044,2024/06/13 13:50:19.4799,30.74747048437062,36.53031001676226 -225.29,2024/06/13 13:50:19.7259,30.74747048437062,36.53031001676226 -225.536,2024/06/13 13:50:19.9719,30.74747048437062,36.53031001676226 -225.617,2024/06/13 13:50:20.0529,30.74747048437062,36.53031001676226 -225.783,2024/06/13 13:50:20.2189,30.74747048437062,36.53031001676226 -226.029,2024/06/13 13:50:20.4649,30.74747048437062,36.53031001676226 -226.275,2024/06/13 13:50:20.7109,30.74747048437062,36.53031001676226 -226.356,2024/06/13 13:50:20.7919,30.74747048437062,36.53031001676226 -226.522,2024/06/13 13:50:20.9579,30.74747048437062,36.53031001676226 -226.768,2024/06/13 13:50:21.2039,30.74747048437062,36.53031001676226 -226.848,2024/06/13 13:50:21.2839,30.74747048437062,36.53031001676226 -227.014,2024/06/13 13:50:21.4499,30.74747048437062,36.53031001676226 -227.26,2024/06/13 13:50:21.6959,30.74747048437062,36.53031001676226 -227.507,2024/06/13 13:50:21.9429,30.74747048437062,36.53031001676226 -227.753,2024/06/13 13:50:22.1889,30.74747048437062,36.53031001676226 -227.999,2024/06/13 13:50:22.4349,30.74747048437062,36.53031001676226 -228.245,2024/06/13 13:50:22.6809,30.74747048437062,36.53031001676226 -228.491,2024/06/13 13:50:22.9269,30.74747048437062,36.53031001676226 -228.738,2024/06/13 13:50:23.1739,30.74747048437062,36.53031001676226 -228.819,2024/06/13 13:50:23.2549,30.74747048437062,36.53031001676226 -228.984,2024/06/13 13:50:23.4199,30.74747048437062,36.53031001676226 -229.23,2024/06/13 13:50:23.6659,30.74747048437062,36.53031001676226 -229.477,2024/06/13 13:50:23.9129,30.74747048437062,36.53031001676226 -229.557,2024/06/13 13:50:23.9929,30.74747048437062,36.53031001676226 -229.723,2024/06/13 13:50:24.1589,30.74747048437062,36.53031001676226 -229.97,2024/06/13 13:50:24.4059,30.74747048437062,36.53031001676226 -230.215,2024/06/13 13:50:24.6509,30.74747048437062,36.53031001676226 -230.296,2024/06/13 13:50:24.7319,30.74747048437062,36.53031001676226 -230.462,2024/06/13 13:50:24.8979,30.74747048437062,36.53031001676226 -230.708,2024/06/13 13:50:25.1439,30.74747048437062,36.53031001676226 -230.788,2024/06/13 13:50:25.2239,30.74747048437062,36.53031001676226 -230.954,2024/06/13 13:50:25.3899,30.74747048437062,36.53031001676226 -231.2,2024/06/13 13:50:25.6359,30.74747048437062,36.53031001676226 -231.446,2024/06/13 13:50:25.8819,30.74747048437062,36.53031001676226 -231.528,2024/06/13 13:50:25.9639,30.74747048437062,36.53031001676226 -232.019,2024/06/13 13:50:26.4549,30.74747048437062,36.53031001676226 -232.186,2024/06/13 13:50:26.6219,30.74747048437062,36.53031001676226 -232.432,2024/06/13 13:50:26.8679,30.74747048437062,36.53031001676226 -232.678,2024/06/13 13:50:27.1139,30.74747048437062,36.53031001676226 -232.925,2024/06/13 13:50:27.3609,30.74747048437062,36.53031001676226 -233.005,2024/06/13 13:50:27.4409,30.74747048437062,36.53031001676226 -233.171,2024/06/13 13:50:27.6069,30.74747048437062,36.53031001676226 -233.251,2024/06/13 13:50:27.6869,30.74747048437062,36.53031001676226 -233.418,2024/06/13 13:50:27.8539,30.74747048437062,36.53031001676226 -233.663,2024/06/13 13:50:28.0989,30.74747048437062,36.53031001676226 -233.91,2024/06/13 13:50:28.3459,30.74747048437062,36.53031001676226 -233.99,2024/06/13 13:50:28.4259,30.74747048437062,36.53031001676226 -234.156,2024/06/13 13:50:28.5919,30.74747048437062,36.53031001676226 -234.402,2024/06/13 13:50:28.8379,30.74747048437062,36.53031001676226 -234.975,2024/06/13 13:50:29.4109,30.74747048437062,36.53031001676226 -235.141,2024/06/13 13:50:29.5769,30.74747048437062,36.53031001676226 -235.221,2024/06/13 13:50:29.6569,30.74747048437062,36.53031001676226 -235.387,2024/06/13 13:50:29.8229,30.74747048437062,36.53031001676226 -235.633,2024/06/13 13:50:30.0689,30.74747048437062,36.53031001676226 -235.88,2024/06/13 13:50:30.3159,30.74747048437062,36.53031001676226 -235.96,2024/06/13 13:50:30.3959,30.74747048437062,36.53031001676226 -236.126,2024/06/13 13:50:30.5619,30.74747048437062,36.53031001676226 -236.372,2024/06/13 13:50:30.8079,30.74747048437062,36.53031001676226 -236.619,2024/06/13 13:50:31.0549,30.74747048437062,36.53031001676226 -236.698,2024/06/13 13:50:31.1339,30.74747048437062,36.53031001676226 -236.865,2024/06/13 13:50:31.3009,30.74747048437062,36.53031001676226 -236.945,2024/06/13 13:50:31.3809,30.74747048437062,36.53031001676226 -237.111,2024/06/13 13:50:31.5469,30.74747048437062,36.53031001676226 -237.357,2024/06/13 13:50:31.7929,30.74747048437062,36.53031001676226 -237.604,2024/06/13 13:50:32.0399,30.74747048437062,36.53031001676226 -237.684,2024/06/13 13:50:32.1199,30.74747048437062,36.53031001676226 -237.85,2024/06/13 13:50:32.2859,30.74747048437062,36.53031001676226 -238.097,2024/06/13 13:50:32.5329,30.74747048437062,36.53031001676226 -238.342,2024/06/13 13:50:32.7779,30.74747048437062,36.53031001676226 -238.423,2024/06/13 13:50:32.8589,30.74747048437062,36.53031001676226 -238.589,2024/06/13 13:50:33.0249,30.74747048437062,36.53031001676226 -238.836,2024/06/13 13:50:33.2719,30.74747048437062,36.53031001676226 -239.081,2024/06/13 13:50:33.5169,30.74747048437062,36.53031001676226 -239.161,2024/06/13 13:50:33.5969,30.74747048437062,36.53031001676226 -239.328,2024/06/13 13:50:33.7639,30.74747048437062,36.53031001676226 -239.574,2024/06/13 13:50:34.0099,30.74747048437062,36.53031001676226 -239.654,2024/06/13 13:50:34.0899,30.74747048437062,36.53031001676226 -240.313,2024/06/13 13:50:34.7489,30.74747048437062,36.53031001676226 -240.393,2024/06/13 13:50:34.8289,30.74747048437062,36.53031001676226 -240.559,2024/06/13 13:50:34.9949,30.74747048437062,36.53031001676226 -240.885,2024/06/13 13:50:35.3209,30.74747048437062,36.53031001676226 -241.298,2024/06/13 13:50:35.7339,30.74747048437062,36.53031001676226 -241.544,2024/06/13 13:50:35.9799,30.74747048437062,36.53031001676226 -241.872,2024/06/13 13:50:36.3079,30.74747048437062,36.53031001676226 -242.363,2024/06/13 13:50:36.7989,30.74747048437062,36.53031001676226 -242.529,2024/06/13 13:50:36.9649,30.74747048437062,36.53031001676226 -242.776,2024/06/13 13:50:37.2119,30.74747048437062,36.53031001676226 -242.856,2024/06/13 13:50:37.2919,30.74747048437062,36.53031001676226 -243.022,2024/06/13 13:50:37.4579,30.74747048437062,36.53031001676226 -243.268,2024/06/13 13:50:37.7039,30.74747048437062,36.53031001676226 -243.514,2024/06/13 13:50:37.9499,30.74747048437062,36.53031001676226 -243.594,2024/06/13 13:50:38.0299,30.74747048437062,36.53031001676226 -243.761,2024/06/13 13:50:38.1969,30.74747048437062,36.53031001676226 -244.007,2024/06/13 13:50:38.4429,30.74747048437062,36.53031001676226 -244.253,2024/06/13 13:50:38.6889,30.74747048437062,36.53031001676226 -244.333,2024/06/13 13:50:38.7689,30.74747048437062,36.53031001676226 -244.5,2024/06/13 13:50:38.9359,30.74747048437062,36.53031001676226 -245.072,2024/06/13 13:50:39.5079,30.74747048437062,36.53031001676226 -245.238,2024/06/13 13:50:39.6739,30.74747048437062,36.53031001676226 -245.484,2024/06/13 13:50:39.9199,30.74747048437062,36.53031001676226 -245.731,2024/06/13 13:50:40.1669,30.74747048437062,36.53031001676226 -245.977,2024/06/13 13:50:40.4129,30.74747048437062,36.53031001676226 -246.057,2024/06/13 13:50:40.4929,30.74747048437062,36.53031001676226 -246.223,2024/06/13 13:50:40.6589,30.74747048437062,36.53031001676226 -246.47,2024/06/13 13:50:40.9059,30.74747048437062,36.53031001676226 -246.55,2024/06/13 13:50:40.9859,30.74747048437062,36.53031001676226 -246.716,2024/06/13 13:50:41.1519,30.74747048437062,36.53031001676226 -246.963,2024/06/13 13:50:41.3989,30.74747048437062,36.53031001676226 -247.208,2024/06/13 13:50:41.6439,30.74747048437062,36.53031001676226 -247.288,2024/06/13 13:50:41.7239,30.74747048437062,36.53031001676226 -247.454,2024/06/13 13:50:41.8899,30.74747048437062,36.53031001676226 -248.028,2024/06/13 13:50:42.4639,30.74747048437062,36.53031001676226 -248.193,2024/06/13 13:50:42.6289,30.74747048437062,36.53031001676226 -248.44,2024/06/13 13:50:42.8759,30.74747048437062,36.53031001676226 -248.52,2024/06/13 13:50:42.9559,30.74747048437062,36.53031001676226 -248.686,2024/06/13 13:50:43.1219,30.74747048437062,36.53031001676226 -248.932,2024/06/13 13:50:43.3679,30.74747048437062,36.53031001676226 -249.179,2024/06/13 13:50:43.6149,30.74747048437062,36.53031001676226 -249.259,2024/06/13 13:50:43.6949,30.74747048437062,36.53031001676226 -249.425,2024/06/13 13:50:43.8609,30.74747048437062,36.53031001676226 -249.671,2024/06/13 13:50:44.1069,30.74747048437062,36.53031001676226 -249.752,2024/06/13 13:50:44.1879,30.74747048437062,36.53031001676226 -249.918,2024/06/13 13:50:44.3539,30.74747048437062,36.53031001676226 -250.164,2024/06/13 13:50:44.5999,30.74747048437062,36.53031001676226 -250.41,2024/06/13 13:50:44.8459,30.74747048437062,36.53031001676226 -250.49,2024/06/13 13:50:44.9259,30.74747048437062,36.53031001676226 -250.982,2024/06/13 13:50:45.4179,30.74747048437062,36.53031001676226 -251.148,2024/06/13 13:50:45.5839,30.74747048437062,36.53031001676226 -251.395,2024/06/13 13:50:45.8309,30.74747048437062,36.53031001676226 -251.641,2024/06/13 13:50:46.0769,30.74747048437062,36.53031001676226 -251.721,2024/06/13 13:50:46.1569,30.74747048437062,36.53031001676226 -251.888,2024/06/13 13:50:46.3239,30.74747048437062,36.53031001676226 -252.134,2024/06/13 13:50:46.5699,30.74747048437062,36.53031001676226 -252.38,2024/06/13 13:50:46.8159,30.74747048437062,36.53031001676226 -252.46,2024/06/13 13:50:46.8959,30.74747048437062,36.53031001676226 -252.627,2024/06/13 13:50:47.0629,30.74747048437062,36.53031001676226 -252.876,2024/06/13 13:50:47.3119,30.74747048437062,36.53031001676226 -253.119,2024/06/13 13:50:47.5549,30.74747048437062,36.53031001676226 -253.199,2024/06/13 13:50:47.6349,30.74747048437062,36.53031001676226 -253.365,2024/06/13 13:50:47.8009,30.74747048437062,36.53031001676226 -253.612,2024/06/13 13:50:48.0479,30.74747048437062,36.53031001676226 -253.692,2024/06/13 13:50:48.1279,30.74747048437062,36.53031001676226 -253.858,2024/06/13 13:50:48.2939,30.74747048437062,36.53031001676226 -254.104,2024/06/13 13:50:48.5399,30.74747048437062,36.53031001676226 -254.351,2024/06/13 13:50:48.7869,30.74747048437062,36.53031001676226 -254.431,2024/06/13 13:50:48.8669,30.74747048437062,36.53031001676226 -254.597,2024/06/13 13:50:49.0329,30.74747048437062,36.53031001676226 -254.843,2024/06/13 13:50:49.2789,30.74747048437062,36.53031001676226 -255.09,2024/06/13 13:50:49.5259,30.74747048437062,36.53031001676226 -255.169,2024/06/13 13:50:49.6049,30.74747048437062,36.53031001676226 -255.336,2024/06/13 13:50:49.7719,30.74747048437062,36.53031001676226 -255.582,2024/06/13 13:50:50.0179,30.74747048437062,36.53031001676226 -255.829,2024/06/13 13:50:50.2649,30.74747048437062,36.53031001676226 -255.909,2024/06/13 13:50:50.3449,30.74747048437062,36.53031001676226 -256.074,2024/06/13 13:50:50.5099,30.74747048437062,36.53031001676226 -256.321,2024/06/13 13:50:50.7569,30.74747048437062,36.53031001676226 -256.401,2024/06/13 13:50:50.8369,30.74747048437062,36.53031001676226 -256.567,2024/06/13 13:50:51.0029,30.74747048437062,36.53031001676226 -256.813,2024/06/13 13:50:51.2489,30.74747048437062,36.53031001676226 -257.06,2024/06/13 13:50:51.4959,30.74747048437062,36.53031001676226 -257.139,2024/06/13 13:50:51.5749,30.74747048437062,36.53031001676226 -257.306,2024/06/13 13:50:51.7419,30.74747048437062,36.53031001676226 -257.552,2024/06/13 13:50:51.9879,30.74747048437062,36.53031001676226 -257.632,2024/06/13 13:50:52.0679,30.74747048437062,36.53031001676226 -257.798,2024/06/13 13:50:52.2339,30.74747048437062,36.53031001676226 -258.044,2024/06/13 13:50:52.4799,30.74747048437062,36.53031001676226 -258.291,2024/06/13 13:50:52.7269,30.74747048437062,36.53031001676226 -258.371,2024/06/13 13:50:52.8069,30.74747048437062,36.53031001676226 -258.537,2024/06/13 13:50:52.9729,30.74747048437062,36.53031001676226 -258.783,2024/06/13 13:50:53.2189,30.74747048437062,36.53031001676226 -258.863,2024/06/13 13:50:53.2989,30.74747048437062,36.53031001676226 -259.03,2024/06/13 13:50:53.4659,30.74747048437062,36.53031001676226 -259.276,2024/06/13 13:50:53.7119,30.74747048437062,36.53031001676226 -259.522,2024/06/13 13:50:53.9579,30.74747048437062,36.53031001676226 -259.603,2024/06/13 13:50:54.0389,30.74747048437062,36.53031001676226 -259.768,2024/06/13 13:50:54.2039,30.74747048437062,36.53031001676226 -260.015,2024/06/13 13:50:54.4509,30.74747048437062,36.53031001676226 -260.262,2024/06/13 13:50:54.6979,30.74747048437062,36.53031001676226 -260.341,2024/06/13 13:50:54.7769,30.74747048437062,36.53031001676226 -260.508,2024/06/13 13:50:54.9439,30.74747048437062,36.53031001676226 -260.833,2024/06/13 13:50:55.2689,30.74747048437062,36.53031001676226 -261.246,2024/06/13 13:50:55.6819,30.74747048437062,36.53031001676226 -261.492,2024/06/13 13:50:55.9279,30.74747048437062,36.53031001676226 -261.572,2024/06/13 13:50:56.0079,30.74747048437062,36.53031001676226 -261.739,2024/06/13 13:50:56.1749,30.74747048437062,36.53031001676226 -261.985,2024/06/13 13:50:56.4209,30.74747048437062,36.53031001676226 -262.065,2024/06/13 13:50:56.5009,30.74747048437062,36.53031001676226 -262.232,2024/06/13 13:50:56.6679,30.74747048437062,36.53031001676226 -262.478,2024/06/13 13:50:56.9139,30.74747048437062,36.53031001676226 -262.723,2024/06/13 13:50:57.1589,30.74747048437062,36.53031001676226 -262.803,2024/06/13 13:50:57.2389,30.74747048437062,36.53031001676226 -262.97,2024/06/13 13:50:57.4059,30.74747048437062,36.53031001676226 -263.217,2024/06/13 13:50:57.6529,30.74747048437062,36.53031001676226 -263.296,2024/06/13 13:50:57.7319,30.74747048437062,36.53031001676226 -263.463,2024/06/13 13:50:57.8989,30.74747048437062,36.53031001676226 -264.035,2024/06/13 13:50:58.4709,30.74747048437062,36.53031001676226 -264.201,2024/06/13 13:50:58.6369,30.74747048437062,36.53031001676226 -264.448,2024/06/13 13:50:58.8839,30.74747048437062,36.53031001676226 -264.694,2024/06/13 13:50:59.1299,30.74747048437062,36.53031001676226 -264.774,2024/06/13 13:50:59.2099,30.74747048437062,36.53031001676226 -264.941,2024/06/13 13:50:59.3769,30.74747048437062,36.53031001676226 -265.187,2024/06/13 13:50:59.6229,30.74747048437062,36.53031001676226 -265.267,2024/06/13 13:50:59.7029,30.74747048437062,36.53031001676226 -265.433,2024/06/13 13:50:59.8689,30.74747048437062,36.53031001676226 -265.679,2024/06/13 13:51:00.1149,30.74747048437062,36.53031001676226 -265.925,2024/06/13 13:51:00.3609,30.74747048437062,36.53031001676226 -266.172,2024/06/13 13:51:00.6079,30.74747048437062,36.53031001676226 -266.252,2024/06/13 13:51:00.6879,30.74747048437062,36.53031001676226 -266.418,2024/06/13 13:51:00.8539,30.74747048437062,36.53031001676226 -266.497,2024/06/13 13:51:00.9329,30.74747048437062,36.53031001676226 -267.157,2024/06/13 13:51:01.5929,30.74747048437062,36.53031001676226 -267.236,2024/06/13 13:51:01.6719,30.74747048437062,36.53031001676226 -267.403,2024/06/13 13:51:01.8389,30.74747048437062,36.53031001676226 -267.649,2024/06/13 13:51:02.0849,30.74747048437062,36.53031001676226 -267.729,2024/06/13 13:51:02.1649,30.74747048437062,36.53031001676226 -267.896,2024/06/13 13:51:02.3319,30.74747048437062,36.53031001676226 -268.142,2024/06/13 13:51:02.5779,30.74747048437062,36.53031001676226 -268.389,2024/06/13 13:51:02.8249,30.74747048437062,36.53031001676226 -268.468,2024/06/13 13:51:02.9039,30.74747048437062,36.53031001676226 -268.634,2024/06/13 13:51:03.0699,30.74747048437062,36.53031001676226 -268.88,2024/06/13 13:51:03.3159,30.74747048437062,36.53031001676226 -269.127,2024/06/13 13:51:03.5629,30.74747048437062,36.53031001676226 -269.206,2024/06/13 13:51:03.6419,30.74747048437062,36.53031001676226 -269.373,2024/06/13 13:51:03.8089,30.74747048437062,36.53031001676226 -269.619,2024/06/13 13:51:04.0549,30.74747048437062,36.53031001676226 -269.699,2024/06/13 13:51:04.1349,30.74747048437062,36.53031001676226 -269.866,2024/06/13 13:51:04.3019,30.74747048437062,36.53031001676226 -270.112,2024/06/13 13:51:04.5479,30.74747048437062,36.53031001676226 -270.192,2024/06/13 13:51:04.6279,30.74747048437062,36.53031001676226 -270.358,2024/06/13 13:51:04.7939,30.74747048437062,36.53031001676226 -270.605,2024/06/13 13:51:05.0409,30.74747048437062,36.53031001676226 -270.851,2024/06/13 13:51:05.2869,30.74747048437062,36.53031001676226 -270.931,2024/06/13 13:51:05.3669,30.74747048437062,36.53031001676226 -271.59,2024/06/13 13:51:06.0259,30.74747048437062,36.53031001676226 -271.67,2024/06/13 13:51:06.1059,30.74747048437062,36.53031001676226 -271.836,2024/06/13 13:51:06.2719,30.74747048437062,36.53031001676226 -272.082,2024/06/13 13:51:06.5179,30.74747048437062,36.53031001676226 -272.162,2024/06/13 13:51:06.5979,30.74747048437062,36.53031001676226 -272.329,2024/06/13 13:51:06.7649,30.74747048437062,36.53031001676226 -272.575,2024/06/13 13:51:07.0109,30.74747048437062,36.53031001676226 -272.821,2024/06/13 13:51:07.2569,30.74747048437062,36.53031001676226 -272.901,2024/06/13 13:51:07.3369,30.74747048437062,36.53031001676226 -273.068,2024/06/13 13:51:07.5039,30.74747048437062,36.53031001676226 -273.313,2024/06/13 13:51:07.7489,30.74747048437062,36.53031001676226 -273.393,2024/06/13 13:51:07.8289,30.74747048437062,36.53031001676226 -273.56,2024/06/13 13:51:07.9959,30.74747048437062,36.53031001676226 -273.806,2024/06/13 13:51:08.2419,30.74747048437062,36.53031001676226 -274.052,2024/06/13 13:51:08.4879,30.74747048437062,36.53031001676226 -274.132,2024/06/13 13:51:08.5679,30.74747048437062,36.53031001676226 -274.299,2024/06/13 13:51:08.7349,30.74747048437062,36.53031001676226 -274.545,2024/06/13 13:51:08.9809,30.74747048437062,36.53031001676226 -274.792,2024/06/13 13:51:09.2279,30.74747048437062,36.53031001676226 -274.871,2024/06/13 13:51:09.3069,30.74747048437062,36.53031001676226 -275.037,2024/06/13 13:51:09.4729,30.74747048437062,36.53031001676226 -275.284,2024/06/13 13:51:09.7199,30.74747048437062,36.53031001676226 -275.364,2024/06/13 13:51:09.7999,30.74747048437062,36.53031001676226 -275.53,2024/06/13 13:51:09.9659,30.74747048437062,36.53031001676226 -275.776,2024/06/13 13:51:10.2119,30.74747048437062,36.53031001676226 -276.023,2024/06/13 13:51:10.4589,30.74747048437062,36.53031001676226 -276.27,2024/06/13 13:51:10.7059,30.74747048437062,36.53031001676226 -276.349,2024/06/13 13:51:10.7849,30.74747048437062,36.53031001676226 -276.515,2024/06/13 13:51:10.9509,30.74747048437062,36.53031001676226 -276.595,2024/06/13 13:51:11.0309,30.74747048437062,36.53031001676226 -276.761,2024/06/13 13:51:11.1969,30.74747048437062,36.53031001676226 -277.007,2024/06/13 13:51:11.4429,30.74747048437062,36.53031001676226 -277.254,2024/06/13 13:51:11.6899,30.74747048437062,36.53031001676226 -277.334,2024/06/13 13:51:11.7699,30.74747048437062,36.53031001676226 -277.501,2024/06/13 13:51:11.9369,30.74747048437062,36.53031001676226 -277.746,2024/06/13 13:51:12.1819,30.74747048437062,36.53031001676226 -277.827,2024/06/13 13:51:12.2629,30.74747048437062,36.53031001676226 -277.993,2024/06/13 13:51:12.4289,30.74747048437062,36.53031001676226 -278.239,2024/06/13 13:51:12.6749,30.74747048437062,36.53031001676226 -278.485,2024/06/13 13:51:12.9209,30.74747048437062,36.53031001676226 -278.565,2024/06/13 13:51:13.0009,30.74747048437062,36.53031001676226 -278.732,2024/06/13 13:51:13.1679,30.74747048437062,36.53031001676226 -278.978,2024/06/13 13:51:13.4139,30.74747048437062,36.53031001676226 -279.058,2024/06/13 13:51:13.4939,30.74747048437062,36.53031001676226 -279.225,2024/06/13 13:51:13.6609,30.74747048437062,36.53031001676226 -279.47,2024/06/13 13:51:13.9059,30.74747048437062,36.53031001676226 -279.797,2024/06/13 13:51:14.2329,30.74747048437062,36.53031001676226 -280.21,2024/06/13 13:51:14.6459,30.74747048437062,36.53031001676226 -280.289,2024/06/13 13:51:14.7249,30.74747048437062,36.53031001676226 -280.456,2024/06/13 13:51:14.8919,30.74747048437062,36.53031001676226 -280.702,2024/06/13 13:51:15.1379,30.74747048437062,36.53031001676226 -281.028,2024/06/13 13:51:15.4639,30.74747048437062,36.53031001676226 -281.441,2024/06/13 13:51:15.8769,30.74747048437062,36.53031001676226 -281.52,2024/06/13 13:51:15.9559,30.74747048437062,36.53031001676226 -281.687,2024/06/13 13:51:16.1229,30.74747048437062,36.53031001676226 -281.933,2024/06/13 13:51:16.3689,30.74747048437062,36.53031001676226 -282.013,2024/06/13 13:51:16.4489,30.74747048437062,36.53031001676226 -282.18,2024/06/13 13:51:16.6159,30.74747048437062,36.53031001676226 -282.426,2024/06/13 13:51:16.8619,30.74747048437062,36.53031001676226 -282.672,2024/06/13 13:51:17.1079,30.74747048437062,36.53031001676226 -282.752,2024/06/13 13:51:17.1879,30.74747048437062,36.53031001676226 -282.919,2024/06/13 13:51:17.3549,30.74747048437062,36.53031001676226 -283.244,2024/06/13 13:51:17.6799,30.74747048437062,36.53031001676226 -283.658,2024/06/13 13:51:18.0939,30.74747048437062,36.53031001676226 -283.983,2024/06/13 13:51:18.4189,30.74747048437062,36.53031001676226 -284.396,2024/06/13 13:51:18.8319,30.74747048437062,36.53031001676226 -284.476,2024/06/13 13:51:18.9119,30.74747048437062,36.53031001676226 -284.642,2024/06/13 13:51:19.0779,30.74747048437062,36.53031001676226 -284.889,2024/06/13 13:51:19.3249,30.74747048437062,36.53031001676226 -285.214,2024/06/13 13:51:19.6499,30.74747048437062,36.53031001676226 -285.627,2024/06/13 13:51:20.0629,30.74747048437062,36.53031001676226 -285.707,2024/06/13 13:51:20.1429,30.74747048437062,36.53031001676226 -285.874,2024/06/13 13:51:20.3099,30.74747048437062,36.53031001676226 -286.12,2024/06/13 13:51:20.5559,30.74747048437062,36.53031001676226 -286.693,2024/06/13 13:51:21.1289,30.74747048437062,36.53031001676226 -286.859,2024/06/13 13:51:21.2949,30.74747048437062,36.53031001676226 -286.938,2024/06/13 13:51:21.3739,30.74747048437062,36.53031001676226 -287.105,2024/06/13 13:51:21.5409,30.74747048437062,36.53031001676226 -287.351,2024/06/13 13:51:21.7869,30.74747048437062,36.53031001676226 -287.597,2024/06/13 13:51:22.0329,30.74747048437062,36.53031001676226 -287.677,2024/06/13 13:51:22.1129,30.74747048437062,36.53031001676226 -287.844,2024/06/13 13:51:22.2799,30.74747048437062,36.53031001676226 -288.09,2024/06/13 13:51:22.5259,30.74747048437062,36.53031001676226 -288.169,2024/06/13 13:51:22.6049,30.74747048437062,36.53031001676226 -288.337,2024/06/13 13:51:22.7729,30.74747048437062,36.53031001676226 -288.908,2024/06/13 13:51:23.3439,30.74747048437062,36.53031001676226 +0.001,2024/06/13 13:46:34.4369,, +0.001,2024/06/13 13:46:34.4369,, +0.525,2024/06/13 13:46:34.9609,, +1.017,2024/06/13 13:46:35.4529,, +1.426,2024/06/13 13:46:35.8619,, +1.673,2024/06/13 13:46:36.1089,, +1.756,2024/06/13 13:46:36.1919,, +1.919,2024/06/13 13:46:36.3549,, +2.248,2024/06/13 13:46:36.6839,, +2.74,2024/06/13 13:46:37.1759,100.79621906489238, +3.726,2024/06/13 13:46:38.1619,104.66049007060009,165.0115147497289 +3.972,2024/06/13 13:46:38.4079,99.82936198910375,162.74128939125214 +4.627,2024/06/13 13:46:39.0629,95.57934011286254,155.83458110017386 +4.874,2024/06/13 13:46:39.3099,91.82966194638207,149.7210226233598 +4.957,2024/06/13 13:46:39.3929,88.78261305544223,144.46873116946202 +5.12,2024/06/13 13:46:39.5559,85.77351475445863,139.75717035868558 +5.45,2024/06/13 13:46:39.8859,83.64846786684492,135.74562608054816 +5.943,2024/06/13 13:46:40.3789,81.66368541977437,131.69260106957637 +6.435,2024/06/13 13:46:40.8709,80.17480901130979,128.01887881610796 +7.174,2024/06/13 13:46:41.6099,78.71139822494781,124.60463791317595 +7.666,2024/06/13 13:46:42.1019,77.51202671659597,121.4596640864777 +7.83,2024/06/13 13:46:42.2659,75.89131269118583,119.71752467490177 +8.076,2024/06/13 13:46:42.5119,74.36638813196771,116.9650297388847 +8.322,2024/06/13 13:46:42.7579,72.92838208162497,114.39405578962571 +8.651,2024/06/13 13:46:43.0869,71.8149937919188,112.74491858468241 +9.143,2024/06/13 13:46:43.5789,70.3670486695409,110.67610401527513 +9.553,2024/06/13 13:46:43.9889,69.19317276072226,108.68621029225514 +9.637,2024/06/13 13:46:44.0729,68.29480137008888,106.68385278215464 +9.799,2024/06/13 13:46:44.2349,67.21740699369222,104.7902667235846 +10.046,2024/06/13 13:46:44.4819,66.18854990050042,102.96768826960333 +10.291,2024/06/13 13:46:44.7269,66.18854990050042,101.23701562834285 +10.375,2024/06/13 13:46:44.8109,63.926538298664155,100.38060901721342 +10.539,2024/06/13 13:46:44.9749,63.976288711063724,99.41763760352922 +10.784,2024/06/13 13:46:45.2199,63.81348540504766,99.3847741524492 +11.36,2024/06/13 13:46:45.7959,63.80628009303116,99.48534230394613 +11.523,2024/06/13 13:46:45.9589,63.86066909664559,99.60739597707257 +11.607,2024/06/13 13:46:46.0429,63.56692554299371,99.77591559756961 +11.769,2024/06/13 13:46:46.2049,63.62885378884928,99.9441510711524 +12.016,2024/06/13 13:46:46.4519,63.682807727046715,99.94398431121304 +12.262,2024/06/13 13:46:46.6979,36.49136254279748,84.76713199505258 +12.346,2024/06/13 13:46:46.7819,26.98113432002816,37.44551597543646 +12.508,2024/06/13 13:46:46.9439,27.01810801887392,28.16913204200655 +12.755,2024/06/13 13:46:47.1909,27.01810801887392,28.121166405396487 +12.838,2024/06/13 13:46:47.2739,26.996806963174286,28.221150460839354 +13.001,2024/06/13 13:46:47.4369,26.76453305935032,27.855579931736 +13.247,2024/06/13 13:46:47.6829,26.76453305935032,27.382476148076893 +13.493,2024/06/13 13:46:47.9289,25.911631436058965,26.232930958371135 +13.577,2024/06/13 13:46:48.0129,25.116761816323557,26.511632666938237 +13.74,2024/06/13 13:46:48.1759,23.20545417457442,26.511632666938237 +14.07,2024/06/13 13:46:48.5059,22.907735981892436,27.648990337201585 +14.478,2024/06/13 13:46:48.9139,20.071395555372494,28.713527590086642 +14.808,2024/06/13 13:46:49.2439,22.662339005393957,26.907867498806613 +15.301,2024/06/13 13:46:49.7369,25.99204122220015,27.046872893799264 +15.793,2024/06/13 13:46:50.2289,29.10377784854526,27.06904751433514 +16.202,2024/06/13 13:46:50.6379,28.255403307897694,26.913441499245938 +16.449,2024/06/13 13:46:50.8849,28.318062145531126,26.187783411354232 +16.532,2024/06/13 13:46:50.9679,31.0813541325446,28.148416178061126 +16.695,2024/06/13 13:46:51.1309,30.1327522576464,30.38475494937113 +17.025,2024/06/13 13:46:51.4609,32.81857127739813,33.02120530810467 +17.517,2024/06/13 13:46:51.9529,35.13363650112397,33.02574753128232 +18.009,2024/06/13 13:46:52.4449,36.98996446692504,33.02625218418422 +18.748,2024/06/13 13:46:53.1839,38.064736146872804,33.03230741763787 +19.24,2024/06/13 13:46:53.6759,38.48482310204133,33.055004663943606 +19.403,2024/06/13 13:46:53.8389,37.49913408961968,35.1207441075309 +19.65,2024/06/13 13:46:54.0859,37.48691725812158,34.53452378900473 +19.734,2024/06/13 13:46:54.1699,37.75244530406997,36.06429443831299 +19.896,2024/06/13 13:46:54.3319,37.86303204185201,37.031068037527625 +21.705,2024/06/13 13:46:56.1409,37.52148809636328,37.41390115986303 +22.196,2024/06/13 13:46:56.6319,36.921725218405804,37.415682986327184 +22.605,2024/06/13 13:46:57.0409,35.99303891830652,38.5132011999349 +22.851,2024/06/13 13:46:57.2869,36.112993172293045,37.979380370581794 +22.935,2024/06/13 13:46:57.3709,35.868533900034805,39.19566302539096 +23.098,2024/06/13 13:46:57.5339,35.157919596370355,40.69766578072998 +23.428,2024/06/13 13:46:57.8639,35.201880827494406,42.12718837045739 +25.152,2024/06/13 13:46:59.5879,34.30364747202652,42.08562700020044 +25.644,2024/06/13 13:47:00.0799,33.150371437388074,42.0872110424691 +26.053,2024/06/13 13:47:00.4889,31.611143095688657,42.21532107343652 +26.136,2024/06/13 13:47:00.5719,31.14225794455292,42.199131112697884 +26.3,2024/06/13 13:47:00.7359,29.777894292675544,42.29026680770254 +27.122,2024/06/13 13:47:01.5579,29.855206134497625,41.68492933103442 +27.614,2024/06/13 13:47:02.0499,28.2815077066434,40.979669756274674 +28.107,2024/06/13 13:47:02.5429,28.283966458414213,39.77645869942002 +28.599,2024/06/13 13:47:03.0349,28.11429873042291,39.68248984123854 +29.009,2024/06/13 13:47:03.4449,27.96598919623887,39.761790704142086 +29.255,2024/06/13 13:47:03.6909,27.143721358638576,38.116488120846945 +29.338,2024/06/13 13:47:03.7739,26.03437162189891,38.202094183434504 +29.501,2024/06/13 13:47:03.9369,25.84222687105702,36.46093800219627 +29.831,2024/06/13 13:47:04.2669,24.67771576083212,34.792240514229604 +30.815,2024/06/13 13:47:05.2509,24.15574465836252,32.218007387174026 +31.308,2024/06/13 13:47:05.7439,23.34114811662677,32.22162834701768 +31.555,2024/06/13 13:47:05.9909,22.343710061454797,32.25419869309007 +32.047,2024/06/13 13:47:06.4829,21.710847969166057,32.34707611722168 +32.211,2024/06/13 13:47:06.6469,21.24647367631093,32.3403772396056 +32.456,2024/06/13 13:47:06.8919,20.095433231996275,30.084325930069742 +32.703,2024/06/13 13:47:07.1389,18.721461039360303,30.084325930069742 +33.032,2024/06/13 13:47:07.4679,18.682341530372504,27.884882403672904 +33.524,2024/06/13 13:47:07.9599,17.238056001552266,25.40800398824486 +35.249,2024/06/13 13:47:09.6849,17.848951158857307,24.840826609971472 +35.412,2024/06/13 13:47:09.8479,17.79012382607653,25.35875917048519 +35.658,2024/06/13 13:47:10.0939,15.93986544312204,23.658684099783176 +35.741,2024/06/13 13:47:10.1769,14.19895576539325,23.93881088664737 +35.905,2024/06/13 13:47:10.3409,13.877998795745766,21.59629597870894 +36.726,2024/06/13 13:47:11.1619,11.390659613770806,18.719864671875523 +37.218,2024/06/13 13:47:11.6539,11.18542771213763,15.047701928644564 +37.712,2024/06/13 13:47:12.1479,12.201422566393113,15.294879317383755 +38.204,2024/06/13 13:47:12.6399,13.605272811519502,15.343836982102403 +38.943,2024/06/13 13:47:13.3789,15.056063810680222,14.997777613144333 +39.106,2024/06/13 13:47:13.5419,14.878086949079787,16.195678435928517 +39.845,2024/06/13 13:47:14.2809,14.841073790813727,15.77867759562463 +39.927,2024/06/13 13:47:14.3629,15.432500411972391,16.375795146088837 +40.091,2024/06/13 13:47:14.5269,15.456278715271301,17.170711497586037 +40.174,2024/06/13 13:47:14.6099,15.910092221064266,17.813852287849848 +40.338,2024/06/13 13:47:14.7739,15.937701993311244,18.434568976065954 +40.584,2024/06/13 13:47:15.0199,15.583258036575469,18.262894987743135 +40.829,2024/06/13 13:47:15.2649,15.19607481079189,18.262894987743135 +40.913,2024/06/13 13:47:15.3489,15.598261028923972,18.48512915832616 +41.076,2024/06/13 13:47:15.5119,15.152860964263828,18.704723111200195 +41.323,2024/06/13 13:47:15.7589,15.15001612229369,18.22726894883963 +41.406,2024/06/13 13:47:15.8419,16.137341574852407,19.189406799933483 +41.568,2024/06/13 13:47:16.0039,16.14531710335315,20.09975124224178 +41.815,2024/06/13 13:47:16.2509,16.103115997458314,20.04661234888994 +42.062,2024/06/13 13:47:16.4979,15.621823815110591,19.882991056008986 +42.144,2024/06/13 13:47:16.5799,17.746652590303647,22.08544015107389 +42.637,2024/06/13 13:47:17.0729,18.537442693349238,22.193842990042683 +42.801,2024/06/13 13:47:17.2369,18.228309421551625,23.4222116803687 +43.046,2024/06/13 13:47:17.4819,17.280511912383695,23.31951972061174 +43.292,2024/06/13 13:47:17.7279,16.43940458132586,23.313086453749534 +43.375,2024/06/13 13:47:17.8109,16.75571612878774,22.669362584775072 +43.539,2024/06/13 13:47:17.9749,16.518224000719414,22.58982071642004 +43.785,2024/06/13 13:47:18.2209,16.2687204281046,22.58982071642004 +44.032,2024/06/13 13:47:18.4679,16.28429184581117,22.292749194898924 +44.115,2024/06/13 13:47:18.5509,16.12740225356482,22.20960753067615 +44.278,2024/06/13 13:47:18.7139,16.12740225356482,22.335323294429088 +44.524,2024/06/13 13:47:18.9599,16.098689887440088,22.36142511856821 +44.77,2024/06/13 13:47:19.2059,15.945452996524736,22.144976857066254 +46.085,2024/06/13 13:47:20.5209,17.224047610592745,23.283041038489795 +46.578,2024/06/13 13:47:21.0139,17.624597492754855,23.34809057146501 +46.987,2024/06/13 13:47:21.4229,17.30178384265456,22.900509455759565 +47.233,2024/06/13 13:47:21.6689,16.953248764710917,22.900509455759565 +47.316,2024/06/13 13:47:21.7519,17.12244611378735,22.504814299759655 +47.479,2024/06/13 13:47:21.9149,16.74336375657737,22.102036105300343 +47.808,2024/06/13 13:47:22.2439,17.003752121426253,21.892921230388602 +48.794,2024/06/13 13:47:23.2299,17.4112197939333,21.50348808914498 +49.286,2024/06/13 13:47:23.7219,19.237804018345923,21.783786019269776 +49.779,2024/06/13 13:47:24.2149,20.136916404923095,21.83269719175042 +50.188,2024/06/13 13:47:24.6239,20.240536315642377,21.97271034715563 +50.434,2024/06/13 13:47:24.8699,19.968480910802093,21.635618780150477 +50.517,2024/06/13 13:47:24.9529,19.9079490852679,21.728629347782924 +50.681,2024/06/13 13:47:25.1169,19.875011747267795,20.972998513962345 +51.01,2024/06/13 13:47:25.4459,19.428885948386544,20.102238681301145 +51.995,2024/06/13 13:47:26.4309,18.98953129623226,20.132063977645213 +52.734,2024/06/13 13:47:27.1699,18.96227349480973,20.369912452765558 +52.98,2024/06/13 13:47:27.4159,19.530230030838876,18.08129788851822 +53.39,2024/06/13 13:47:27.8259,19.46080647110383,18.51935924017531 +53.637,2024/06/13 13:47:28.0729,18.914477821615296,16.939106627367728 +53.882,2024/06/13 13:47:28.3179,18.261227061539756,16.939106627367728 +54.212,2024/06/13 13:47:28.6479,18.385682835656144,17.496666349145865 +54.705,2024/06/13 13:47:29.1409,18.945293292294053,16.592166826548002 +55.197,2024/06/13 13:47:29.6329,18.27327676357386,16.272676485446393 +55.689,2024/06/13 13:47:30.1249,17.50848726865885,16.272676485446393 +56.428,2024/06/13 13:47:30.8639,17.114892352272992,16.677329922182786 +56.594,2024/06/13 13:47:31.0299,16.99631467829676,16.531787562148264 +56.838,2024/06/13 13:47:31.2739,15.984223543821532,16.237815945091466 +57.084,2024/06/13 13:47:31.5199,15.207416520940946,16.200823024361036 +57.413,2024/06/13 13:47:31.8489,16.29501722020893,17.623847480048163 +57.906,2024/06/13 13:47:32.3419,19.350398730633234,16.303373883954205 +58.398,2024/06/13 13:47:32.8339,21.31795422674988,16.2511538051918 +58.891,2024/06/13 13:47:33.3269,20.62218981203714,16.131749233524967 +59.63,2024/06/13 13:47:34.0659,19.51612949190587,16.50050504277571 +59.794,2024/06/13 13:47:34.2299,19.24255341863382,16.131749233524967 +60.039,2024/06/13 13:47:34.4749,17.94576759887006,15.754364474646383 +60.286,2024/06/13 13:47:34.7219,17.637342829036818,15.32536024590178 +60.615,2024/06/13 13:47:35.0509,18.178204708848238,15.574551892965225 +61.107,2024/06/13 13:47:35.5429,18.54649330178386,15.144856112445131 +61.6,2024/06/13 13:47:36.0359,18.662304498518186,15.184421841699033 +62.584,2024/06/13 13:47:37.0199,18.669416874578374,15.54884776009678 +62.995,2024/06/13 13:47:37.4309,18.492744771812884,15.57562197795003 +63.078,2024/06/13 13:47:37.5139,20.822291326651957,17.326280616450838 +63.241,2024/06/13 13:47:37.6769,20.526517752275822,18.915602025840997 +63.487,2024/06/13 13:47:37.9229,20.01849719347258,18.901499058716656 +64.309,2024/06/13 13:47:38.7449,23.800898273399326,22.58760722166029 +64.802,2024/06/13 13:47:39.2379,26.55441171649656,22.40014880902952 +65.294,2024/06/13 13:47:39.7299,28.560562794287716,22.292749194898924 +65.786,2024/06/13 13:47:40.2219,30.115181187086527,21.823534696896985 +66.196,2024/06/13 13:47:40.6319,29.76082822355151,24.337214302380623 +66.442,2024/06/13 13:47:40.8779,29.384959793557346,24.337214302380623 +66.525,2024/06/13 13:47:40.9609,29.60187940600787,24.37074749229767 +66.689,2024/06/13 13:47:41.1249,29.554080567003545,24.56691542162616 +67.018,2024/06/13 13:47:41.4539,29.09020848816788,24.345430782797827 +68.003,2024/06/13 13:47:42.4389,28.991952906510985,24.617744277925492 +68.495,2024/06/13 13:47:42.9309,29.504646039751968,24.362539550164577 +68.987,2024/06/13 13:47:43.4229,29.529042785300526,24.319402404938597 +69.398,2024/06/13 13:47:43.8339,29.277428440557607,24.64886745200815 +69.644,2024/06/13 13:47:44.0799,29.006162642865835,24.64886745200815 +69.727,2024/06/13 13:47:44.1629,29.512047023889192,24.45335696109364 +69.891,2024/06/13 13:47:44.3269,28.810299084413373,25.05926309105411 +70.137,2024/06/13 13:47:44.5729,28.324900705916278,25.02665245959462 +70.383,2024/06/13 13:47:44.8189,28.329445304565784,24.4989795705862 +70.466,2024/06/13 13:47:44.9019,28.87022090619381,25.22498761149349 +70.958,2024/06/13 13:47:45.3939,29.016760911464942,25.30480850220632 +71.121,2024/06/13 13:47:45.5569,28.89992642077923,26.09916984631248 +71.368,2024/06/13 13:47:45.8039,28.749012976560664,26.09916984631248 +71.614,2024/06/13 13:47:46.0499,27.77266083138577,25.883714313573055 +71.697,2024/06/13 13:47:46.1329,26.617792856503733,25.912673861774024 +71.86,2024/06/13 13:47:46.2959,25.839024215589298,25.87985059204683 +72.107,2024/06/13 13:47:46.5429,25.830926843789644,25.253382611708343 +72.19,2024/06/13 13:47:46.6259,25.77580171445702,25.247442114664473 +72.353,2024/06/13 13:47:46.7889,24.985076005258076,24.00694344004112 +72.6,2024/06/13 13:47:47.0359,25.07643487832578,22.874294160330574 +72.845,2024/06/13 13:47:47.2809,25.14329050604319,22.874294160330574 +73.092,2024/06/13 13:47:47.5279,22.780713762747798,19.211975432005946 +73.338,2024/06/13 13:47:47.7739,20.618845302519066,19.180719485983836 +73.421,2024/06/13 13:47:47.8569,18.40339798709145,19.782989325849282 +73.585,2024/06/13 13:47:48.0209,15.464605490878942,20.081500607939304 +73.667,2024/06/13 13:47:48.1029,15.901312025677266,17.92670261555835 +73.831,2024/06/13 13:47:48.2669,16.042185765597793,18.854707634964804 +74.077,2024/06/13 13:47:48.5129,15.67764350108599,18.29389697868299 +74.16,2024/06/13 13:47:48.5959,15.76464836052653,18.439088914585774 +74.323,2024/06/13 13:47:48.7589,15.922080381601466,18.839674448708855 +74.569,2024/06/13 13:47:49.0049,15.501724042050267,18.482424083436676 +74.816,2024/06/13 13:47:49.2519,14.668168679620853,18.45986637727009 +74.898,2024/06/13 13:47:49.3339,14.322396254914041,18.782083661475546 +75.062,2024/06/13 13:47:49.4979,14.419654530592135,18.743887892679396 +75.391,2024/06/13 13:47:49.8269,14.558640835892712,19.096247449870006 +76.376,2024/06/13 13:47:50.8119,14.407692708946126,18.424621208227503 +76.868,2024/06/13 13:47:51.3039,16.044335126616787,17.40881003017342 +77.361,2024/06/13 13:47:51.7969,17.087368460929177,17.432727841620196 +77.771,2024/06/13 13:47:52.2069,17.087368460929177,18.566995807974248 +78.018,2024/06/13 13:47:52.4539,15.82392339858086,17.22207885244984 +78.1,2024/06/13 13:47:52.5359,15.672510526616767,17.656915547928143 +78.264,2024/06/13 13:47:52.6999,15.557088047117427,17.033300717516067 +78.592,2024/06/13 13:47:53.0279,16.249102539320436,17.949001829256876 +79.577,2024/06/13 13:47:54.0129,16.80794147276044,17.897858344878397 +80.07,2024/06/13 13:47:54.5059,17.469480777078232,17.86057109949175 +80.563,2024/06/13 13:47:54.9989,18.12485433948649,17.81852968120546 +81.055,2024/06/13 13:47:55.4909,19.855917789525204,18.153053003099323 +81.219,2024/06/13 13:47:55.6549,19.71757486661849,19.912307751739878 +81.466,2024/06/13 13:47:55.9019,19.649924687639402,19.89891119299412 +83.272,2024/06/13 13:47:57.7079,21.300693421339606,22.096756926451146 +83.765,2024/06/13 13:47:58.2009,21.28376965142049,22.42691834975699 +84.257,2024/06/13 13:47:58.6929,20.557880162643823,22.752289262108697 +84.667,2024/06/13 13:47:59.1029,19.71649638970049,22.7705950734714 +86.473,2024/06/13 13:48:00.9089,19.7083621904485,22.249344559634412 +86.966,2024/06/13 13:48:01.4019,19.627010476124482,22.48406843374511 +87.705,2024/06/13 13:48:02.1409,22.426098302145355,22.793273861675363 +87.868,2024/06/13 13:48:02.3039,22.039045810331725,24.524137769416754 +88.69,2024/06/13 13:48:03.1259,24.1127857532394,26.712668654903553 +89.182,2024/06/13 13:48:03.6179,24.970994668067586,26.685826450258823 +89.675,2024/06/13 13:48:04.1109,24.68337427332935,27.325811973297338 +90.168,2024/06/13 13:48:04.6039,24.749689421016917,27.593477490160605 +90.578,2024/06/13 13:48:05.0139,24.42396128922346,28.16794868877273 +90.824,2024/06/13 13:48:05.2599,24.46740736139652,27.905793902581117 +90.906,2024/06/13 13:48:05.3419,24.620825686220968,28.45464226917405 +91.07,2024/06/13 13:48:05.5059,24.671077580144956,29.016661880145115 +91.891,2024/06/13 13:48:06.3269,24.854172387297165,29.37288999514121 +92.384,2024/06/13 13:48:06.8199,24.47670720097605,29.540932054806035 +92.876,2024/06/13 13:48:07.3119,24.25572571342841,29.6079944159231 +93.369,2024/06/13 13:48:07.8049,24.087102477200133,28.967798213418522 +93.779,2024/06/13 13:48:08.2149,23.961679176667307,29.03733229252761 +94.025,2024/06/13 13:48:08.4609,23.96942496876694,28.704819572097414 +94.108,2024/06/13 13:48:08.5439,23.833232858883438,28.53769437077915 +94.272,2024/06/13 13:48:08.7079,23.726506831744036,28.142494558940577 +95.093,2024/06/13 13:48:09.5289,23.678425118490647,28.32843094843059 +96.078,2024/06/13 13:48:10.5139,23.631777748198417,28.660076761934885 +96.57,2024/06/13 13:48:11.0059,25.42125547421047,29.665917593539337 +97.063,2024/06/13 13:48:11.4989,27.741085344520606,29.734940165849782 +97.226,2024/06/13 13:48:11.6619,27.741085344520606,31.304951684997057 +97.474,2024/06/13 13:48:11.9099,27.741085344520606,31.304951684997057 +97.802,2024/06/13 13:48:12.2379,26.937646177964783,30.672463220289302 +98.295,2024/06/13 13:48:12.7309,26.177225338771265,30.799891774701635 +99.279,2024/06/13 13:48:13.7149,25.99692731622499,30.595206596240967 +99.772,2024/06/13 13:48:14.2079,25.91152053723887,30.636035426710595 +100.182,2024/06/13 13:48:14.6179,25.71150733028755,30.622976123601486 +100.264,2024/06/13 13:48:14.6999,25.855833731114956,30.332051254956912 +100.428,2024/06/13 13:48:14.8639,24.317086372655712,29.609120216581918 +100.675,2024/06/13 13:48:15.1109,24.239442541293514,27.58018612458347 +100.757,2024/06/13 13:48:15.1929,22.887254898340963,25.726769456476006 +100.921,2024/06/13 13:48:15.3569,22.251436735222992,25.700194551792794 +101.167,2024/06/13 13:48:15.6029,22.176408713953176,24.69412885687608 +101.414,2024/06/13 13:48:15.8499,21.390431849606674,24.394671549336344 +101.496,2024/06/13 13:48:15.9319,22.176408713953176,24.394671549336344 +101.66,2024/06/13 13:48:16.0959,22.176408713953176,25.04263031978337 +101.906,2024/06/13 13:48:16.3419,21.04786553734571,24.114311103574988 +102.153,2024/06/13 13:48:16.5889,21.04786553734571,23.14879406506237 +102.234,2024/06/13 13:48:16.6699,21.04786553734571,23.14879406506237 +102.398,2024/06/13 13:48:16.8339,20.87786046201309,23.621318055237026 +102.645,2024/06/13 13:48:17.0809,20.87425406472398,23.519495459441018 +102.727,2024/06/13 13:48:17.1629,21.092053305539096,23.70372685184055 +102.891,2024/06/13 13:48:17.3269,21.092053305539096,23.87188024992306 +103.138,2024/06/13 13:48:17.5739,21.092053305539096,23.87188024992306 +103.384,2024/06/13 13:48:17.8199,20.806166194764554,23.66924868544275 +103.466,2024/06/13 13:48:17.9019,20.822208523980297,23.49964538739539 +103.63,2024/06/13 13:48:18.0659,20.482007803879682,23.268720062206544 +103.876,2024/06/13 13:48:18.3119,20.487759171322185,22.852425108362862 +104.123,2024/06/13 13:48:18.5589,18.67680348736829,21.527501790345607 +104.368,2024/06/13 13:48:18.8039,13.583670047304766,21.14946807841748 +104.451,2024/06/13 13:48:18.8869,13.908775035513672,16.931233465600393 +104.615,2024/06/13 13:48:19.0509,13.964486977749923,17.010780895263647 +104.697,2024/06/13 13:48:19.1329,11.4510954151521,15.100772607165943 +104.862,2024/06/13 13:48:19.2979,11.050615003430503,14.345731072343439 +105.107,2024/06/13 13:48:19.5429,10.992630760400488,14.27118308573843 +105.354,2024/06/13 13:48:19.7899,11.096701384159891,14.153915830374764 +105.6,2024/06/13 13:48:20.0359,11.192361927549626,14.152738250953417 +105.683,2024/06/13 13:48:20.1189,11.01013117568399,14.125626829749303 +105.846,2024/06/13 13:48:20.2819,11.095665509714596,14.098463273231827 +106.093,2024/06/13 13:48:20.5289,11.175506879914245,14.098463273231827 +106.339,2024/06/13 13:48:20.7749,10.586534496411074,13.61739084161622 +106.421,2024/06/13 13:48:20.8569,11.076328700038065,13.831124321616086 +106.585,2024/06/13 13:48:21.0209,11.14404124061091,14.508618128546908 +106.668,2024/06/13 13:48:21.1039,11.498125784307035,15.054345994872488 +106.832,2024/06/13 13:48:21.2679,9.954840559985719,14.516657099116632 +107.078,2024/06/13 13:48:21.5139,9.988729280729487,13.36911864459783 +107.16,2024/06/13 13:48:21.5959,10.134951473950649,13.611269840344312 +107.324,2024/06/13 13:48:21.7599,10.186818167015668,13.884043599278515 +107.571,2024/06/13 13:48:22.0069,8.03412263018232,12.594972541984097 +107.816,2024/06/13 13:48:22.2519,8.05362772545741,11.157956802210698 +107.899,2024/06/13 13:48:22.3349,47.616825481814004,48.94078054138491 +108.063,2024/06/13 13:48:22.4989,47.59924900402465,68.21925436903182 +108.638,2024/06/13 13:48:23.0739,54.88948143691845,72.6404386917737 +108.802,2024/06/13 13:48:23.2379,54.88948143691845,77.3140780625797 +109.048,2024/06/13 13:48:23.4839,54.88948143691845,77.3140780625797 +109.13,2024/06/13 13:48:23.5659,54.9109624128322,77.32959761091911 +109.295,2024/06/13 13:48:23.7309,54.893302985370624,77.35567206094198 +109.54,2024/06/13 13:48:23.9759,54.87461151120587,77.35567206094198 +109.787,2024/06/13 13:48:24.2229,54.868798578712145,77.36945995244722 +109.869,2024/06/13 13:48:24.3049,55.20332323829555,77.53816264696157 +110.033,2024/06/13 13:48:24.4689,55.095277975271436,77.68912407795573 +110.28,2024/06/13 13:48:24.7159,55.063818773592615,77.67174518446203 +110.525,2024/06/13 13:48:24.9609,55.046532040222004,77.66981395625974 +110.772,2024/06/13 13:48:25.2079,55.006582678176336,77.66788268003705 +110.854,2024/06/13 13:48:25.2899,55.11435343014559,77.75367086725444 +111.018,2024/06/13 13:48:25.4539,55.05879824667288,77.83936450579917 +111.265,2024/06/13 13:48:25.7009,54.998484827614526,77.83936450579917 +111.346,2024/06/13 13:48:25.7819,55.02388196235256,77.83079938773167 +111.51,2024/06/13 13:48:25.9459,54.95474627301126,77.82223332698696 +111.757,2024/06/13 13:48:26.1929,54.8808112938928,77.82223332698696 +111.839,2024/06/13 13:48:26.2749,54.92485985312177,77.89950791457757 +112.003,2024/06/13 13:48:26.4389,54.901217456090436,77.85349489051 +112.25,2024/06/13 13:48:26.6859,54.82658135419822,77.73008855434726 +112.496,2024/06/13 13:48:26.9319,54.813592156120194,77.6262412675851 +112.578,2024/06/13 13:48:27.0139,56.04535314542513,78.42533604220854 +112.743,2024/06/13 13:48:27.1789,55.99364701238113,79.31792567467541 +112.989,2024/06/13 13:48:27.4249,55.99364701238113,79.27673050775996 +113.235,2024/06/13 13:48:27.6709,55.92910126057904,79.22941373000307 +113.481,2024/06/13 13:48:27.9169,55.859851311167645,79.22941373000307 +113.563,2024/06/13 13:48:27.9989,57.18073785471125,80.19621769967293 +113.727,2024/06/13 13:48:28.1629,32.97431950967999,65.68764470329764 +113.974,2024/06/13 13:48:28.4099,33.005415786873414,45.21246140907025 +114.22,2024/06/13 13:48:28.6559,18.779543774219665,37.54153255617925 +114.302,2024/06/13 13:48:28.7379,25.928194390813985,32.48589437484111 +114.466,2024/06/13 13:48:28.9019,25.961509971494745,37.445070881670574 +114.712,2024/06/13 13:48:29.1479,26.007094522788634,37.40721855471214 +114.959,2024/06/13 13:48:29.3949,26.112070578280036,37.35326848706371 +115.205,2024/06/13 13:48:29.6409,26.208031584616375,37.35326848706371 +115.287,2024/06/13 13:48:29.7229,35.196721372910936,45.34129831989081 +115.452,2024/06/13 13:48:29.8879,34.59160751316503,51.88834165783293 +115.697,2024/06/13 13:48:30.1329,34.67583875126131,51.63590482083825 +115.779,2024/06/13 13:48:30.2149,43.0956701027984,59.14727381714224 +115.944,2024/06/13 13:48:30.3799,43.18663054084332,65.80678789709565 +116.19,2024/06/13 13:48:30.6259,43.27644364677717,65.80678789709565 +116.437,2024/06/13 13:48:30.8729,42.95284771044661,65.70540312637918 +116.519,2024/06/13 13:48:30.9549,46.31254391779807,69.10788667004657 +116.682,2024/06/13 13:48:31.1179,46.41428882248004,72.44262097227939 +116.929,2024/06/13 13:48:31.3649,46.35351416950081,72.42398313634327 +117.175,2024/06/13 13:48:31.6109,46.45472397195347,72.4053405028478 +117.421,2024/06/13 13:48:31.8569,46.55482492865776,72.4053405028478 +117.503,2024/06/13 13:48:31.9389,47.80895890650815,73.96846174778365 +117.668,2024/06/13 13:48:32.1039,47.914003424238906,75.49922736911506 +117.913,2024/06/13 13:48:32.3489,48.01795641144135,75.49922736911506 +117.995,2024/06/13 13:48:32.4309,49.14418149397441,77.22801736848271 +118.16,2024/06/13 13:48:32.5959,48.798388893699524,78.02157821184257 +118.406,2024/06/13 13:48:32.8419,48.901308070792226,77.11376876624131 +118.489,2024/06/13 13:48:32.9249,49.256319974916075,78.07795250047651 +118.653,2024/06/13 13:48:33.0889,49.3659685469126,79.03037390775778 +118.899,2024/06/13 13:48:33.3349,49.474537744758386,79.03037390775778 +119.146,2024/06/13 13:48:33.5819,48.98731949458362,78.04912982645398 +119.227,2024/06/13 13:48:33.6629,48.922598966686344,77.45428759382315 +119.391,2024/06/13 13:48:33.8269,49.026101422504546,77.85114000449833 +119.638,2024/06/13 13:48:34.0739,49.128543567904536,77.85114000449833 +119.884,2024/06/13 13:48:34.3199,46.91047967616951,75.59100475585703 +119.966,2024/06/13 13:48:34.4019,46.80899068763864,73.47947559239473 +120.131,2024/06/13 13:48:34.5669,46.80899068763864,73.68898606078568 +120.377,2024/06/13 13:48:34.8129,46.80899068763864,73.68898606078568 +120.623,2024/06/13 13:48:35.0589,46.71371601968586,73.69712794042022 +120.705,2024/06/13 13:48:35.1409,41.26406412977007,69.20549111161628 +120.869,2024/06/13 13:48:35.3049,41.173378856207705,64.40134574163287 +121.115,2024/06/13 13:48:35.5509,41.081486167702806,64.40134574163287 +121.198,2024/06/13 13:48:35.6339,32.04407883690472,57.732428784291876 +121.362,2024/06/13 13:48:35.7979,31.952479082854403,50.184991116202596 +121.608,2024/06/13 13:48:36.0439,31.79344253939429,50.20624131187941 +121.854,2024/06/13 13:48:36.2899,31.62648388231992,50.20624131187941 +121.937,2024/06/13 13:48:36.3729,25.2893371742451,45.28539131625857 +122.101,2024/06/13 13:48:36.5369,25.132316513472173,39.76011401727448 +122.347,2024/06/13 13:48:36.7829,24.96528624393066,39.76011401727448 +122.593,2024/06/13 13:48:37.0289,24.78804402200377,39.76011401727448 +122.839,2024/06/13 13:48:37.2749,24.60036912161191,39.76011401727448 +122.921,2024/06/13 13:48:37.3569,20.972039404445614,36.610563138708116 +123.085,2024/06/13 13:48:37.5209,20.796357992377846,33.16323265304515 +123.167,2024/06/13 13:48:37.6029,20.710622517381825,33.21345109038405 +123.332,2024/06/13 13:48:37.7679,15.28066917954571,29.024702123076704 +123.578,2024/06/13 13:48:38.0139,15.09951662467568,24.04994802489186 +123.825,2024/06/13 13:48:38.2609,14.901052959786186,24.04994802489186 +123.906,2024/06/13 13:48:38.3419,10.981122778262101,20.75813093705693 +124.07,2024/06/13 13:48:38.5059,10.776997641315656,16.834488409215172 +124.645,2024/06/13 13:48:39.0809,10.692192876381949,16.897731603186664 +124.81,2024/06/13 13:48:39.2459,10.427031624856342,16.960738977611403 +125.138,2024/06/13 13:48:39.5739,9.353590496297116,15.315569420255542 +125.548,2024/06/13 13:48:39.9839,9.04751188252191,13.470956412470002 +125.795,2024/06/13 13:48:40.2309,9.703003445432755,14.110279940525631 +125.876,2024/06/13 13:48:40.3119,9.77799546953836,14.152738250953417 +126.041,2024/06/13 13:48:40.4769,10.163264929293293,13.017936344392941 +126.287,2024/06/13 13:48:40.7229,10.454114297593291,11.723196378690128 +126.534,2024/06/13 13:48:40.9699,10.589519867987608,11.723196378690128 +126.78,2024/06/13 13:48:41.2159,11.35002152005767,11.74166370948626 +126.862,2024/06/13 13:48:41.2979,11.723049307134092,10.85664159243855 +127.026,2024/06/13 13:48:41.4619,12.251389787455441,9.892758294159757 +127.272,2024/06/13 13:48:41.7079,12.627100940475318,9.892758294159757 +127.354,2024/06/13 13:48:41.7899,12.822797585982096,9.075608335900501 +127.519,2024/06/13 13:48:41.9549,13.032276465955404,8.17720408615724 +127.765,2024/06/13 13:48:42.2009,13.418164048662625,8.04570278678832 +127.846,2024/06/13 13:48:42.2819,13.515253196502105,8.097324661063471 +128.011,2024/06/13 13:48:42.4469,13.915343388118051,8.01664934163062 +128.258,2024/06/13 13:48:42.6939,14.090185709683949,7.882470002057308 +128.504,2024/06/13 13:48:42.9399,14.190169820699168,7.882470002057308 +128.586,2024/06/13 13:48:43.0219,14.126033682044605,9.395034149308168 +128.751,2024/06/13 13:48:43.1869,13.951846579881815,10.14724921674178 +128.996,2024/06/13 13:48:43.4319,13.60041412486667,10.132456102380443 +129.243,2024/06/13 13:48:43.6789,13.322524354358405,10.117641358867523 +129.325,2024/06/13 13:48:43.7609,13.254754080977348,11.539786248742507 +129.489,2024/06/13 13:48:43.9249,12.920446239760613,12.80494696071275 +129.735,2024/06/13 13:48:44.1709,12.528817357112354,12.80494696071275 +129.817,2024/06/13 13:48:44.2529,13.885575083602435,14.925369900497163 +129.982,2024/06/13 13:48:44.4179,13.048142511046187,16.71625954971187 +130.228,2024/06/13 13:48:44.6639,12.58716733857394,16.65232716469383 +130.474,2024/06/13 13:48:44.9099,12.418238348422438,16.58814837969165 +130.556,2024/06/13 13:48:44.9919,14.05833495152474,18.37298741812737 +131.048,2024/06/13 13:48:45.4839,15.605038973978047,18.14754345175493 +131.213,2024/06/13 13:48:45.6489,15.251191775555716,19.41219547947458 +131.459,2024/06/13 13:48:45.8949,15.251191775555716,18.952572384771415 +131.705,2024/06/13 13:48:46.1409,15.263546837777616,18.97717927757793 +131.787,2024/06/13 13:48:46.2229,19.15577401623278,21.884545536367288 +131.952,2024/06/13 13:48:46.3879,19.116851806418452,24.473114500065847 +132.198,2024/06/13 13:48:46.6339,19.073993849725557,24.473114500065847 +132.445,2024/06/13 13:48:46.8809,18.88732470422466,24.439721766010347 +132.526,2024/06/13 13:48:46.9619,22.53640732620137,27.3970801363941 +132.69,2024/06/13 13:48:47.1259,22.30687229810996,30.064929735490818 +132.937,2024/06/13 13:48:47.3729,22.06323201384144,30.064929735490818 +133.018,2024/06/13 13:48:47.4539,24.275265307451654,31.965085119027396 +133.183,2024/06/13 13:48:47.6189,23.992719202138836,33.758455730873315 +133.429,2024/06/13 13:48:47.8649,23.695894207623542,33.758455730873315 +133.511,2024/06/13 13:48:47.9469,24.886985935736526,35.0561454431792 +133.675,2024/06/13 13:48:48.1109,24.54692901643625,36.307483158893476 +133.922,2024/06/13 13:48:48.3579,24.191406282625692,36.307483158893476 +134.168,2024/06/13 13:48:48.6039,23.819725236552447,36.307483158893476 +134.25,2024/06/13 13:48:48.6859,24.183684059974556,36.44722211636986 +134.414,2024/06/13 13:48:48.8499,24.01426778961389,36.742346141747674 +134.661,2024/06/13 13:48:49.0969,23.840562363189452,36.742346141747674 +134.907,2024/06/13 13:48:49.3429,23.662473321235503,36.742346141747674 +134.989,2024/06/13 13:48:49.4249,23.549995729311647,36.36481816261426 +135.153,2024/06/13 13:48:49.5889,23.370479463306882,35.983329473521486 +135.4,2024/06/13 13:48:49.8359,23.186401087756572,35.983329473521486 +135.481,2024/06/13 13:48:49.9169,22.961136581264284,35.16437591275201 +135.646,2024/06/13 13:48:50.0819,22.78585970067564,34.325889160612675 +135.892,2024/06/13 13:48:50.3279,22.605970119804503,34.325889160612675 +136.139,2024/06/13 13:48:50.5749,22.421356813969403,34.325889160612675 +136.384,2024/06/13 13:48:50.8199,22.007835595220016,33.372643487343545 +136.466,2024/06/13 13:48:50.9019,21.63450309431578,33.529588922820594 +136.712,2024/06/13 13:48:51.1479,21.858373812961233,32.83037211688794 +137.124,2024/06/13 13:48:51.5599,21.667391676641365,33.44647465229582 +137.369,2024/06/13 13:48:51.8049,21.667391676641365,33.414567681377136 +137.451,2024/06/13 13:48:51.8869,20.651709455836812,32.619523806048015 +137.616,2024/06/13 13:48:52.0519,20.651709455836812,31.804611824912016 +137.863,2024/06/13 13:48:52.2989,20.651709455836812,31.804611824912016 +138.109,2024/06/13 13:48:52.5449,20.651709455836812,31.804611824912016 +138.19,2024/06/13 13:48:52.6259,18.549839668422067,30.223059628921312 +138.355,2024/06/13 13:48:52.7909,18.549839668422067,28.554042329122744 +138.601,2024/06/13 13:48:53.0369,18.549839668422067,28.554042329122744 +138.682,2024/06/13 13:48:53.1179,16.914286962455883,27.313610770700627 +138.847,2024/06/13 13:48:53.2829,16.914286962455883,26.014098741515788 +139.094,2024/06/13 13:48:53.5299,16.914286962455883,26.014098741515788 +139.34,2024/06/13 13:48:53.7759,14.912349275669971,24.21982658897458 +139.422,2024/06/13 13:48:53.8579,15.60890550405485,23.130067012440755 +139.586,2024/06/13 13:48:54.0219,15.60890550405485,23.948555975952566 +139.832,2024/06/13 13:48:54.2679,15.60890550405485,23.948555975952566 +139.914,2024/06/13 13:48:54.3499,16.31739780922184,24.53093285357625 +140.08,2024/06/13 13:48:54.5159,16.31739780922184,25.099800796022265 +140.325,2024/06/13 13:48:54.7609,16.31739780922184,25.099800796022265 +140.572,2024/06/13 13:48:55.0079,16.31739780922184,25.099800796022265 +140.652,2024/06/13 13:48:55.0879,18.437094043846358,26.981475126464083 +140.818,2024/06/13 13:48:55.2539,18.437094043846358,28.74021572639983 +141.146,2024/06/13 13:48:55.5819,20.1198706606757,30.50464445512082 +141.557,2024/06/13 13:48:55.9929,20.02228643344731,32.16416225138366 +141.803,2024/06/13 13:48:56.2389,20.02228643344731,32.155870381627054 +141.884,2024/06/13 13:48:56.3199,21.26991291477972,33.633316815324655 +142.049,2024/06/13 13:48:56.4849,21.26991291477972,35.04853777263754 +142.295,2024/06/13 13:48:56.7309,21.26991291477972,35.04853777263754 +142.377,2024/06/13 13:48:56.8129,22.09771923530368,35.93373531005834 +142.542,2024/06/13 13:48:56.9779,21.93050675284993,36.813493902825 +142.788,2024/06/13 13:48:57.2239,21.83082814442175,36.49703184278597 +143.034,2024/06/13 13:48:57.4699,21.70269330179401,36.49703184278597 +143.281,2024/06/13 13:48:57.7169,21.029262589484293,35.560277464234346 +143.361,2024/06/13 13:48:57.7969,21.592463563906477,34.85206832695395 +143.527,2024/06/13 13:48:57.9629,21.40493551421779,35.104130811059825 +143.773,2024/06/13 13:48:58.2089,21.187070444565766,35.104130811059825 +143.855,2024/06/13 13:48:58.2909,21.395052602460975,34.55285805834302 +144.019,2024/06/13 13:48:58.4549,21.142102680365713,33.99264626356707 +144.266,2024/06/13 13:48:58.7019,20.85695672139536,33.99264626356707 +144.347,2024/06/13 13:48:58.7829,20.924741995690287,33.40059879702758 +144.512,2024/06/13 13:48:58.9479,20.60454140321441,32.797865784224435 +144.758,2024/06/13 13:48:59.1939,20.249279822584455,32.797865784224435 +145.005,2024/06/13 13:48:59.4409,19.85707552173411,32.797865784224435 +145.086,2024/06/13 13:48:59.5219,19.72873509644595,32.2055895769663 +145.25,2024/06/13 13:48:59.6859,19.308178244630568,31.60221511223541 +145.497,2024/06/13 13:48:59.9329,18.846018513019914,31.60221511223541 +145.743,2024/06/13 13:49:00.1789,18.424402858427822,30.564140208202595 +145.825,2024/06/13 13:49:00.2609,19.170889090121428,30.253374467432003 +145.99,2024/06/13 13:49:00.4259,18.722289868790668,30.99838705481303 +146.235,2024/06/13 13:49:00.6709,18.229349834875727,30.99838705481303 +146.317,2024/06/13 13:49:00.7529,18.454043571475687,30.074906483645133 +146.482,2024/06/13 13:49:00.9179,18.024281196310376,29.122156513555105 +146.728,2024/06/13 13:49:01.1639,16.894670315145653,27.29041345723195 +146.974,2024/06/13 13:49:01.4099,16.484231406330743,25.302832516011588 +147.056,2024/06/13 13:49:01.4919,16.355813757748347,25.74425502256118 +147.221,2024/06/13 13:49:01.6569,15.26625758624709,24.25077318355025 +147.467,2024/06/13 13:49:01.9029,14.794997601317053,22.156263222845137 +147.713,2024/06/13 13:49:02.1489,14.240503994696768,22.156263222845137 +147.795,2024/06/13 13:49:02.2309,13.519674892370391,20.4344480391976 +147.96,2024/06/13 13:49:02.3959,12.889851661755232,18.553526169796765 +148.205,2024/06/13 13:49:02.6409,12.931517232367556,18.072077910411963 +148.287,2024/06/13 13:49:02.7229,13.461054936370429,18.278402556022233 +148.452,2024/06/13 13:49:02.8879,13.487158643533643,18.482424083436676 +148.698,2024/06/13 13:49:03.1339,12.892348260815194,17.99907405025788 +148.944,2024/06/13 13:49:03.3799,12.925471600368674,17.502380790433435 +149.026,2024/06/13 13:49:03.4619,13.827716627354544,17.957356895341437 +149.191,2024/06/13 13:49:03.6269,13.273255453912189,17.915542600397753 +149.437,2024/06/13 13:49:03.8729,13.296616110875036,17.416467303484175 +149.519,2024/06/13 13:49:03.9549,14.332223961344592,18.00462903440853 +150.176,2024/06/13 13:49:04.6119,14.053305742736498,18.281137820168635 +150.257,2024/06/13 13:49:04.6929,14.99179852414257,18.553526169796765 +150.423,2024/06/13 13:49:04.8589,14.986737431827914,19.106717841289925 +150.669,2024/06/13 13:49:05.1049,15.07075267552596,19.149412523625887 +150.75,2024/06/13 13:49:05.1859,16.08915533955104,19.56527536223296 +150.915,2024/06/13 13:49:05.3509,16.123945211869685,19.97248106770914 +151.161,2024/06/13 13:49:05.5969,16.146634110656635,19.97248106770914 +151.407,2024/06/13 13:49:05.8429,16.15727301447676,19.97248106770914 +151.489,2024/06/13 13:49:05.9249,15.26429987174905,19.52690451658941 +151.653,2024/06/13 13:49:06.0889,15.185292339900485,19.070920271449932 +151.9,2024/06/13 13:49:06.3359,15.093006677752323,19.070920271449932 +151.981,2024/06/13 13:49:06.4169,13.719689685172492,18.81754500459611 +152.146,2024/06/13 13:49:06.5819,13.509511336524366,18.560711193270585 +152.392,2024/06/13 13:49:06.8279,13.442940291398925,18.528356645962965 +152.639,2024/06/13 13:49:07.0749,13.442940291398925,18.57238092796218 +152.72,2024/06/13 13:49:07.1559,13.278666668973106,19.453363034018906 +152.885,2024/06/13 13:49:07.3209,13.278666668973106,20.296140848282793 +153.132,2024/06/13 13:49:07.5679,13.278666668973106,20.296140848282793 +153.213,2024/06/13 13:49:07.6489,13.707787869521827,21.07051652586302 +153.87,2024/06/13 13:49:08.3059,13.615786983217724,21.8105479069188 +153.951,2024/06/13 13:49:08.3869,13.586504460243688,22.138202275704323 +154.116,2024/06/13 13:49:08.5519,13.586504460243688,22.46775467197379 +154.363,2024/06/13 13:49:08.7989,13.724757393746104,22.300224214119464 +154.444,2024/06/13 13:49:08.8799,13.737272061006365,22.5262809476694 +154.609,2024/06/13 13:49:09.0449,13.737272061006365,22.91433321453336 +154.856,2024/06/13 13:49:09.2919,13.709171357536162,22.915060549778175 +155.101,2024/06/13 13:49:09.5369,13.727604541096326,22.561028345356956 +155.183,2024/06/13 13:49:09.6189,13.662138302200391,22.49888886145269 +155.348,2024/06/13 13:49:09.7839,13.662138302200391,22.793273861675363 +155.594,2024/06/13 13:49:10.0299,13.580919678368325,22.331591971912793 +155.676,2024/06/13 13:49:10.1119,13.815741480051772,22.492220877450052 +155.841,2024/06/13 13:49:10.2769,13.743796928903434,22.651710752170576 +156.086,2024/06/13 13:49:10.5219,13.743796928903434,22.187083329420897 +156.332,2024/06/13 13:49:10.7679,13.871702776911782,22.150244543420584 +156.414,2024/06/13 13:49:10.8499,13.67286094556401,22.219360926903367 +156.579,2024/06/13 13:49:11.0149,13.794426660666264,22.288262980023067 +156.825,2024/06/13 13:49:11.2609,13.910882203444539,22.288262980023067 +156.907,2024/06/13 13:49:11.3429,14.014155405306663,22.585393509965684 +157.072,2024/06/13 13:49:11.5079,13.277281607938521,22.25758297749331 +157.318,2024/06/13 13:49:11.7539,13.380204970680477,21.618664775296985 +157.564,2024/06/13 13:49:11.9999,13.478164546412904,21.618664775296985 +157.811,2024/06/13 13:49:12.2469,12.11363817707185,20.708291415115188 +157.892,2024/06/13 13:49:12.3279,12.399898034432452,20.160191798029437 +158.057,2024/06/13 13:49:12.4929,12.4842889771233,20.55642640797925 +158.138,2024/06/13 13:49:12.5739,12.977832559059577,21.18883353718809 +158.303,2024/06/13 13:49:12.7389,11.538043022175147,20.517472228972718 +158.549,2024/06/13 13:49:12.9849,11.538043022175147,19.103228348458103 +158.796,2024/06/13 13:49:13.2319,11.514308939088878,19.27347054027029 +158.878,2024/06/13 13:49:13.3139,11.891704826395374,18.85647545716502 +159.042,2024/06/13 13:49:13.4779,11.842889131814879,18.430047929038782 +159.288,2024/06/13 13:49:13.7239,11.65421338637345,18.026831853286552 +159.534,2024/06/13 13:49:13.9699,11.594687646036357,17.61438805825132 +159.616,2024/06/13 13:49:14.0519,12.643475442469052,18.151216671801002 +159.781,2024/06/13 13:49:14.2169,12.427675826023641,18.19432145844778 +160.027,2024/06/13 13:49:14.4629,12.315815455940276,17.703107071923842 +160.108,2024/06/13 13:49:14.5439,12.995180362104472,18.112610708196282 +160.274,2024/06/13 13:49:14.7099,12.828174810372047,18.513058454327133 +160.519,2024/06/13 13:49:14.9549,12.740784363878216,18.149380154705007 +160.601,2024/06/13 13:49:15.0369,13.186940596620397,18.149380154705007 +160.765,2024/06/13 13:49:15.2009,12.970390683503025,18.513058454327133 +161.012,2024/06/13 13:49:15.4479,12.620727341188948,17.73978579352073 +161.096,2024/06/13 13:49:15.5319,13.205885138785368,17.489044189625307 +161.259,2024/06/13 13:49:15.6949,12.943733228284566,18.029605283163207 +161.505,2024/06/13 13:49:15.9409,12.658375992146864,18.029605283163207 +161.751,2024/06/13 13:49:16.1869,12.578946102810482,17.523317798484015 +161.832,2024/06/13 13:49:16.2679,13.424330287880169,17.569860557215588 +161.997,2024/06/13 13:49:16.4329,13.086142534632419,18.153053003099323 +162.244,2024/06/13 13:49:16.6799,13.086142534632419,17.782013384316187 +162.324,2024/06/13 13:49:16.7599,14.177892779891181,18.35755975068582 +162.49,2024/06/13 13:49:16.9259,13.738150589112173,19.264821134215946 +163.064,2024/06/13 13:49:17.4999,14.56258787156886,20.184977912629314 +163.229,2024/06/13 13:49:17.6649,14.015590662156082,21.064978835340266 +163.475,2024/06/13 13:49:17.9109,14.018706713921794,20.67849124090053 +163.556,2024/06/13 13:49:17.9919,13.883753839994895,20.67849124090053 +163.721,2024/06/13 13:49:18.1569,13.846822117675208,20.38872237291979 +163.968,2024/06/13 13:49:18.4039,13.18170972462543,19.689252567496478 +164.214,2024/06/13 13:49:18.6499,12.444312738763237,19.689252567496478 +164.295,2024/06/13 13:49:18.7309,12.4178218239146,19.543967526238543 +164.46,2024/06/13 13:49:18.8959,12.229792152439483,19.148542155126762 +164.706,2024/06/13 13:49:19.1419,12.117053623124022,18.722535440835287 +164.953,2024/06/13 13:49:19.3889,11.999808427586084,18.722535440835287 +165.033,2024/06/13 13:49:19.4689,12.47254456059421,18.978057505094316 +165.199,2024/06/13 13:49:19.6349,12.18388798523276,18.72431574183687 +165.446,2024/06/13 13:49:19.8819,12.080429694721646,18.204395073717773 +165.527,2024/06/13 13:49:19.9629,12.829070795314166,18.6422459305024 +165.691,2024/06/13 13:49:20.1269,12.621091633567529,18.680649524753324 +165.938,2024/06/13 13:49:20.3739,12.535008447604989,18.282961102257662 +166.184,2024/06/13 13:49:20.6199,12.445005460804708,18.282961102257662 +166.266,2024/06/13 13:49:20.7019,12.90442319249318,18.282961102257662 +166.43,2024/06/13 13:49:20.8659,12.832071889037959,18.282961102257662 +166.677,2024/06/13 13:49:21.1129,12.756066845984732,18.282961102257662 +166.923,2024/06/13 13:49:21.3589,12.385753774060186,17.75011737050397 +167.004,2024/06/13 13:49:21.4399,14.450708927442692,18.686893802876924 +167.169,2024/06/13 13:49:21.6049,14.405299152675907,20.063233371850444 +167.415,2024/06/13 13:49:21.8509,14.405299152675907,20.033305601755625 +167.662,2024/06/13 13:49:22.0979,13.697050609610248,19.548230951503854 +167.742,2024/06/13 13:49:22.1779,16.946331783588747,22.123140223153975 +167.908,2024/06/13 13:49:22.3439,17.025201063843483,24.850888649435994 +168.154,2024/06/13 13:49:22.5899,15.880335559149744,24.154364684945314 +168.236,2024/06/13 13:49:22.6719,18.2317457124674,25.794056162870806 +168.401,2024/06/13 13:49:22.8369,16.961382778154146,27.295909339435216 +168.974,2024/06/13 13:49:23.4099,17.557000764994253,27.5118156434649 +169.14,2024/06/13 13:49:23.5759,17.690993877330786,28.3731093349554 +169.385,2024/06/13 13:49:23.8209,17.068489485987733,28.08736370683443 +169.632,2024/06/13 13:49:24.0679,17.210027817269918,27.79868102386634 +169.878,2024/06/13 13:49:24.3139,17.347165126641702,27.79868102386634 +169.959,2024/06/13 13:49:24.3949,17.459476891742035,28.201063809721788 +170.124,2024/06/13 13:49:24.5599,17.639460726240575,28.583211855912904 +170.206,2024/06/13 13:49:24.6419,17.791383682369247,29.02240513809977 +170.37,2024/06/13 13:49:24.8059,17.9334978414008,29.469192953546138 +170.617,2024/06/13 13:49:25.0529,18.07137827183136,29.469192953546138 +170.698,2024/06/13 13:49:25.1339,18.164763160845116,29.747829052442352 +170.863,2024/06/13 13:49:25.2989,18.29958230790032,30.02387938513831 +171.109,2024/06/13 13:49:25.5449,18.43035976098893,30.02387938513831 +171.356,2024/06/13 13:49:25.7919,18.34061506382701,29.75399132889569 +171.437,2024/06/13 13:49:25.8729,18.3144939775881,29.592228709578468 +171.602,2024/06/13 13:49:26.0379,18.432511257674733,29.70241292106305 +171.848,2024/06/13 13:49:26.2839,18.546741201497902,29.70241292106305 +171.93,2024/06/13 13:49:26.3659,18.52627832311937,29.482198018465315 +172.095,2024/06/13 13:49:26.5309,18.62395565227393,29.260325812722364 +172.341,2024/06/13 13:49:26.7769,18.718114651104386,29.260325812722364 +172.587,2024/06/13 13:49:27.0229,18.808808159151134,29.260325812722364 +172.669,2024/06/13 13:49:27.1049,18.043020110629314,28.466354408904092 +172.833,2024/06/13 13:49:27.2689,18.043020110629314,27.805275278862702 +173.079,2024/06/13 13:49:27.5149,18.043020110629314,27.805275278862702 +173.161,2024/06/13 13:49:27.5969,19.5164534181525,28.7199117918794 +173.326,2024/06/13 13:49:27.7619,16.556451671597618,27.386736449115897 +173.572,2024/06/13 13:49:28.0079,16.526537350017822,24.937922928744488 +173.654,2024/06/13 13:49:28.0899,18.66387499650006,26.49402448351955 +173.818,2024/06/13 13:49:28.2539,15.562406810871064,25.80568412837244 +174.065,2024/06/13 13:49:28.5009,15.575585079689068,23.449946695035365 +174.311,2024/06/13 13:49:28.7469,14.117568739919603,22.40014880902952 +174.392,2024/06/13 13:49:28.8279,17.19462626560137,23.867690853257393 +174.557,2024/06/13 13:49:28.9929,17.24205630854517,26.18587405453559 +174.803,2024/06/13 13:49:29.2389,17.286098327911223,26.18587405453559 +174.884,2024/06/13 13:49:29.3199,19.504346700922806,28.111089152384924 +175.05,2024/06/13 13:49:29.4859,18.890610694567428,29.53359668806584 +175.296,2024/06/13 13:49:29.7319,18.95672628024893,29.149614062625254 +175.377,2024/06/13 13:49:29.8129,19.057686173792433,29.704657322828464 +175.542,2024/06/13 13:49:29.9779,19.146771283290082,30.249517902494468 +175.789,2024/06/13 13:49:30.2249,19.23251557057275,30.249517902494468 +176.035,2024/06/13 13:49:30.4709,18.422905532943773,29.814426038413014 +176.116,2024/06/13 13:49:30.5519,18.921039800347746,30.059940119700837 +176.281,2024/06/13 13:49:30.7169,19.025572627203907,30.731634081729744 +176.527,2024/06/13 13:49:30.9629,19.126589784420975,30.731634081729744 +176.609,2024/06/13 13:49:31.0449,19.233471781805655,31.247933264991033 +176.774,2024/06/13 13:49:31.2099,19.34754729175774,31.755839358035136 +177.02,2024/06/13 13:49:31.4559,19.458059819877445,31.755839358035136 +177.266,2024/06/13 13:49:31.7019,19.583478845140554,31.75111546596959 +177.348,2024/06/13 13:49:31.7839,19.644571652296328,31.999479162428045 +177.512,2024/06/13 13:49:31.9479,19.75260785924951,32.2505813901083 +177.759,2024/06/13 13:49:32.1949,19.85722023351218,32.2505813901083 +178.005,2024/06/13 13:49:32.4409,19.880129281013073,32.13409404355443 +178.086,2024/06/13 13:49:32.5219,19.78458705804544,31.907679326456822 +178.252,2024/06/13 13:49:32.6879,19.78458705804544,31.933263743835102 +178.498,2024/06/13 13:49:32.9339,19.132448215337064,31.086974764360715 +178.578,2024/06/13 13:49:33.0139,19.054067053106486,30.236842868703516 +178.744,2024/06/13 13:49:33.1799,19.764707894649774,30.607188698082023 +178.991,2024/06/13 13:49:33.4269,19.03079778589779,29.270576807891345 +179.071,2024/06/13 13:49:33.5069,18.99670267819112,28.475720652279666 +179.237,2024/06/13 13:49:33.6729,19.619395751528362,29.068883707497267 +179.483,2024/06/13 13:49:33.9189,20.200176396177824,29.068883707497267 +179.729,2024/06/13 13:49:34.1649,18.952451089470596,27.120103244641236 +179.81,2024/06/13 13:49:34.2459,19.102897415185364,26.573796617470123 +179.975,2024/06/13 13:49:34.4109,20.25084076585621,28.098042636454235 +180.222,2024/06/13 13:49:34.6579,18.70533761182477,26.1725046566048 +180.302,2024/06/13 13:49:34.7379,18.910223471024064,25.700194551792794 +180.468,2024/06/13 13:49:34.9039,19.920676026010444,27.21274211345364 +180.714,2024/06/13 13:49:35.1499,19.101332925745517,26.110023618015617 +180.96,2024/06/13 13:49:35.3959,19.887181801349897,24.95863244116819 +181.206,2024/06/13 13:49:35.6419,20.57866879065183,24.95863244116819 +181.287,2024/06/13 13:49:35.7229,20.899980751240967,26.513518564435515 +181.453,2024/06/13 13:49:35.8889,20.11292830637599,27.242736034889496 +181.534,2024/06/13 13:49:35.9699,20.48705787149129,27.952936637617643 +182.191,2024/06/13 13:49:36.6269,21.023686696172042,29.34961669255665 +182.273,2024/06/13 13:49:36.7089,20.29733010017214,30.453242848668843 +182.438,2024/06/13 13:49:36.8739,20.752399113487375,31.518248682311015 +182.685,2024/06/13 13:49:37.1209,21.134925064244285,31.518248682311015 +182.765,2024/06/13 13:49:37.2009,22.275211726742786,33.551453023676935 +182.93,2024/06/13 13:49:37.3659,21.863973411374523,35.240128641460245 +183.177,2024/06/13 13:49:37.6129,22.11986676603382,35.010474623080064 +183.423,2024/06/13 13:49:37.8589,22.31336386331104,35.010474623080064 +183.504,2024/06/13 13:49:37.9399,23.5312460407401,36.851503813729686 +183.67,2024/06/13 13:49:38.1059,23.524235485396282,38.583675304460044 +183.915,2024/06/13 13:49:38.3509,23.6303185340984,38.56250337655307 +183.997,2024/06/13 13:49:38.4329,24.303256486776288,39.75801805925441 +184.162,2024/06/13 13:49:38.5979,24.219874046958665,40.90395253925143 +184.408,2024/06/13 13:49:38.8439,24.430901856403285,40.62757684135247 +184.655,2024/06/13 13:49:39.0909,25.048550558015076,41.56200187671426 +184.735,2024/06/13 13:49:39.1709,24.735009392663247,41.20760447619671 +184.901,2024/06/13 13:49:39.3369,25.308215012647594,40.850132598724 +185.147,2024/06/13 13:49:39.5829,25.81730685670555,40.850132598724 +185.228,2024/06/13 13:49:39.6639,25.602711781658456,40.87460499299453 +185.393,2024/06/13 13:49:39.8289,25.4892584994255,39.906975163079785 +185.64,2024/06/13 13:49:40.0759,25.858234198452646,38.86429380978552 +185.886,2024/06/13 13:49:40.3219,26.06622864669959,38.86386496477158 +185.966,2024/06/13 13:49:40.4019,25.669092287233877,38.214744100499566 +186.133,2024/06/13 13:49:40.5689,25.808957724993974,37.554404979087785 +186.378,2024/06/13 13:49:40.8139,25.818575688342307,37.554404979087785 +186.625,2024/06/13 13:49:41.0609,25.698092419923555,37.554404979087785 +186.706,2024/06/13 13:49:41.1419,25.112825866247068,37.95172372018606 +186.871,2024/06/13 13:49:41.3069,25.256932586482126,37.28672686090856 +187.117,2024/06/13 13:49:41.5529,24.92794213027847,36.19760581401299 +187.199,2024/06/13 13:49:41.6349,24.96443447197808,35.86456003726613 +187.363,2024/06/13 13:49:41.7989,24.58613757627409,35.52839240194618 +187.61,2024/06/13 13:49:42.0459,24.36975702528036,34.0431099245256 +187.856,2024/06/13 13:49:42.2919,23.718075942974696,32.47152598816385 +187.937,2024/06/13 13:49:42.3729,23.820304291751977,33.73030289418305 +188.102,2024/06/13 13:49:42.5379,23.347672113154726,32.99646445706974 +188.348,2024/06/13 13:49:42.7839,22.591041862068348,30.92679528607299 +188.595,2024/06/13 13:49:43.0309,21.686401268996388,30.92679528607299 +188.676,2024/06/13 13:49:43.1119,21.57182602750281,32.046840717924134 +188.843,2024/06/13 13:49:43.2789,21.11664375979502,31.06820453990435 +189.087,2024/06/13 13:49:43.5229,20.0498229991882,28.86058442466703 +189.169,2024/06/13 13:49:43.6049,19.23840149165069,29.482763325938993 +189.333,2024/06/13 13:49:43.7689,19.130405479054236,28.49385898750817 +189.58,2024/06/13 13:49:44.0159,17.766687153594905,26.800497507820012 +189.826,2024/06/13 13:49:44.2619,16.125798563490182,26.800497507820012 +189.907,2024/06/13 13:49:44.3429,16.323736331367613,25.64371267971937 +190.073,2024/06/13 13:49:44.5089,16.34737843230876,25.863745539525656 +190.4,2024/06/13 13:49:44.8359,16.703258681306256,26.238013136160543 +190.812,2024/06/13 13:49:45.2479,16.703258681306256,26.697066006086388 +191.058,2024/06/13 13:49:45.4939,16.68232597691098,26.53676694701146 +191.139,2024/06/13 13:49:45.5749,17.0506008253571,26.866335812685733 +191.304,2024/06/13 13:49:45.7399,16.91496650762113,27.326421890421976 +191.55,2024/06/13 13:49:45.9859,16.775769335012072,27.326421890421976 +191.796,2024/06/13 13:49:46.2319,16.516936622818996,26.802363079897763 +191.877,2024/06/13 13:49:46.3129,16.35317818595308,26.277366686941825 +192.043,2024/06/13 13:49:46.4789,16.124515496594732,26.317927983284196 +192.289,2024/06/13 13:49:46.7249,15.880335559149534,26.317927983284196 +192.535,2024/06/13 13:49:46.9709,15.644175589815553,25.74166531779429 +192.617,2024/06/13 13:49:47.0529,15.410885837575167,25.154853739719233 +192.782,2024/06/13 13:49:47.2179,15.148308960664274,25.157503850740042 +192.863,2024/06/13 13:49:47.2989,14.37654539418936,24.018048768929308 +193.028,2024/06/13 13:49:47.4639,14.110605777294712,22.82177322938192 +193.274,2024/06/13 13:49:47.7099,14.01132546832151,22.795467385718005 +193.52,2024/06/13 13:49:47.9559,13.907287430627376,22.795467385718005 +193.601,2024/06/13 13:49:48.0369,11.678696589213656,20.92685674757041 +193.767,2024/06/13 13:49:48.2029,11.609597694175843,18.83082579177026 +194.014,2024/06/13 13:49:48.4499,11.520546363157946,18.83082579177026 +194.094,2024/06/13 13:49:48.5299,11.569678961159394,18.8741445722272 +194.259,2024/06/13 13:49:48.6949,9.41751852519215,16.950909513454825 +194.506,2024/06/13 13:49:48.9419,9.302329457359496,14.724129855444769 +194.752,2024/06/13 13:49:49.1879,9.317145238871486,14.7648230602334 +194.833,2024/06/13 13:49:49.2689,8.572945952166986,13.48455907077919 +194.998,2024/06/13 13:49:49.4339,8.564897621355172,12.069244660154448 +195.245,2024/06/13 13:49:49.6809,8.502940667788383,12.069244660154448 +195.491,2024/06/13 13:49:49.9269,8.385880305947524,12.069244660154448 +195.572,2024/06/13 13:49:50.0079,8.477488784533165,11.404677403007359 +195.737,2024/06/13 13:49:50.1729,8.29935601988257,10.698909601761605 +195.983,2024/06/13 13:49:50.4189,7.969482020689531,9.495613022162743 +196.064,2024/06/13 13:49:50.4999,8.060475443033818,8.215838362577491 +196.23,2024/06/13 13:49:50.6659,7.755235532261833,8.314645713037528 +196.476,2024/06/13 13:49:50.9119,7.379764192720935,6.557438524302 +196.723,2024/06/13 13:49:51.1589,7.31429084564261,4.301162633521313 +196.803,2024/06/13 13:49:51.2389,7.982452018636078,4.74692883171144 +196.968,2024/06/13 13:49:51.4039,8.06268544293203,4.993328882953068 +197.215,2024/06/13 13:49:51.6509,8.285425508808459,4.774934554525329 +197.296,2024/06/13 13:49:51.7319,9.176181060251723,5.215361924162119 +197.461,2024/06/13 13:49:51.8969,9.080483049581801,5.808040403899867 +197.707,2024/06/13 13:49:52.1429,8.932441197515788,5.808040403899867 +197.954,2024/06/13 13:49:52.3899,8.618344508600135,5.796550698475776 +198.034,2024/06/13 13:49:52.4699,8.302886909649963,5.796550698475776 +198.2,2024/06/13 13:49:52.6359,7.969482020690955,5.808040403899867 +198.446,2024/06/13 13:49:52.8819,7.56094015926002,5.808040403899867 +198.692,2024/06/13 13:49:53.1279,7.325361393145654,5.946988033169957 +198.773,2024/06/13 13:49:53.2089,6.821534529216499,6.794605703546503 +198.938,2024/06/13 13:49:53.3739,6.875242942413202,7.438637868140466 +199.185,2024/06/13 13:49:53.6209,6.861855249947132,7.438637868140466 +199.266,2024/06/13 13:49:53.7019,7.039216910467107,8.542052836799048 +199.431,2024/06/13 13:49:53.8669,7.222569988677347,9.43221430347438 +199.677,2024/06/13 13:49:54.1129,7.113529282328117,9.345230512584124 +199.924,2024/06/13 13:49:54.3599,6.936824938677022,9.345230512584124 +200.004,2024/06/13 13:49:54.4399,6.936824938677022,9.626352718795768 +200.17,2024/06/13 13:49:54.6059,7.035541953160396,9.953223933312596 +200.416,2024/06/13 13:49:54.8519,7.051534438049846,9.946523680831074 +200.497,2024/06/13 13:49:54.9329,7.051534438049846,10.269696522617728 +200.663,2024/06/13 13:49:55.0989,7.035541953160553,10.583005244258363 +200.909,2024/06/13 13:49:55.3449,7.102209466800817,10.557777543908882 +201.155,2024/06/13 13:49:55.5909,7.031619881712243,10.532489417670133 +201.401,2024/06/13 13:49:55.8369,6.927871411827948,10.532489417670133 +201.483,2024/06/13 13:49:55.9189,7.103908589034009,10.762589527308627 +201.648,2024/06/13 13:49:56.0839,6.985123765758303,10.987872102155782 +201.894,2024/06/13 13:49:56.3299,6.831384639436434,10.987872102155782 +201.975,2024/06/13 13:49:56.4109,7.4532257924080465,11.567194992737004 +202.14,2024/06/13 13:49:56.5759,7.3206525681090096,12.019428716318703 +202.386,2024/06/13 13:49:56.8219,7.371582590260425,11.850457093856479 +202.468,2024/06/13 13:49:56.9039,7.636948900295165,12.205190152827061 +202.96,2024/06/13 13:49:57.3959,7.285318254471596,12.13397434204199 +203.125,2024/06/13 13:49:57.5609,7.350736924506645,11.884163131383435 +203.371,2024/06/13 13:49:57.8069,7.407979543675379,11.884163131383435 +203.452,2024/06/13 13:49:57.8879,7.4820858853247305,11.885565475258915 +203.618,2024/06/13 13:49:58.0539,7.491067477602706,11.881357947081076 +203.864,2024/06/13 13:49:58.2999,7.521616358446681,11.875745590628545 +204.11,2024/06/13 13:49:58.5459,7.5445801510188435,11.875745590628545 +204.357,2024/06/13 13:49:58.7929,7.5445801510188435,11.806777714516354 +204.437,2024/06/13 13:49:58.8729,7.077566956445176,11.376877134492283 +204.603,2024/06/13 13:49:59.0389,7.077566956445176,10.93008081702357 +204.849,2024/06/13 13:49:59.2849,7.062040342073918,10.931605554537724 +204.929,2024/06/13 13:49:59.3649,36.826090201651766,38.0600402872444 +205.095,2024/06/13 13:49:59.5309,36.826090201651766,52.83054671936177 +205.342,2024/06/13 13:49:59.7779,36.826090201651766,52.83054671936177 +205.588,2024/06/13 13:50:00.0239,36.826090201651766,52.83054671936177 +205.669,2024/06/13 13:50:00.1049,44.97846227880063,58.011493114152245 +205.834,2024/06/13 13:50:00.2699,44.97846227880063,62.766232960087706 +206.081,2024/06/13 13:50:00.5169,44.97846227880063,62.766232960087706 +206.326,2024/06/13 13:50:00.7619,44.95233746623345,62.71416639537407 +206.407,2024/06/13 13:50:00.8429,45.100194968612634,62.7301097294327 +206.573,2024/06/13 13:50:01.0089,45.100194968612634,62.798089142903066 +206.82,2024/06/13 13:50:01.2559,45.100194968612634,62.798089142903066 +206.9,2024/06/13 13:50:01.3359,45.24106567034516,62.86599504766733 +207.066,2024/06/13 13:50:01.5019,45.198718321773384,62.88189988648032 +207.312,2024/06/13 13:50:01.7479,45.198718321773384,62.82992917392156 +207.558,2024/06/13 13:50:01.9939,45.198718321773384,62.82992917392156 +207.639,2024/06/13 13:50:02.0749,45.38144843511441,62.906279495770534 +207.804,2024/06/13 13:50:02.2399,45.38144843511441,62.98253726232375 +208.052,2024/06/13 13:50:02.4879,45.38144843511441,62.98253726232375 +208.297,2024/06/13 13:50:02.7329,45.2954540866909,62.91475714541595 +208.378,2024/06/13 13:50:02.8139,45.32463997105472,62.89806568302929 +208.544,2024/06/13 13:50:02.9799,45.32463997105472,62.91528696058958 +208.789,2024/06/13 13:50:03.2249,45.341412397067025,62.92826603893251 +208.87,2024/06/13 13:50:03.3059,45.348066402403155,62.96004023717477 +209.036,2024/06/13 13:50:03.4719,45.364120715338956,62.991798407940905 +209.283,2024/06/13 13:50:03.7189,45.37892822045012,62.991798407940905 +209.528,2024/06/13 13:50:03.9639,45.392490137901916,62.991798407940905 +209.609,2024/06/13 13:50:04.0449,45.44579947206513,63.07746560116907 +209.775,2024/06/13 13:50:04.2109,45.50483111904049,63.235802095542894 +210.021,2024/06/13 13:50:04.4569,45.56596834551361,63.22921265786356 +210.267,2024/06/13 13:50:04.7029,45.6231565522716,63.22894906607257 +210.348,2024/06/13 13:50:04.7839,26.13756709782119,52.26120294571618 +210.514,2024/06/13 13:50:04.9499,26.372312196216562,38.09374401832056 +210.76,2024/06/13 13:50:05.1959,26.596516926915015,38.09374401832056 +211.006,2024/06/13 13:50:05.4419,26.810445725500305,38.09374401832056 +211.087,2024/06/13 13:50:05.5229,18.480931458836146,33.94799945013943 +211.252,2024/06/13 13:50:05.6879,18.729164668916592,29.219856262480143 +211.499,2024/06/13 13:50:05.9349,18.96227349480921,29.219856262480143 +211.745,2024/06/13 13:50:06.1809,19.18080937488954,29.219856262480143 +211.991,2024/06/13 13:50:06.4269,19.175415294697615,29.073470151783855 +212.072,2024/06/13 13:50:06.5079,23.73195624314249,33.35815742313515 +212.237,2024/06/13 13:50:06.6729,23.929133880603658,37.26660703632677 +212.484,2024/06/13 13:50:06.9199,23.9723259988073,37.151940281318645 +212.565,2024/06/13 13:50:07.0009,25.192340561934675,38.52098994920388 +212.73,2024/06/13 13:50:07.1659,25.2531095160552,39.6303755554583 +212.977,2024/06/13 13:50:07.4129,25.31150753695037,39.6303755554583 +213.222,2024/06/13 13:50:07.6579,24.935065094447943,39.322597404884974 +213.303,2024/06/13 13:50:07.7389,25.960093158184197,39.984580361267604 +213.469,2024/06/13 13:50:07.9049,26.016904319015733,40.93368620911958 +213.715,2024/06/13 13:50:08.1509,26.07143149560216,40.93368620911958 +213.795,2024/06/13 13:50:08.2309,27.14416598693781,41.94718901984574 +213.961,2024/06/13 13:50:08.3969,27.204715615571725,42.93677522435362 +214.208,2024/06/13 13:50:08.6439,27.204715615571725,42.91775079536826 +214.454,2024/06/13 13:50:08.8899,27.26761794704004,42.870735939566046 +214.534,2024/06/13 13:50:08.9699,28.207034257595986,43.82427029246085 +214.7,2024/06/13 13:50:09.1359,28.137204886956585,44.554461056105254 +214.947,2024/06/13 13:50:09.3829,28.06519503609039,44.554461056105254 +215.027,2024/06/13 13:50:09.4629,28.2177289994262,44.61427275360805 +215.193,2024/06/13 13:50:09.6289,28.001334122567812,44.56156789581504 +215.439,2024/06/13 13:50:09.8749,27.77514393643459,44.56156789581504 +215.685,2024/06/13 13:50:10.1209,27.5389170815229,44.56156789581504 +215.766,2024/06/13 13:50:10.2019,27.01810801887398,43.66386759476688 +215.931,2024/06/13 13:50:10.3669,26.784817281094398,42.747319604079664 +216.178,2024/06/13 13:50:10.6139,26.540989769242586,42.747319604079664 +216.424,2024/06/13 13:50:10.8599,26.286332273023994,42.747319604079664 +216.505,2024/06/13 13:50:10.9409,22.74620089536739,39.3361580906592 +216.67,2024/06/13 13:50:11.1059,22.50008939956696,35.59962546619463 +216.916,2024/06/13 13:50:11.3519,22.241128930248916,35.59962546619463 +216.997,2024/06/13 13:50:11.4329,22.068441085722956,35.62255839586296 +217.163,2024/06/13 13:50:11.5989,21.788850887288874,35.64547657136877 +217.409,2024/06/13 13:50:11.8449,17.175530576221174,31.536751048049744 +217.656,2024/06/13 13:50:12.0919,16.874962750065233,26.80547207816593 +217.736,2024/06/13 13:50:12.1719,16.591231585305522,26.81106736654349 +217.902,2024/06/13 13:50:12.3379,14.799658275023283,24.63736998950984 +218.148,2024/06/13 13:50:12.5839,14.695726175187346,22.81008548866049 +218.228,2024/06/13 13:50:12.6639,14.635651637374046,22.82177322938192 +218.394,2024/06/13 13:50:12.8299,14.52500816071926,22.833454987510468 +218.967,2024/06/13 13:50:13.4029,12.671853142652694,21.085540068966694 +219.133,2024/06/13 13:50:13.5689,12.578946102812585,19.22064861895491 +219.38,2024/06/13 13:50:13.8159,12.46977956095634,19.22064861895491 +219.625,2024/06/13 13:50:14.0609,9.775938088860409,16.81467612930244 +219.706,2024/06/13 13:50:14.1419,9.668053804556887,14.07716827585245 +219.872,2024/06/13 13:50:14.3079,9.556907593914088,14.152738250953417 +220.118,2024/06/13 13:50:14.5539,9.42386308274331,14.152738250953417 +220.364,2024/06/13 13:50:14.7999,5.317072913531072,10.658330075579382 +220.445,2024/06/13 13:50:14.8809,5.724418356237801,7.12039324756716 +220.611,2024/06/13 13:50:15.0469,5.767626655858611,7.234178138070235 +220.857,2024/06/13 13:50:15.2929,4.429395018495755,6.016643582596529 +220.938,2024/06/13 13:50:15.3739,10.075348315475527,9.357706271660094 +221.103,2024/06/13 13:50:15.5389,10.07192524599516,12.452576707921404 +221.349,2024/06/13 13:50:15.7849,10.064390395000789,12.452576707921404 +221.596,2024/06/13 13:50:16.0319,10.071297557055614,12.419071355513395 +221.676,2024/06/13 13:50:16.1119,13.379560668353852,14.964402204342589 +221.842,2024/06/13 13:50:16.2779,13.434772177014302,16.49444350885069 +222.088,2024/06/13 13:50:16.5239,13.473046741763726,16.49444350885069 +222.416,2024/06/13 13:50:16.8519,14.391448610319095,17.00392111641704 +222.827,2024/06/13 13:50:17.2629,14.360105977261078,17.49857137025763 +223.073,2024/06/13 13:50:17.5089,14.312963338884076,17.49857137025763 +223.154,2024/06/13 13:50:17.5899,15.233659042269075,18.185158784019457 +223.321,2024/06/13 13:50:17.7569,15.122336376078932,18.846750383023593 +223.566,2024/06/13 13:50:18.0019,14.995171636690594,18.846750383023593 +223.647,2024/06/13 13:50:18.0829,14.847461952697497,18.84763468802739 +223.812,2024/06/13 13:50:18.2479,14.591920296213727,18.840559085830407 +224.058,2024/06/13 13:50:18.4939,14.411043019835903,18.83259585576738 +224.305,2024/06/13 13:50:18.7409,14.212023402577989,18.83259585576738 +224.386,2024/06/13 13:50:18.8219,14.032351782639525,18.96751609111395 +224.551,2024/06/13 13:50:18.9869,13.805754255915769,19.10148336299217 +224.798,2024/06/13 13:50:19.2339,13.521205142507535,19.100610810477587 +224.877,2024/06/13 13:50:19.3129,13.995278349928517,19.439650202614242 +225.044,2024/06/13 13:50:19.4799,13.916871428049202,19.81413636775522 +225.29,2024/06/13 13:50:19.7259,13.832703212349527,19.81413636775522 +225.536,2024/06/13 13:50:19.9719,13.483962376814064,19.760229418371303 +225.617,2024/06/13 13:50:20.0529,13.830708794098452,19.978321584490857 +225.783,2024/06/13 13:50:20.2189,13.736644506533509,20.24681044839738 +226.029,2024/06/13 13:50:20.4649,13.636538138905362,20.24681044839738 +226.275,2024/06/13 13:50:20.7109,13.632449455653488,20.206434618705003 +226.356,2024/06/13 13:50:20.7919,13.77775151400388,20.305171754998774 +226.522,2024/06/13 13:50:20.9579,13.675256622023177,20.443417848621433 +226.768,2024/06/13 13:50:21.2039,11.890303206598718,18.719864671875523 +226.848,2024/06/13 13:50:21.2839,12.119187788119367,17.042104721346284 +227.014,2024/06/13 13:50:21.4499,12.030086803750478,17.26074544547058 +227.26,2024/06/13 13:50:21.6959,11.934158450894625,17.26074544547058 +227.507,2024/06/13 13:50:21.9429,9.579012019221445,15.079787796915447 +227.753,2024/06/13 13:50:22.1889,9.579012019221445,13.389050252600693 +227.999,2024/06/13 13:50:22.4349,9.579012019221445,13.389050252600693 +228.245,2024/06/13 13:50:22.6809,8.344658970464398,12.651745597610894 +228.491,2024/06/13 13:50:22.9269,8.344658970464398,11.868726413000962 +228.738,2024/06/13 13:50:23.1739,8.492322428517676,11.937336386313323 +228.819,2024/06/13 13:50:23.2549,7.072774415393802,11.78558441486887 +228.984,2024/06/13 13:50:23.4199,7.2906805572951185,11.631852818876277 +229.23,2024/06/13 13:50:23.6659,7.452531776857673,11.633285577743433 +229.477,2024/06/13 13:50:23.9129,7.654613213500247,11.633285577743433 +229.557,2024/06/13 13:50:23.9929,7.654613213500247,11.701851705321399 +229.723,2024/06/13 13:50:24.1589,7.654613213500247,11.701851705321399 +229.97,2024/06/13 13:50:24.4059,7.654613213500247,11.701851705321399 +230.215,2024/06/13 13:50:24.6509,7.397498800659933,11.458621208504974 +230.296,2024/06/13 13:50:24.7319,7.469862821680934,11.233877335986895 +230.462,2024/06/13 13:50:24.8979,7.469862821680934,11.25759003221086 +230.708,2024/06/13 13:50:25.1439,6.537601233256574,10.584579979070181 +230.788,2024/06/13 13:50:25.2239,6.542610115730335,9.880958118185369 +230.954,2024/06/13 13:50:25.3899,6.542610115730335,9.896127188619461 +231.2,2024/06/13 13:50:25.6359,6.542610115730335,9.896127188619461 +231.446,2024/06/13 13:50:25.8819,5.726425937966047,9.334523733610267 +231.528,2024/06/13 13:50:25.9639,5.7798699424593885,8.784455968736292 +232.019,2024/06/13 13:50:26.4549,5.777980397274262,8.814760348415605 +232.186,2024/06/13 13:50:26.6219,5.777980397274262,8.816650913659524 +232.432,2024/06/13 13:50:26.8679,5.301918975956595,8.491171886141512 +232.678,2024/06/13 13:50:27.1139,5.301918975956595,8.15270916117254 +232.925,2024/06/13 13:50:27.3609,5.301918975956595,8.15270916117254 +233.005,2024/06/13 13:50:27.4409,4.76396917484503,7.816648898345122 +233.171,2024/06/13 13:50:27.6069,4.76396917484503,7.465476095557023 +233.251,2024/06/13 13:50:27.6869,5.668627111863576,8.084965470963168 +233.418,2024/06/13 13:50:27.8539,5.668627111863576,8.660254037844387 +233.663,2024/06/13 13:50:28.0989,5.668627111863576,8.660254037844387 +233.91,2024/06/13 13:50:28.3459,5.668627111863576,8.660254037844387 +233.99,2024/06/13 13:50:28.4259,7.190431061528493,9.789450103725608 +234.156,2024/06/13 13:50:28.5919,7.190431061528493,10.801234497346433 +234.402,2024/06/13 13:50:28.8379,7.014271166701382,10.725359356838974 +234.975,2024/06/13 13:50:29.4109,8.14135180393401,11.067971810589327 +235.141,2024/06/13 13:50:29.5769,8.018656407075216,10.774970997640782 +235.221,2024/06/13 13:50:29.6569,8.738868124189016,11.16243700990066 +235.387,2024/06/13 13:50:29.8229,8.534244742995403,11.536897329871667 +235.633,2024/06/13 13:50:30.0689,8.524541987225154,11.465891446663303 +235.88,2024/06/13 13:50:30.3159,8.50618436279175,11.465891446663303 +235.96,2024/06/13 13:50:30.3959,8.589220723889142,11.502173707608488 +236.126,2024/06/13 13:50:30.5619,8.548442084320001,11.538341879721424 +236.372,2024/06/13 13:50:30.8079,8.372368346181657,11.515207336387824 +236.619,2024/06/13 13:50:31.0549,8.308422537249607,11.492026221109429 +236.698,2024/06/13 13:50:31.1339,8.3489967736514,11.54411827151241 +236.865,2024/06/13 13:50:31.3009,8.325904734932816,11.583033569262703 +236.945,2024/06/13 13:50:31.3809,8.39410028175937,11.661903789690601 +237.111,2024/06/13 13:50:31.5469,8.28271985979631,11.753013797887473 +237.357,2024/06/13 13:50:31.7929,8.160811882080974,11.753013797887473 +237.604,2024/06/13 13:50:32.0399,8.144104418633782,11.717508267545622 +237.684,2024/06/13 13:50:32.1199,8.43099099723167,11.970797801316335 +237.85,2024/06/13 13:50:32.2859,8.275778256280487,12.239281024635394 +238.097,2024/06/13 13:50:32.5329,8.108531054517009,12.239281024635394 +238.342,2024/06/13 13:50:32.7779,7.928487847012628,12.239281024635394 +238.423,2024/06/13 13:50:32.8589,46.88925568667676,48.13834230631545 +238.589,2024/06/13 13:50:33.0249,46.88925568667676,66.95271963607354 +238.836,2024/06/13 13:50:33.2719,46.80524580090069,66.93678609952329 +239.081,2024/06/13 13:50:33.5169,46.843355985667536,66.86478894006919 +239.161,2024/06/13 13:50:33.5969,55.364715515731824,72.32841765170865 +239.328,2024/06/13 13:50:33.7639,55.31769270709658,77.46956391598789 +239.574,2024/06/13 13:50:34.0099,55.26929891267696,77.46956391598789 +239.654,2024/06/13 13:50:34.0899,55.241590611905075,77.33520112686935 +240.313,2024/06/13 13:50:34.7489,55.1947961065295,77.20060448813425 +240.393,2024/06/13 13:50:34.8289,55.20415609874582,77.29575236281315 +240.559,2024/06/13 13:50:34.9949,55.136778721794,77.19671841039185 +240.885,2024/06/13 13:50:35.3209,55.331228321682765,77.31321577410509 +241.298,2024/06/13 13:50:35.7339,55.3166018188174,77.4785991957349 +241.544,2024/06/13 13:50:35.9799,55.3166018188174,77.42351064114827 +241.872,2024/06/13 13:50:36.3079,55.51544260668443,77.65758172902373 +242.363,2024/06/13 13:50:36.7989,55.64820741502574,77.6595132614157 +242.529,2024/06/13 13:50:36.9649,55.66612292390488,77.84707230632804 +242.776,2024/06/13 13:50:37.2119,55.66612292390488,77.84171974804599 +242.856,2024/06/13 13:50:37.2919,55.64523298561132,77.85221041606118 +243.022,2024/06/13 13:50:37.4579,55.64523298561132,77.8626996706382 +243.268,2024/06/13 13:50:37.7039,55.66505951289993,77.85499341724973 +243.514,2024/06/13 13:50:37.9499,55.66505951289993,77.84728640100437 +243.594,2024/06/13 13:50:38.0299,56.22209652735316,78.09545441317312 +243.761,2024/06/13 13:50:38.1969,56.22209652735316,78.34283630300858 +244.007,2024/06/13 13:50:38.4429,56.22209652735316,78.34283630300858 +244.253,2024/06/13 13:50:38.6889,56.22209652735316,78.34283630300858 +244.333,2024/06/13 13:50:38.7689,56.64464751372373,78.51878756068511 +244.5,2024/06/13 13:50:38.9359,56.64464751372373,78.69434541312356 +245.072,2024/06/13 13:50:39.5079,57.439713523442656,79.16080680067209 +245.238,2024/06/13 13:50:39.6739,57.439713523442656,79.62453558210979 +245.484,2024/06/13 13:50:39.9199,32.36366630268783,64.59540747349355 +245.731,2024/06/13 13:50:40.1669,32.36366630268783,44.77797077432905 +245.977,2024/06/13 13:50:40.4129,32.36366630268783,44.77797077432905 +246.057,2024/06/13 13:50:40.4929,35.649781157136694,47.51175293195008 +246.223,2024/06/13 13:50:40.6589,22.986477784113497,41.70771311560169 +246.47,2024/06/13 13:50:40.9059,22.986477784113497,31.135189095298585 +246.55,2024/06/13 13:50:40.9859,29.496171580919533,36.46825103200499 +246.716,2024/06/13 13:50:41.1519,29.502698103771955,41.11487970714901 +246.963,2024/06/13 13:50:41.3989,29.502698103771955,41.11447433690476 +247.208,2024/06/13 13:50:41.6439,29.08451813942103,40.935314827175816 +247.288,2024/06/13 13:50:41.7239,32.27861823873998,43.545378629654834 +247.454,2024/06/13 13:50:41.8899,31.373702290330982,45.795924127226286 +248.028,2024/06/13 13:50:42.4639,32.93644175381313,47.04005385484446 +248.193,2024/06/13 13:50:42.6289,32.93644175381313,48.604526538173374 +248.44,2024/06/13 13:50:42.8759,31.886093967524083,48.229658924773666 +248.52,2024/06/13 13:50:42.9559,31.74939586718257,49.37543248755735 +248.686,2024/06/13 13:50:43.1219,31.87816245299194,50.44270677379106 +248.932,2024/06/13 13:50:43.3679,32.00511812518321,50.44270677379106 +249.179,2024/06/13 13:50:43.6149,31.980310034224054,50.42651418979239 +249.259,2024/06/13 13:50:43.6949,31.914469027909107,50.83699440368205 +249.425,2024/06/13 13:50:43.8609,32.046661382227676,51.26012095186667 +249.671,2024/06/13 13:50:44.1069,32.17702471547464,51.26012095186667 +249.752,2024/06/13 13:50:44.1879,32.239834003166905,50.860593783399736 +249.918,2024/06/13 13:50:44.3539,32.35961723485368,50.457903246171455 +250.164,2024/06/13 13:50:44.5999,32.477684646538954,50.457903246171455 +250.41,2024/06/13 13:50:44.8459,32.59405488418302,50.457903246171455 +250.49,2024/06/13 13:50:44.9259,33.196731593724344,50.226155204899634 +250.982,2024/06/13 13:50:45.4179,34.4252647132123,49.95064230484596 +251.148,2024/06/13 13:50:45.5839,33.92705156046177,49.55367460306719 +251.395,2024/06/13 13:50:45.8309,34.007453544065136,48.80505438305887 +251.641,2024/06/13 13:50:46.0769,34.08645195523547,48.80505438305887 +251.721,2024/06/13 13:50:46.1569,35.498032971245145,49.321732870341584 +251.888,2024/06/13 13:50:46.3239,35.56383284878857,49.83305462575351 +252.134,2024/06/13 13:50:46.5699,32.36787466524243,47.23381557034465 +252.38,2024/06/13 13:50:46.8159,32.418970606304406,44.482955537299155 +252.46,2024/06/13 13:50:46.8959,32.963389653845944,44.66393026443896 +252.627,2024/06/13 13:50:47.0629,27.03784066056705,40.62593588665579 +252.876,2024/06/13 13:50:47.3119,27.146770092163575,35.93837317779794 +253.119,2024/06/13 13:50:47.5549,27.248136074605803,35.93837317779794 +253.199,2024/06/13 13:50:47.6349,27.25983951850628,35.96804137008297 +253.365,2024/06/13 13:50:47.8009,22.14840229312101,32.57606483294138 +253.612,2024/06/13 13:50:48.0479,22.194568042084278,28.74079562804992 +253.692,2024/06/13 13:50:48.1279,18.294525278683967,26.696441710460217 +253.858,2024/06/13 13:50:48.2939,18.30146655765356,24.481966151979435 +254.104,2024/06/13 13:50:48.5399,18.29779209091332,24.481966151979435 +254.351,2024/06/13 13:50:48.7869,13.609538575200526,22.073362528924616 +254.431,2024/06/13 13:50:48.8669,16.111001452922824,20.91411006952005 +254.597,2024/06/13 13:50:49.0329,16.13520460317116,22.893230440459906 +254.843,2024/06/13 13:50:49.2789,16.15588572867948,22.893230440459906 +255.09,2024/06/13 13:50:49.5259,14.465972757339097,21.929432277193133 +255.169,2024/06/13 13:50:49.6049,16.25589194687555,22.410562985639906 +255.336,2024/06/13 13:50:49.7719,16.26999212286681,23.80686175594479 +255.582,2024/06/13 13:50:50.0179,16.27338282305599,23.80616166737791 +255.829,2024/06/13 13:50:50.2649,16.280056200303598,23.80546155822231 +255.909,2024/06/13 13:50:50.3449,16.910888827011075,24.387155088967088 +256.074,2024/06/13 13:50:50.5099,16.92444331755649,24.95529335965952 +256.321,2024/06/13 13:50:50.7569,16.698440976165134,24.737960034462557 +256.401,2024/06/13 13:50:50.8369,16.732547950612087,25.516008047237065 +256.567,2024/06/13 13:50:51.0029,16.777927481506907,25.740370367705797 +256.813,2024/06/13 13:50:51.2489,16.819836400860613,25.740370367705797 +257.06,2024/06/13 13:50:51.4959,16.85830059201003,25.740370367705797 +257.139,2024/06/13 13:50:51.5749,16.06055351818053,25.547994050414214 +257.306,2024/06/13 13:50:51.7419,16.13078729791483,25.354158107366402 +257.552,2024/06/13 13:50:51.9879,16.19723972510868,25.354158107366402 +257.632,2024/06/13 13:50:52.0679,16.738317250184174,25.978195985608135 +257.798,2024/06/13 13:50:52.2339,16.224148313724985,26.282440272293336 +258.044,2024/06/13 13:50:52.4799,16.30601750571087,25.973704651692127 +258.291,2024/06/13 13:50:52.7269,16.30601750571087,25.942243542145693 +258.371,2024/06/13 13:50:52.8069,16.229708816730515,25.965361541869584 +258.537,2024/06/13 13:50:52.9729,16.313910572297406,25.94738265541761 +258.783,2024/06/13 13:50:53.2189,16.21270255503163,25.926820090400597 +258.863,2024/06/13 13:50:53.2989,16.506390263780485,26.111300235721696 +259.03,2024/06/13 13:50:53.4659,15.86005609417382,25.59557253380618 +259.276,2024/06/13 13:50:53.7119,15.791165870201786,24.876360934295302 +259.522,2024/06/13 13:50:53.9579,15.718391014730178,24.876360934295302 +259.603,2024/06/13 13:50:54.0389,16.325144557631983,25.259321711663862 +259.768,2024/06/13 13:50:54.2039,14.140509997468168,23.885839598668774 +260.015,2024/06/13 13:50:54.4509,14.090063344693071,21.99621179506447 +260.262,2024/06/13 13:50:54.6979,14.035423165985,21.99621179506447 +260.341,2024/06/13 13:50:54.7769,14.447248475254332,22.297234507146097 +260.508,2024/06/13 13:50:54.9439,12.582783347955964,21.117922877656945 +260.833,2024/06/13 13:50:55.2689,12.778574021500859,19.72139278381051 +261.246,2024/06/13 13:50:55.6819,12.828174810373696,20.09062799748513 +261.492,2024/06/13 13:50:55.9279,12.862491133559994,20.09062799748513 +261.572,2024/06/13 13:50:56.0079,12.154607470363182,19.572940504686567 +261.739,2024/06/13 13:50:56.1749,12.212863013580986,19.041183436610936 +261.985,2024/06/13 13:50:56.4209,12.255001324816494,19.041183436610936 +262.065,2024/06/13 13:50:56.5009,10.860875687054108,17.803557696894927 +262.232,2024/06/13 13:50:56.6679,10.921927748667601,16.47321057555772 +262.478,2024/06/13 13:50:56.9139,10.964938898938795,16.47321057555772 +262.723,2024/06/13 13:50:57.1589,10.990120955689271,16.47321057555772 +262.803,2024/06/13 13:50:57.2389,9.538849782463426,15.253414918196734 +262.97,2024/06/13 13:50:57.4059,9.59429907354536,13.927191628848462 +263.217,2024/06/13 13:50:57.6529,9.629277673103925,13.927191628848462 +263.296,2024/06/13 13:50:57.7319,8.674775163537024,13.238831771220099 +263.463,2024/06/13 13:50:57.8989,8.75621290100948,12.512660255384011 +264.035,2024/06/13 13:50:58.4709,8.866830868758063,12.891857895586655 +264.201,2024/06/13 13:50:58.6369,9.277893637287384,13.676013064242566 +264.448,2024/06/13 13:50:58.8839,9.689667443849928,13.63207003111902 +264.694,2024/06/13 13:50:59.1299,9.980498225418378,13.587984888618816 +264.774,2024/06/13 13:50:59.2099,10.254463564150873,14.39791651594077 +264.941,2024/06/13 13:50:59.3769,10.09865132682005,14.898545790333587 +265.187,2024/06/13 13:50:59.6229,10.393908472433708,14.571661996262929 +265.267,2024/06/13 13:50:59.7029,10.49444297394238,15.067625338232078 +265.433,2024/06/13 13:50:59.8689,10.768408456668594,15.547775832360502 +265.679,2024/06/13 13:51:00.1149,9.902049015867556,14.91755118420357 +265.925,2024/06/13 13:51:00.3609,10.10951526288852,14.259499757471625 +266.172,2024/06/13 13:51:00.6079,10.290940106514299,14.259499757471625 +266.252,2024/06/13 13:51:00.6879,10.757301716968165,15.14815720365572 +266.418,2024/06/13 13:51:00.8539,10.023879534369138,15.564917817536548 +266.497,2024/06/13 13:51:00.9329,11.595877190454102,16.9627041869312 +267.157,2024/06/13 13:51:01.5929,11.086130923391547,17.854037825283854 +267.236,2024/06/13 13:51:01.6719,13.76635912934718,19.43450539633052 +267.403,2024/06/13 13:51:01.8389,13.76635912934718,21.24460715883759 +267.649,2024/06/13 13:51:02.0849,13.614605071920693,21.067352309517524 +267.729,2024/06/13 13:51:02.1649,15.951939312073893,22.723702749918786 +267.896,2024/06/13 13:51:02.3319,15.951939312073893,24.42130217658346 +268.142,2024/06/13 13:51:02.5779,15.940298097848494,24.420619702756657 +268.389,2024/06/13 13:51:02.8249,15.940298097848494,24.419937209856485 +268.468,2024/06/13 13:51:02.9039,17.580716970459278,25.823761667632134 +268.634,2024/06/13 13:51:03.0699,17.580716970459278,27.155110016348672 +268.88,2024/06/13 13:51:03.3159,17.578363136956337,27.137919350360423 +269.127,2024/06/13 13:51:03.5629,17.53751315939875,27.098585448936877 +269.206,2024/06/13 13:51:03.6419,18.398057118813277,27.721231333883182 +269.373,2024/06/13 13:51:03.8089,18.255813119214075,28.09389020172654 +269.619,2024/06/13 13:51:04.0549,18.205121169099627,27.855579931736 +269.699,2024/06/13 13:51:04.1349,18.31700422225618,27.835828231495707 +269.866,2024/06/13 13:51:04.3019,18.079136384622526,27.614006108012166 +270.112,2024/06/13 13:51:04.5479,17.825462867391963,27.614006108012166 +270.192,2024/06/13 13:51:04.6279,17.63555056351083,27.7158197906298 +270.358,2024/06/13 13:51:04.7939,17.555298509199822,27.37699764400764 +270.605,2024/06/13 13:51:05.0409,17.26786930529687,26.929537686339884 +270.851,2024/06/13 13:51:05.2869,16.952570754089145,26.959846686013133 +270.931,2024/06/13 13:51:05.3669,16.96748072929023,26.688324538394436 +271.59,2024/06/13 13:51:06.0259,16.613109350715597,26.414011433328337 +271.67,2024/06/13 13:51:06.1059,16.296145796355493,26.477034073576544 +271.836,2024/06/13 13:51:06.2719,15.878272583309135,26.53990705836527 +272.082,2024/06/13 13:51:06.5179,15.41625504265579,26.53990705836527 +272.162,2024/06/13 13:51:06.5979,15.652439125410911,26.227212331215583 +272.329,2024/06/13 13:51:06.7649,15.188319771167736,25.910744232203495 +272.575,2024/06/13 13:51:07.0109,14.648722042254951,24.750084174941037 +272.821,2024/06/13 13:51:07.2569,14.471692542942314,23.958992744548617 +272.901,2024/06/13 13:51:07.3369,13.29804237602162,22.63699037710917 +273.068,2024/06/13 13:51:07.5039,13.148313995319834,21.23283620558811 +273.313,2024/06/13 13:51:07.7489,12.98190606411299,21.23283620558811 +273.393,2024/06/13 13:51:07.8289,10.895744186575559,19.277793788017686 +273.56,2024/06/13 13:51:07.9959,10.733394017104784,17.100682247598584 +273.806,2024/06/13 13:51:08.2419,10.550153891125,17.100682247598584 +274.052,2024/06/13 13:51:08.4879,10.344913792743405,17.100682247598584 +274.132,2024/06/13 13:51:08.5679,8.04984471899828,14.896308267486948 +274.299,2024/06/13 13:51:08.7349,7.81723706959706,12.303116136437414 +274.545,2024/06/13 13:51:08.9809,7.772335260543121,12.2542509631012 +274.792,2024/06/13 13:51:09.2279,7.877218716820407,12.320714265009151 +274.871,2024/06/13 13:51:09.3069,6.103419053113986,10.922453936730518 +275.037,2024/06/13 13:51:09.4729,6.264752703560162,9.316651759081692 +275.284,2024/06/13 13:51:09.7199,6.386857914731643,9.316651759081692 +275.364,2024/06/13 13:51:09.7999,6.083801745466687,9.033271832508971 +275.53,2024/06/13 13:51:09.9659,6.204281058128928,8.740709353364863 +275.776,2024/06/13 13:51:10.2119,6.113486128524313,8.833647793144875 +276.023,2024/06/13 13:51:10.4589,5.970810222459357,8.508818954473059 +276.27,2024/06/13 13:51:10.7059,5.875039740631883,8.171087238958268 +276.349,2024/06/13 13:51:10.7849,5.84276741231958,8.244189873278433 +276.515,2024/06/13 13:51:10.9509,5.84276741231958,8.217866714259445 +276.595,2024/06/13 13:51:11.0309,5.815259356150115,8.211780156174015 +276.761,2024/06/13 13:51:11.1969,5.815259356150115,8.205689083394114 +277.007,2024/06/13 13:51:11.4429,5.56889968289439,8.0 +277.254,2024/06/13 13:51:11.6899,5.56889968289439,7.788880963698615 +277.334,2024/06/13 13:51:11.7699,5.70349761615196,7.8655366420014 +277.501,2024/06/13 13:51:11.9369,4.785034140329237,7.309810759064377 +277.746,2024/06/13 13:51:12.1819,4.78851595564321,6.620674688680402 +277.827,2024/06/13 13:51:12.2629,5.060552875158647,6.779872171852997 +277.993,2024/06/13 13:51:12.4289,5.060552875158647,6.97614984548545 +278.239,2024/06/13 13:51:12.6749,3.508446294625997,6.052547672950072 +278.485,2024/06/13 13:51:12.9209,3.508446294625997,4.959838707054898 +278.565,2024/06/13 13:51:13.0009,4.231925732131145,5.579725202313581 +278.732,2024/06/13 13:51:13.1679,4.064989290392896,6.069047152011041 +278.978,2024/06/13 13:51:13.4139,4.064989290392896,6.0 +279.058,2024/06/13 13:51:13.4939,6.151814983090683,7.76530746332687 +279.225,2024/06/13 13:51:13.6609,6.151814983090683,9.197825830053535 +279.47,2024/06/13 13:51:13.9059,6.151814983090683,9.197825830053535 +279.797,2024/06/13 13:51:14.2329,8.650891921325332,11.304866208850063 +280.21,2024/06/13 13:51:14.6459,8.650891921325332,13.076696830622021 +280.289,2024/06/13 13:51:14.7249,11.593696265790909,15.488705562441298 +280.456,2024/06/13 13:51:14.8919,11.593696265790909,17.57270610919104 +280.702,2024/06/13 13:51:15.1379,11.790508553662564,17.57270610919104 +281.028,2024/06/13 13:51:15.4639,14.213519547634844,20.239400518131294 +281.441,2024/06/13 13:51:15.8769,14.318262592861071,22.51962107437275 +281.52,2024/06/13 13:51:15.9559,16.01181316776774,24.37074749229767 +281.687,2024/06/13 13:51:16.1229,16.01181316776774,25.6865723676788 +281.933,2024/06/13 13:51:16.3689,16.01181316776774,25.6865723676788 +282.013,2024/06/13 13:51:16.4489,17.379602259908008,26.96850014368615 +282.18,2024/06/13 13:51:16.6159,17.240556302194857,28.170906978654415 +282.426,2024/06/13 13:51:16.8619,17.240556302194857,28.149600352402874 +282.672,2024/06/13 13:51:17.1079,17.222045481726845,28.149008271458992 +282.752,2024/06/13 13:51:17.1879,18.166060308343916,29.17418950602284 +282.919,2024/06/13 13:51:17.3549,18.166060308343916,30.165101248517853 +283.244,2024/06/13 13:51:17.6799,18.902167971503594,31.080004290003995 +283.658,2024/06/13 13:51:18.0939,18.994252004102467,31.949960876345372 +283.983,2024/06/13 13:51:18.4189,19.30648155115278,32.52896145488407 +284.396,2024/06/13 13:51:18.8319,19.327813322154093,33.11545459952699 +284.476,2024/06/13 13:51:18.9119,19.450172117548025,33.396606614045886 +284.642,2024/06/13 13:51:19.0779,19.450172117548025,33.66699669805233 +284.889,2024/06/13 13:51:19.3249,19.450172117548025,33.66699669805233 +285.214,2024/06/13 13:51:19.6499,19.313535245472355,33.82701090351713 +285.627,2024/06/13 13:51:20.0629,19.471198889817746,33.89001819611983 +285.707,2024/06/13 13:51:20.1429,19.446626040723796,34.125259461773084 +285.874,2024/06/13 13:51:20.3099,19.446626040723796,34.453833845693666 +286.12,2024/06/13 13:51:20.5559,19.44742396438454,34.09936460796105 +286.693,2024/06/13 13:51:21.1289,19.40378562424521,34.04849482723135 +286.859,2024/06/13 13:51:21.2949,19.2725163135853,34.206724485106726 +286.938,2024/06/13 13:51:21.3739,19.067816057308267,33.830952297169134 +287.105,2024/06/13 13:51:21.5409,18.93379269314699,33.450959129248695 +287.351,2024/06/13 13:51:21.7869,17.987990885362876,32.379520276454585 +287.597,2024/06/13 13:51:22.0329,17.860281497567637,31.271392677653484 +287.677,2024/06/13 13:51:22.1129,17.48891274394888,31.335283627246778 +287.844,2024/06/13 13:51:22.2799,16.302069539304277,29.77750829065454 +288.09,2024/06/13 13:51:22.5259,15.91648462313723,28.03331351564896 +288.169,2024/06/13 13:51:22.6049,14.733221510990079,26.38686541949738 +288.337,2024/06/13 13:51:22.7729,14.591920296211205,25.08585258666725 +288.908,2024/06/13 13:51:23.3439,14.40900899541081,25.10975905897944 From a40b6b190f8bbdb6c6b3e8f553505a9bd7821618 Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:46 +0600 Subject: [PATCH 05/10] update notebooks --- case-study/1_HR.ipynb | 215 ++++- case-study/1_HRV.ipynb | 144 +++- case-study/1_SD HR.ipynb | 41 - case-study/1_hr_sd.ipynb | 147 ++++ case-study/2_Fixation.ipynb | 786 +++++++++++++++++- case-study/3_Model.ipynb | 33 - case-study/3_Model01.ipynb | 33 - case-study/3_clustering.ipynb | 162 ++++ case-study/AVG HR.ipynb | 33 - case-study/AVG HRV.ipynb | 41 - case-study/CSV.ipynb | 45 - case-study/CSV_Fix.ipynb | 33 - case-study/CSV_HRV.ipynb | 35 - case-study/KMeans.ipynb | 33 - case-study/Model.ipynb | 33 - case-study/Model_02.ipynb | 33 - case-study/avg_hr.ipynb | 99 +++ case-study/avg_hrv.ipynb | 188 +++++ case-study/build_hrv.ipynb | 64 ++ case-study/preprocess_fixation.ipynb | 101 +++ case-study/preprocess_raw_to_csv.ipynb | 79 ++ group/Duration.ipynb | 142 +++- group/Group Correlation Matrix.ipynb | 49 -- group/Group Duration.ipynb | 33 - group/Group Eye.ipynb | 33 - group/Group HRV.ipynb | 33 - group/Group SD.ipynb | 33 - group/Group Time.ipynb | 43 - group/Group.ipynb | 33 - group/Group_Analysis.ipynb | 395 ++++++++- group/group_correlation_heatmap.ipynb | 76 ++ group/group_correlation_matrix.ipynb | 363 ++++++++ group/group_duration.ipynb | 92 ++ group/group_eye.ipynb | 79 ++ group/group_hrv.ipynb | 79 ++ group/group_sd.ipynb | 79 ++ group/group_time.ipynb | 197 +++++ individual/CSV.ipynb | 153 ---- individual/Co Fixation.ipynb | 33 - individual/Correlation.ipynb | 185 ++++- individual/Eye Movement.ipynb | 33 - individual/Fixation.ipynb | 82 +- individual/HADS EYE.ipynb | 41 - individual/HADS HRV.ipynb | 33 - individual/Q.ipynb | 196 ----- individual/Time.ipynb | 41 - individual/eye01.ipynb | 33 - individual/eye02.ipynb | 41 - individual/eye_01.ipynb | 139 ++++ individual/eye_02.ipynb | 193 +++++ individual/eye_movement.ipynb | 95 +++ individual/fixation_across_sessions.ipynb | 82 ++ individual/hads_eye.ipynb | 199 +++++ individual/hads_hrv.ipynb | 156 ++++ .../{Co hr.ipynb => hr_across_sessions.ipynb} | 139 +++- ...hr02.ipynb => hr_across_sessions_02.ipynb} | 44 +- ...hr03.ipynb => hr_across_sessions_03.ipynb} | 80 +- individual/preprocess_raw_to_csv.ipynb | 430 ++++++++++ individual/questionnaire_physiology.ipynb | 352 ++++++++ individual/time_analysis.ipynb | 166 ++++ 60 files changed, 5744 insertions(+), 1339 deletions(-) delete mode 100755 case-study/1_SD HR.ipynb create mode 100755 case-study/1_hr_sd.ipynb delete mode 100755 case-study/3_Model.ipynb delete mode 100755 case-study/3_Model01.ipynb create mode 100755 case-study/3_clustering.ipynb delete mode 100755 case-study/AVG HR.ipynb delete mode 100755 case-study/AVG HRV.ipynb delete mode 100755 case-study/CSV.ipynb delete mode 100755 case-study/CSV_Fix.ipynb delete mode 100755 case-study/CSV_HRV.ipynb delete mode 100755 case-study/KMeans.ipynb delete mode 100755 case-study/Model.ipynb delete mode 100755 case-study/Model_02.ipynb create mode 100755 case-study/avg_hr.ipynb create mode 100755 case-study/avg_hrv.ipynb create mode 100755 case-study/build_hrv.ipynb create mode 100755 case-study/preprocess_fixation.ipynb create mode 100755 case-study/preprocess_raw_to_csv.ipynb delete mode 100755 group/Group Correlation Matrix.ipynb delete mode 100755 group/Group Duration.ipynb delete mode 100755 group/Group Eye.ipynb delete mode 100755 group/Group HRV.ipynb delete mode 100755 group/Group SD.ipynb delete mode 100755 group/Group Time.ipynb delete mode 100755 group/Group.ipynb create mode 100755 group/group_correlation_heatmap.ipynb create mode 100755 group/group_correlation_matrix.ipynb create mode 100755 group/group_duration.ipynb create mode 100755 group/group_eye.ipynb create mode 100755 group/group_hrv.ipynb create mode 100755 group/group_sd.ipynb create mode 100755 group/group_time.ipynb delete mode 100755 individual/CSV.ipynb delete mode 100755 individual/Co Fixation.ipynb delete mode 100755 individual/Eye Movement.ipynb delete mode 100755 individual/HADS EYE.ipynb delete mode 100755 individual/HADS HRV.ipynb delete mode 100755 individual/Q.ipynb delete mode 100755 individual/Time.ipynb delete mode 100755 individual/eye01.ipynb delete mode 100755 individual/eye02.ipynb create mode 100755 individual/eye_01.ipynb create mode 100755 individual/eye_02.ipynb create mode 100755 individual/eye_movement.ipynb create mode 100755 individual/fixation_across_sessions.ipynb create mode 100755 individual/hads_eye.ipynb create mode 100755 individual/hads_hrv.ipynb rename individual/{Co hr.ipynb => hr_across_sessions.ipynb} (51%) rename individual/{Co hr02.ipynb => hr_across_sessions_02.ipynb} (64%) rename individual/{Co hr03.ipynb => hr_across_sessions_03.ipynb} (61%) create mode 100755 individual/preprocess_raw_to_csv.ipynb create mode 100755 individual/questionnaire_physiology.ipynb create mode 100755 individual/time_analysis.ipynb diff --git a/case-study/1_HR.ipynb b/case-study/1_HR.ipynb index fd5e8ee..6da4e10 100755 --- a/case-study/1_HR.ipynb +++ b/case-study/1_HR.ipynb @@ -1,5 +1,17 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "81125625", + "metadata": { + "mms_tag": "hr_caveat" + }, + "source": [ + "## ⚠️ Read before interpreting the t-tests below\n", + "\n", + "This notebook analyses **one participant**. The per-second heart-rate samples within a session are strongly autocorrelated and are **not independent observations**, so a Welch t-test over the raw sample arrays treats (say) 3,000 correlated samples as 3,000 independent data points and manufactures extreme p-values. Those p-values are **descriptive of this session only** — they do not generalise to a population. The cell at the end aggregates to **one mean HR per question** before comparing, which is the honest unit of analysis here; even then, with a single subject this characterises, it does not test a population hypothesis." + ] + }, { "cell_type": "code", "execution_count": null, @@ -8,15 +20,100 @@ "scrolled": true }, "outputs": [], - "source": "import pandas as pd\nfrom scipy.stats import ttest_ind\n\nDATA = '../data/case-study/processed'\nPSY = '../data/case-study/psychometric'\n\n# load data\nhr_bl01 = pd.read_csv(f'{DATA}/hr.csv')\nhr_tk01 = pd.read_csv(f'{DATA}/hr_01.csv')\n\n# high confidence only\nbaseline_heart_rate = hr_bl01[hr_bl01['confidence'] == 1.0]['heart_rate']\ntest_heart_rate = hr_tk01[hr_tk01['confidence'] == 1.0]['heart_rate']\n\n# calculate averages\navg_hr_baseline = baseline_heart_rate.mean()\navg_hr_test = test_heart_rate.mean()\n\n# Welch's t-test\nt_stat, p_value = ttest_ind(baseline_heart_rate, test_heart_rate, equal_var=False)\n\n# percentage increase\npercentage_increase = ((avg_hr_test - avg_hr_baseline) / avg_hr_baseline) * 100\n\nresults = {\n 'Average Heart Rate - Baseline': avg_hr_baseline,\n 'Average Heart Rate - Test': avg_hr_test,\n \"Welch's T-Test Statistic\": t_stat,\n \"Welch's T-Test P-Value\": p_value,\n 'Percentage Increase in Heart Rate': percentage_increase\n}\n\nresults" + "source": [ + "import pandas as pd\n", + "from scipy.stats import ttest_ind\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "PSY = '../data/case-study/psychometric'\n", + "\n", + "# load data\n", + "hr_bl01 = pd.read_csv(f'{DATA}/hr.csv')\n", + "hr_tk01 = pd.read_csv(f'{DATA}/hr_01.csv')\n", + "\n", + "# high confidence only\n", + "baseline_heart_rate = hr_bl01[hr_bl01['confidence'] == 1.0]['heart_rate']\n", + "test_heart_rate = hr_tk01[hr_tk01['confidence'] == 1.0]['heart_rate']\n", + "\n", + "# calculate averages\n", + "avg_hr_baseline = baseline_heart_rate.mean()\n", + "avg_hr_test = test_heart_rate.mean()\n", + "\n", + "# Welch's t-test\n", + "t_stat, p_value = ttest_ind(baseline_heart_rate, test_heart_rate, equal_var=False)\n", + "\n", + "# percentage increase\n", + "percentage_increase = ((avg_hr_test - avg_hr_baseline) / avg_hr_baseline) * 100\n", + "\n", + "results = {\n", + " 'Average Heart Rate - Baseline': avg_hr_baseline,\n", + " 'Average Heart Rate - Test': avg_hr_test,\n", + " \"Welch's T-Test Statistic\": t_stat,\n", + " \"Welch's T-Test P-Value\": p_value,\n", + " 'Percentage Increase in Heart Rate': percentage_increase\n", + "}\n", + "\n", + "results" + ] }, { "cell_type": "code", + "execution_count": null, "id": "jb1vxoauez9", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy import stats\n\nDATA = '../data/case-study/processed'\n\n# load and filter\nhr_baseline = pd.read_csv(f'{DATA}/hr.csv')\nhr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\nhr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\nhr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n\nbaseline = hr_baseline[hr_baseline['confidence'] == 1.0]['heart_rate']\ntest_01 = hr_01[hr_01['confidence'] == 1.0]['heart_rate']\ntest_02 = hr_02[hr_02['confidence'] == 1.0]['heart_rate']\ntest_03 = hr_03[hr_03['confidence'] == 1.0]['heart_rate']\n\nsessions = {'Baseline': baseline, 'Session 01': test_01, 'Session 02': test_02, 'Session 03': test_03}\n\n# normality tests\nprint(\"=== Shapiro-Wilk Normality Tests ===\\n\")\nfor name, data in sessions.items():\n sample = data.sample(min(5000, len(data)), random_state=42)\n stat, p = stats.shapiro(sample)\n normal = \"normal\" if p > 0.05 else \"non-normal\"\n print(f\"{name}: W={stat:.4f}, p={p:.4f} ({normal}), n={len(data)}\")\n\n# Cohen's d\ndef cohens_d(x, y):\n nx, ny = len(x), len(y)\n pooled = np.sqrt(((nx-1)*x.std()**2 + (ny-1)*y.std()**2) / (nx+ny-2))\n return (x.mean() - y.mean()) / pooled if pooled > 0 else 0.0\n\n# paired comparisons vs baseline\nprint(\"\\n=== Baseline vs Session Comparisons ===\\n\")\nfor name, data in list(sessions.items())[1:]:\n t_stat, p_val = stats.ttest_ind(baseline, data, equal_var=False)\n d = cohens_d(data, baseline)\n size = \"large\" if abs(d) >= 0.8 else \"medium\" if abs(d) >= 0.5 else \"small\"\n\n # 95% CI on mean difference\n diff = data.mean() - baseline.mean()\n se = np.sqrt(data.std()**2/len(data) + baseline.std()**2/len(baseline))\n ci = (diff - 1.96*se, diff + 1.96*se)\n\n print(f\"{name} vs Baseline:\")\n print(f\" Mean diff: {diff:.2f} BPM, 95% CI: [{ci[0]:.2f}, {ci[1]:.2f}]\")\n print(f\" Welch's t={t_stat:.3f}, p={p_val:.4f}\")\n print(f\" Cohen's d={d:.3f} ({size})\")\n print()", "metadata": {}, - "execution_count": null, - "outputs": [] + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy import stats\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load and filter\n", + "hr_baseline = pd.read_csv(f'{DATA}/hr.csv')\n", + "hr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\n", + "hr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\n", + "hr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n", + "\n", + "baseline = hr_baseline[hr_baseline['confidence'] == 1.0]['heart_rate']\n", + "test_01 = hr_01[hr_01['confidence'] == 1.0]['heart_rate']\n", + "test_02 = hr_02[hr_02['confidence'] == 1.0]['heart_rate']\n", + "test_03 = hr_03[hr_03['confidence'] == 1.0]['heart_rate']\n", + "\n", + "sessions = {'Baseline': baseline, 'Session 01': test_01, 'Session 02': test_02, 'Session 03': test_03}\n", + "\n", + "# normality tests\n", + "print(\"=== Shapiro-Wilk Normality Tests ===\\n\")\n", + "for name, data in sessions.items():\n", + " sample = data.sample(min(5000, len(data)), random_state=42)\n", + " stat, p = stats.shapiro(sample)\n", + " normal = \"normal\" if p > 0.05 else \"non-normal\"\n", + " print(f\"{name}: W={stat:.4f}, p={p:.4f} ({normal}), n={len(data)}\")\n", + "\n", + "# Cohen's d\n", + "def cohens_d(x, y):\n", + " nx, ny = len(x), len(y)\n", + " pooled = np.sqrt(((nx-1)*x.std()**2 + (ny-1)*y.std()**2) / (nx+ny-2))\n", + " return (x.mean() - y.mean()) / pooled if pooled > 0 else 0.0\n", + "\n", + "# paired comparisons vs baseline\n", + "print(\"\\n=== Baseline vs Session Comparisons ===\\n\")\n", + "for name, data in list(sessions.items())[1:]:\n", + " t_stat, p_val = stats.ttest_ind(baseline, data, equal_var=False)\n", + " d = cohens_d(data, baseline)\n", + " size = \"large\" if abs(d) >= 0.8 else \"medium\" if abs(d) >= 0.5 else \"small\"\n", + "\n", + " # 95% CI on mean difference\n", + " diff = data.mean() - baseline.mean()\n", + " se = np.sqrt(data.std()**2/len(data) + baseline.std()**2/len(baseline))\n", + " ci = (diff - 1.96*se, diff + 1.96*se)\n", + "\n", + " print(f\"{name} vs Baseline:\")\n", + " print(f\" Mean diff: {diff:.2f} BPM, 95% CI: [{ci[0]:.2f}, {ci[1]:.2f}]\")\n", + " print(f\" Welch's t={t_stat:.3f}, p={p_val:.4f}\")\n", + " print(f\" Cohen's d={d:.3f} ({size})\")\n", + " print()" + ] }, { "cell_type": "code", @@ -92,14 +189,116 @@ "id": "ccad6578-f176-4df1-9a55-4b5c4c85f839", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport matplotlib.dates as mdates\n\nDATA = '../data/case-study/processed'\nPSY = '../data/case-study/psychometric'\n\ncategories = {'HADS': 14, 'STAI-S': 20, 'STAI-T': 20, 'BFI': 10, 'FQ': 24}\n\nfor session_num in [1, 2, 3]:\n hr_data = pd.read_csv(f'{DATA}/hr_{session_num:02d}.csv', delimiter=',')\n hr_data = hr_data[hr_data['confidence'] == 1.0]\n hr_data['datetime'] = pd.to_datetime(hr_data['datetime'], format='%Y/%m/%d %H:%M:%S.%f', utc=True, errors='coerce').dt.tz_convert(None)\n\n psychometric_data = pd.read_csv(f'{PSY}/Psychometric_Test_Results_{session_num:02d}.csv')\n \n for category_name, expected_questions in categories.items():\n category_data = psychometric_data[psychometric_data['Type'] == category_name].copy()\n category_data['Question Start Time'] = pd.to_datetime(category_data['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n category_data['Question Answer Time'] = pd.to_datetime(category_data['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n\n # accumulate segments\n segments = []\n question_times = []\n\n for _, row in category_data.iterrows():\n start_time = row['Question Start Time']\n end_time = row['Question Answer Time']\n mask = (hr_data['datetime'] >= start_time) & (hr_data['datetime'] <= end_time)\n seg = hr_data.loc[mask]\n if not seg.empty:\n segments.append(seg)\n question_times.append(end_time)\n\n category_hr_data = pd.concat(segments, ignore_index=True) if segments else pd.DataFrame()\n\n if len(question_times) != expected_questions:\n print(f\"Warning: {category_name} has {len(question_times)} questions, expected {expected_questions}\")\n\n category_hr_data = category_hr_data.sort_values(by='datetime').reset_index(drop=True)\n\n window_size = 10\n category_hr_data['smoothed_heart_rate'] = category_hr_data['heart_rate'].rolling(window=window_size).mean()\n\n plt.figure(figsize=(12, 6))\n plt.plot(category_hr_data['datetime'], category_hr_data['smoothed_heart_rate'], label='Heart Rate', color='b')\n\n for i, time in enumerate(question_times, start=1):\n nearest_idx = category_hr_data['datetime'].searchsorted(time)\n if nearest_idx < len(category_hr_data):\n hr_at_time = category_hr_data.iloc[nearest_idx]['smoothed_heart_rate']\n plt.scatter(time, hr_at_time, color='red')\n plt.text(time, hr_at_time + 1, f'Q{i}', rotation=45, ha='right')\n else:\n plt.axvline(x=time, color='red', linestyle='--', alpha=0.5)\n plt.text(time, category_hr_data['smoothed_heart_rate'].max(), f'Q{i}', rotation=45, ha='right')\n\n plt.xlabel('Time')\n plt.ylabel('Heart Rate (bpm)')\n plt.title(f'Heart Rate Changes During {category_name} (Session {session_num})')\n plt.xticks(rotation=45)\n plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))\n plt.legend()\n plt.grid(True)\n plt.tight_layout()\n plt.show()\n plt.close()" + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.dates as mdates\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "PSY = '../data/case-study/psychometric'\n", + "\n", + "categories = {'HADS': 14, 'STAI-S': 20, 'STAI-T': 20, 'BFI': 10, 'FQ': 24}\n", + "\n", + "for session_num in [1, 2, 3]:\n", + " hr_data = pd.read_csv(f'{DATA}/hr_{session_num:02d}.csv', delimiter=',')\n", + " hr_data = hr_data[hr_data['confidence'] == 1.0]\n", + " hr_data['datetime'] = pd.to_datetime(hr_data['datetime'], format='%Y/%m/%d %H:%M:%S.%f', utc=True, errors='coerce').dt.tz_convert(None)\n", + "\n", + " psychometric_data = pd.read_csv(f'{PSY}/Psychometric_Test_Results_{session_num:02d}.csv')\n", + " \n", + " for category_name, expected_questions in categories.items():\n", + " category_data = psychometric_data[psychometric_data['Type'] == category_name].copy()\n", + " category_data['Question Start Time'] = pd.to_datetime(category_data['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " category_data['Question Answer Time'] = pd.to_datetime(category_data['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "\n", + " # accumulate segments\n", + " segments = []\n", + " question_times = []\n", + "\n", + " for _, row in category_data.iterrows():\n", + " start_time = row['Question Start Time']\n", + " end_time = row['Question Answer Time']\n", + " mask = (hr_data['datetime'] >= start_time) & (hr_data['datetime'] <= end_time)\n", + " seg = hr_data.loc[mask]\n", + " if not seg.empty:\n", + " segments.append(seg)\n", + " question_times.append(end_time)\n", + "\n", + " category_hr_data = pd.concat(segments, ignore_index=True) if segments else pd.DataFrame()\n", + "\n", + " if len(question_times) != expected_questions:\n", + " print(f\"Warning: {category_name} has {len(question_times)} questions, expected {expected_questions}\")\n", + "\n", + " category_hr_data = category_hr_data.sort_values(by='datetime').reset_index(drop=True)\n", + "\n", + " window_size = 10\n", + " category_hr_data['smoothed_heart_rate'] = category_hr_data['heart_rate'].rolling(window=window_size).mean()\n", + "\n", + " plt.figure(figsize=(12, 6))\n", + " plt.plot(category_hr_data['datetime'], category_hr_data['smoothed_heart_rate'], label='Heart Rate', color='b')\n", + "\n", + " for i, time in enumerate(question_times, start=1):\n", + " nearest_idx = category_hr_data['datetime'].searchsorted(time)\n", + " if nearest_idx < len(category_hr_data):\n", + " hr_at_time = category_hr_data.iloc[nearest_idx]['smoothed_heart_rate']\n", + " plt.scatter(time, hr_at_time, color='red')\n", + " plt.text(time, hr_at_time + 1, f'Q{i}', rotation=45, ha='right')\n", + " else:\n", + " plt.axvline(x=time, color='red', linestyle='--', alpha=0.5)\n", + " plt.text(time, category_hr_data['smoothed_heart_rate'].max(), f'Q{i}', rotation=45, ha='right')\n", + "\n", + " plt.xlabel('Time')\n", + " plt.ylabel('Heart Rate (bpm)')\n", + " plt.title(f'Heart Rate Changes During {category_name} (Session {session_num})')\n", + " plt.xticks(rotation=45)\n", + " plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))\n", + " plt.legend()\n", + " plt.grid(True)\n", + " plt.tight_layout()\n", + " plt.show()\n", + " plt.close()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36ababa8", + "metadata": { + "mms_tag": "hr_agg" + }, + "outputs": [], + "source": [ + "import sys, pathlib\n", + "sys.path.insert(0, str(pathlib.Path.cwd().parent)) # repo root -> import mms\n", + "import mms\n", + "import pandas as pd\n", + "\n", + "# Epoch-honest comparison: reduce each question to a single mean HR,\n", + "# so the test is over ~tens of questions, not thousands of samples.\n", + "rows = []\n", + "for s in (1, 2, 3):\n", + " hr = mms.io.load_hr(s)\n", + " hr['datetime'] = mms.io.parse_datetime(hr['datetime'])\n", + " psy = mms.io.load_psychometric(s)\n", + " psy['start'] = mms.io.parse_datetime(psy['Question Start Time'])\n", + " psy['end'] = mms.io.parse_datetime(psy['Question Answer Time'])\n", + " for _, q in psy.iterrows():\n", + " seg = hr.loc[(hr['datetime'] >= q['start']) & (hr['datetime'] <= q['end']), 'heart_rate']\n", + " if len(seg):\n", + " rows.append({'session': s, 'type': q.get('Type'), 'mean_hr': seg.mean()})\n", + "\n", + "per_q = pd.DataFrame(rows)\n", + "print(f'Aggregated to {len(per_q)} question-level mean-HR values '\n", + " f'(vs thousands of raw samples).')\n", + "print(per_q.groupby('session')['mean_hr'].agg(['count', 'mean', 'std']).round(2))\n" + ] } ], "metadata": { "kernelspec": { - "display_name": "pdf_processing", + "display_name": "Python 3", "language": "python", - "name": "pdf_processing" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -116,4 +315,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/case-study/1_HRV.ipynb b/case-study/1_HRV.ipynb index 524b643..5e856e7 100755 --- a/case-study/1_HRV.ipynb +++ b/case-study/1_HRV.ipynb @@ -1,5 +1,20 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "350de244", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# 1 Hrv\n", + "\n", + "Time- and frequency-domain HRV linked to psychometric question timing.\n", + "\n", + "**Reads:** `data/case-study/ (one participant, all sessions)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, { "cell_type": "code", "execution_count": null, @@ -94,18 +109,135 @@ }, { "cell_type": "code", + "execution_count": null, "id": "dbljkaqu2e8", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy.signal import lombscargle\nimport matplotlib.pyplot as plt\n\nDATA = '../data/case-study/processed'\n\n# load IBI data\nibi_baseline = pd.read_csv(f'{DATA}/ibi.csv')\nibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\nibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\nibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n\ndef frequency_hrv(ibi_values):\n # artifact rejection\n ibi = ibi_values[(ibi_values > 300) & (ibi_values < 2000)].values\n if len(ibi) < 10:\n return None\n \n # cumulative time axis\n t = np.cumsum(ibi) / 1000.0\n t = t - t[0]\n \n # detrend\n nn = ibi - np.mean(ibi)\n \n # frequency range\n freqs = np.linspace(0.01, 0.5, 500)\n angular_freqs = 2 * np.pi * freqs\n \n # Lomb-Scargle PSD\n psd = lombscargle(t, nn, angular_freqs, normalize=False)\n psd = psd / len(nn)\n \n # frequency bands\n vlf_mask = (freqs >= 0.003) & (freqs < 0.04)\n lf_mask = (freqs >= 0.04) & (freqs < 0.15)\n hf_mask = (freqs >= 0.15) & (freqs < 0.4)\n \n vlf_power = np.trapezoid(psd[vlf_mask], freqs[vlf_mask])\n lf_power = np.trapezoid(psd[lf_mask], freqs[lf_mask])\n hf_power = np.trapezoid(psd[hf_mask], freqs[hf_mask])\n total_power = vlf_power + lf_power + hf_power\n lf_hf_ratio = lf_power / hf_power if hf_power > 0 else np.nan\n \n return {\n 'VLF': vlf_power, 'LF': lf_power, 'HF': hf_power,\n 'Total': total_power, 'LF/HF': lf_hf_ratio,\n 'LF%': lf_power / total_power * 100 if total_power > 0 else 0,\n 'HF%': hf_power / total_power * 100 if total_power > 0 else 0,\n 'freqs': freqs, 'psd': psd\n }\n\nsessions = {\n 'Baseline': ibi_baseline,\n 'Session 01': ibi_01,\n 'Session 02': ibi_02,\n 'Session 03': ibi_03\n}\n\n# compute frequency HRV\nresults = {}\nfor name, df in sessions.items():\n r = frequency_hrv(df['ibi'].dropna())\n if r:\n results[name] = r\n\n# summary table\nprint(\"=== Frequency-Domain HRV ===\\n\")\nprint(f\"{'Session':<14} {'VLF':>8} {'LF':>10} {'HF':>10} {'LF/HF':>8} {'LF%':>6} {'HF%':>6}\")\nfor name, r in results.items():\n print(f\"{name:<14} {r['VLF']:>8.1f} {r['LF']:>10.1f} {r['HF']:>10.1f} {r['LF/HF']:>8.2f} {r['LF%']:>5.1f}% {r['HF%']:>5.1f}%\")\n\n# clinical interpretation\nprint(\"\\n=== Clinical Interpretation ===\\n\")\nprint(\"LF/HF > 2.0 = sympathetic dominance (stress/anxiety)\")\nprint(\"LF/HF < 0.5 = parasympathetic dominance (relaxation)\")\nprint(\"LF/HF 0.5-2.0 = balanced autonomic tone\\n\")\nfor name, r in results.items():\n ratio = r['LF/HF']\n state = \"sympathetic dominant\" if ratio > 2.0 else \"parasympathetic dominant\" if ratio < 0.5 else \"balanced\"\n print(f\"{name}: LF/HF={ratio:.2f} -> {state}\")\n\n# PSD plot\nfig, axes = plt.subplots(2, 2, figsize=(14, 10))\ncolors = {'Baseline': 'gray', 'Session 01': 'tab:blue', 'Session 02': 'tab:orange', 'Session 03': 'tab:green'}\n\nfor ax, (name, r) in zip(axes.flat, results.items()):\n freqs, psd = r['freqs'], r['psd']\n ax.plot(freqs, psd, color=colors.get(name, 'black'), linewidth=0.8)\n ax.fill_between(freqs, psd, where=(freqs >= 0.04) & (freqs < 0.15), alpha=0.3, color='red', label='LF')\n ax.fill_between(freqs, psd, where=(freqs >= 0.15) & (freqs < 0.4), alpha=0.3, color='blue', label='HF')\n ax.set_title(f'{name} (LF/HF={r[\"LF/HF\"]:.2f})')\n ax.set_xlabel('Frequency (Hz)')\n ax.set_ylabel('PSD (ms²/Hz)')\n ax.legend(fontsize=8)\n ax.set_xlim(0, 0.5)\n\nplt.suptitle('Frequency-Domain HRV: Power Spectral Density')\nplt.tight_layout()\nplt.show()\nplt.close()\n\n# LF/HF bar chart\nfig, ax = plt.subplots(figsize=(8, 5))\nnames = list(results.keys())\nratios = [results[n]['LF/HF'] for n in names]\nbars = ax.bar(names, ratios, color=[colors[n] for n in names])\nax.axhline(2.0, color='red', linestyle='--', alpha=0.7, label='Stress threshold')\nax.axhline(0.5, color='green', linestyle='--', alpha=0.7, label='Relaxation threshold')\nax.set_ylabel('LF/HF Ratio')\nax.set_title('Sympathovagal Balance Across Sessions')\nax.legend()\nplt.tight_layout()\nplt.show()\nplt.close()", "metadata": {}, - "execution_count": null, - "outputs": [] + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy.signal import lombscargle\n", + "import matplotlib.pyplot as plt\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load IBI data\n", + "ibi_baseline = pd.read_csv(f'{DATA}/ibi.csv')\n", + "ibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\n", + "ibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\n", + "ibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n", + "\n", + "def frequency_hrv(ibi_values):\n", + " # artifact rejection\n", + " ibi = ibi_values[(ibi_values > 300) & (ibi_values < 2000)].values\n", + " if len(ibi) < 10:\n", + " return None\n", + " \n", + " # cumulative time axis\n", + " t = np.cumsum(ibi) / 1000.0\n", + " t = t - t[0]\n", + " \n", + " # detrend\n", + " nn = ibi - np.mean(ibi)\n", + " \n", + " # frequency range\n", + " freqs = np.linspace(0.01, 0.5, 500)\n", + " angular_freqs = 2 * np.pi * freqs\n", + " \n", + " # Lomb-Scargle PSD\n", + " psd = lombscargle(t, nn, angular_freqs, normalize=False)\n", + " psd = psd / len(nn)\n", + " \n", + " # frequency bands\n", + " vlf_mask = (freqs >= 0.003) & (freqs < 0.04)\n", + " lf_mask = (freqs >= 0.04) & (freqs < 0.15)\n", + " hf_mask = (freqs >= 0.15) & (freqs < 0.4)\n", + " \n", + " vlf_power = np.trapezoid(psd[vlf_mask], freqs[vlf_mask])\n", + " lf_power = np.trapezoid(psd[lf_mask], freqs[lf_mask])\n", + " hf_power = np.trapezoid(psd[hf_mask], freqs[hf_mask])\n", + " total_power = vlf_power + lf_power + hf_power\n", + " lf_hf_ratio = lf_power / hf_power if hf_power > 0 else np.nan\n", + " \n", + " return {\n", + " 'VLF': vlf_power, 'LF': lf_power, 'HF': hf_power,\n", + " 'Total': total_power, 'LF/HF': lf_hf_ratio,\n", + " 'LF%': lf_power / total_power * 100 if total_power > 0 else 0,\n", + " 'HF%': hf_power / total_power * 100 if total_power > 0 else 0,\n", + " 'freqs': freqs, 'psd': psd\n", + " }\n", + "\n", + "sessions = {\n", + " 'Baseline': ibi_baseline,\n", + " 'Session 01': ibi_01,\n", + " 'Session 02': ibi_02,\n", + " 'Session 03': ibi_03\n", + "}\n", + "\n", + "# compute frequency HRV\n", + "results = {}\n", + "for name, df in sessions.items():\n", + " r = frequency_hrv(df['ibi'].dropna())\n", + " if r:\n", + " results[name] = r\n", + "\n", + "# summary table\n", + "print(\"=== Frequency-Domain HRV ===\\n\")\n", + "print(f\"{'Session':<14} {'VLF':>8} {'LF':>10} {'HF':>10} {'LF/HF':>8} {'LF%':>6} {'HF%':>6}\")\n", + "for name, r in results.items():\n", + " print(f\"{name:<14} {r['VLF']:>8.1f} {r['LF']:>10.1f} {r['HF']:>10.1f} {r['LF/HF']:>8.2f} {r['LF%']:>5.1f}% {r['HF%']:>5.1f}%\")\n", + "\n", + "# clinical interpretation\n", + "print(\"\\n=== Clinical Interpretation ===\\n\")\n", + "print(\"LF/HF > 2.0 = sympathetic dominance (stress/anxiety)\")\n", + "print(\"LF/HF < 0.5 = parasympathetic dominance (relaxation)\")\n", + "print(\"LF/HF 0.5-2.0 = balanced autonomic tone\\n\")\n", + "for name, r in results.items():\n", + " ratio = r['LF/HF']\n", + " state = \"sympathetic dominant\" if ratio > 2.0 else \"parasympathetic dominant\" if ratio < 0.5 else \"balanced\"\n", + " print(f\"{name}: LF/HF={ratio:.2f} -> {state}\")\n", + "\n", + "# PSD plot\n", + "fig, axes = plt.subplots(2, 2, figsize=(14, 10))\n", + "colors = {'Baseline': 'gray', 'Session 01': 'tab:blue', 'Session 02': 'tab:orange', 'Session 03': 'tab:green'}\n", + "\n", + "for ax, (name, r) in zip(axes.flat, results.items()):\n", + " freqs, psd = r['freqs'], r['psd']\n", + " ax.plot(freqs, psd, color=colors.get(name, 'black'), linewidth=0.8)\n", + " ax.fill_between(freqs, psd, where=(freqs >= 0.04) & (freqs < 0.15), alpha=0.3, color='red', label='LF')\n", + " ax.fill_between(freqs, psd, where=(freqs >= 0.15) & (freqs < 0.4), alpha=0.3, color='blue', label='HF')\n", + " ax.set_title(f'{name} (LF/HF={r[\"LF/HF\"]:.2f})')\n", + " ax.set_xlabel('Frequency (Hz)')\n", + " ax.set_ylabel('PSD (ms²/Hz)')\n", + " ax.legend(fontsize=8)\n", + " ax.set_xlim(0, 0.5)\n", + "\n", + "plt.suptitle('Frequency-Domain HRV: Power Spectral Density')\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# LF/HF bar chart\n", + "fig, ax = plt.subplots(figsize=(8, 5))\n", + "names = list(results.keys())\n", + "ratios = [results[n]['LF/HF'] for n in names]\n", + "bars = ax.bar(names, ratios, color=[colors[n] for n in names])\n", + "ax.axhline(2.0, color='red', linestyle='--', alpha=0.7, label='Stress threshold')\n", + "ax.axhline(0.5, color='green', linestyle='--', alpha=0.7, label='Relaxation threshold')\n", + "ax.set_ylabel('LF/HF Ratio')\n", + "ax.set_title('Sympathovagal Balance Across Sessions')\n", + "ax.legend()\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] } ], "metadata": { "kernelspec": { - "display_name": "pdf_processing", + "display_name": "Python 3", "language": "python", - "name": "pdf_processing" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -122,4 +254,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/case-study/1_SD HR.ipynb b/case-study/1_SD HR.ipynb deleted file mode 100755 index d2362f3..0000000 --- a/case-study/1_SD HR.ipynb +++ /dev/null @@ -1,41 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "4065e5d8-1fad-4496-aba0-086d4ccad315", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\n\nDATA = '../data/case-study/processed'\n\n# load both tests\nhr_psychometric = pd.read_csv(f'{DATA}/hr_01.csv')\nhr_baseline = pd.read_csv(f'{DATA}/hr.csv')\n\n# filter high confidence\nhr_psychometric_high_conf = hr_psychometric[hr_psychometric['confidence'] == 1.0]\nhr_baseline_high_conf = hr_baseline[hr_baseline['confidence'] == 1.0]\n\n# overall avg + std\noverall_avg_hr_psychometric = hr_psychometric_high_conf['heart_rate'].mean()\noverall_sd_hr_psychometric = hr_psychometric_high_conf['heart_rate'].std()\n\noverall_avg_hr_baseline = hr_baseline_high_conf['heart_rate'].mean()\noverall_sd_hr_baseline = hr_baseline_high_conf['heart_rate'].std()\n\n# create table\ncombined_stats_df = pd.DataFrame({\n 'Test': ['Psychometric Test', 'Baseline Test'],\n 'Average HR': [overall_avg_hr_psychometric, overall_avg_hr_baseline],\n 'Standard Deviation HR': [overall_sd_hr_psychometric, overall_sd_hr_baseline]\n})\n\nprint(combined_stats_df)" - }, - { - "cell_type": "code", - "id": "lbi1cj1ij4", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy import stats\n\nDATA = '../data/case-study/processed'\n\n# load all sessions\nhr_baseline = pd.read_csv(f'{DATA}/hr.csv')\nhr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\nhr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\nhr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n\nsessions = {\n 'Baseline': hr_baseline[hr_baseline['confidence'] == 1.0]['heart_rate'],\n 'Session 01': hr_01[hr_01['confidence'] == 1.0]['heart_rate'],\n 'Session 02': hr_02[hr_02['confidence'] == 1.0]['heart_rate'],\n 'Session 03': hr_03[hr_03['confidence'] == 1.0]['heart_rate']\n}\n\n# descriptive stats\nstats_table = pd.DataFrame({\n name: {\n 'N': len(data),\n 'Mean': data.mean(),\n 'SD': data.std(),\n 'Median': data.median(),\n 'IQR': data.quantile(0.75) - data.quantile(0.25),\n 'Min': data.min(),\n 'Max': data.max()\n }\n for name, data in sessions.items()\n}).T.round(2)\n\nprint(\"=== Descriptive Statistics ===\\n\")\nprint(stats_table.to_string())\n\n# Kruskal-Wallis test\nprint(\"\\n=== Kruskal-Wallis Test (all sessions) ===\\n\")\nh_stat, p_val = stats.kruskal(*sessions.values())\nprint(f\"H={h_stat:.3f}, p={p_val:.4f}\")\n\n# pairwise Mann-Whitney U\nprint(\"\\n=== Pairwise Mann-Whitney U Tests ===\\n\")\nnames = list(sessions.keys())\nfrom itertools import combinations\np_vals = []\npair_labels = []\nfor i, j in combinations(range(len(names)), 2):\n u_stat, p = stats.mannwhitneyu(sessions[names[i]], sessions[names[j]], alternative='two-sided')\n p_vals.append(p)\n pair_labels.append(f\"{names[i]} vs {names[j]}\")\n\n# Holm correction\nsorted_idx = np.argsort(p_vals)\ncorrected = np.zeros(len(p_vals))\nm = len(p_vals)\nfor rank, idx in enumerate(sorted_idx):\n corrected[idx] = min(p_vals[idx] * (m - rank), 1.0)\n\nfor k in range(len(pair_labels)):\n sig = \"*\" if corrected[k] < 0.05 else \"ns\"\n print(f\" {pair_labels[k]}: U p={p_vals[k]:.4f}, corrected={corrected[k]:.4f} {sig}\")", - "metadata": {}, - "execution_count": null, - "outputs": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/1_hr_sd.ipynb b/case-study/1_hr_sd.ipynb new file mode 100755 index 0000000..1fd4d6c --- /dev/null +++ b/case-study/1_hr_sd.ipynb @@ -0,0 +1,147 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0e47b352", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# 1 Hr Sd\n", + "\n", + "Heart-rate mean and standard deviation, baseline vs test session.\n", + "\n", + "**Reads:** `data/case-study/ (one participant, all sessions)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4065e5d8-1fad-4496-aba0-086d4ccad315", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load both tests\n", + "hr_psychometric = pd.read_csv(f'{DATA}/hr_01.csv')\n", + "hr_baseline = pd.read_csv(f'{DATA}/hr.csv')\n", + "\n", + "# filter high confidence\n", + "hr_psychometric_high_conf = hr_psychometric[hr_psychometric['confidence'] == 1.0]\n", + "hr_baseline_high_conf = hr_baseline[hr_baseline['confidence'] == 1.0]\n", + "\n", + "# overall avg + std\n", + "overall_avg_hr_psychometric = hr_psychometric_high_conf['heart_rate'].mean()\n", + "overall_sd_hr_psychometric = hr_psychometric_high_conf['heart_rate'].std()\n", + "\n", + "overall_avg_hr_baseline = hr_baseline_high_conf['heart_rate'].mean()\n", + "overall_sd_hr_baseline = hr_baseline_high_conf['heart_rate'].std()\n", + "\n", + "# create table\n", + "combined_stats_df = pd.DataFrame({\n", + " 'Test': ['Psychometric Test', 'Baseline Test'],\n", + " 'Average HR': [overall_avg_hr_psychometric, overall_avg_hr_baseline],\n", + " 'Standard Deviation HR': [overall_sd_hr_psychometric, overall_sd_hr_baseline]\n", + "})\n", + "\n", + "print(combined_stats_df)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "lbi1cj1ij4", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy import stats\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load all sessions\n", + "hr_baseline = pd.read_csv(f'{DATA}/hr.csv')\n", + "hr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\n", + "hr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\n", + "hr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n", + "\n", + "sessions = {\n", + " 'Baseline': hr_baseline[hr_baseline['confidence'] == 1.0]['heart_rate'],\n", + " 'Session 01': hr_01[hr_01['confidence'] == 1.0]['heart_rate'],\n", + " 'Session 02': hr_02[hr_02['confidence'] == 1.0]['heart_rate'],\n", + " 'Session 03': hr_03[hr_03['confidence'] == 1.0]['heart_rate']\n", + "}\n", + "\n", + "# descriptive stats\n", + "stats_table = pd.DataFrame({\n", + " name: {\n", + " 'N': len(data),\n", + " 'Mean': data.mean(),\n", + " 'SD': data.std(),\n", + " 'Median': data.median(),\n", + " 'IQR': data.quantile(0.75) - data.quantile(0.25),\n", + " 'Min': data.min(),\n", + " 'Max': data.max()\n", + " }\n", + " for name, data in sessions.items()\n", + "}).T.round(2)\n", + "\n", + "print(\"=== Descriptive Statistics ===\\n\")\n", + "print(stats_table.to_string())\n", + "\n", + "# Kruskal-Wallis test\n", + "print(\"\\n=== Kruskal-Wallis Test (all sessions) ===\\n\")\n", + "h_stat, p_val = stats.kruskal(*sessions.values())\n", + "print(f\"H={h_stat:.3f}, p={p_val:.4f}\")\n", + "\n", + "# pairwise Mann-Whitney U\n", + "print(\"\\n=== Pairwise Mann-Whitney U Tests ===\\n\")\n", + "names = list(sessions.keys())\n", + "from itertools import combinations\n", + "p_vals = []\n", + "pair_labels = []\n", + "for i, j in combinations(range(len(names)), 2):\n", + " u_stat, p = stats.mannwhitneyu(sessions[names[i]], sessions[names[j]], alternative='two-sided')\n", + " p_vals.append(p)\n", + " pair_labels.append(f\"{names[i]} vs {names[j]}\")\n", + "\n", + "# Holm correction\n", + "sorted_idx = np.argsort(p_vals)\n", + "corrected = np.zeros(len(p_vals))\n", + "m = len(p_vals)\n", + "for rank, idx in enumerate(sorted_idx):\n", + " corrected[idx] = min(p_vals[idx] * (m - rank), 1.0)\n", + "\n", + "for k in range(len(pair_labels)):\n", + " sig = \"*\" if corrected[k] < 0.05 else \"ns\"\n", + " print(f\" {pair_labels[k]}: U p={p_vals[k]:.4f}, corrected={corrected[k]:.4f} {sig}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/case-study/2_Fixation.ipynb b/case-study/2_Fixation.ipynb index a2f83a1..30686ce 100755 --- a/case-study/2_Fixation.ipynb +++ b/case-study/2_Fixation.ipynb @@ -1,12 +1,78 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "3f90b170", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# 2 Fixation\n", + "\n", + "Eye-tracking fixation durations per session and per question type.\n", + "\n", + "**Reads:** `data/case-study/ (one participant, all sessions)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, { "cell_type": "code", "execution_count": null, "id": "09035409-d0a6-4ca5-b102-dafe75b47438", "metadata": {}, "outputs": [], - "source": "import pandas as pd\n\nDATA = '../data/case-study/processed'\n\n# load data\ndf1 = pd.read_csv(f'{DATA}/sed_fix_01.csv')\ndf2 = pd.read_csv(f'{DATA}/sed_fix_02.csv')\ndf3 = pd.read_csv(f'{DATA}/sed_fix_03.csv')\nbaseline_df = pd.read_csv(f'{DATA}/sed_fix.csv')\n\n# avg fixation duration\ndef calculate_average_fixation_duration(df):\n df = df.copy()\n df['fixation_start'] = df['fixation'].diff().fillna(0) == 1\n df['fixation_end'] = df['fixation'].diff().fillna(0) == -1\n\n fixation_starts = df[df['fixation_start']].index\n fixation_ends = df[df['fixation_end']].index\n\n # validate pairs\n if len(fixation_starts) > len(fixation_ends):\n fixation_starts = fixation_starts[:len(fixation_ends)]\n elif len(fixation_ends) > len(fixation_starts):\n fixation_ends = fixation_ends[:len(fixation_starts)]\n\n # fixation durations\n fixation_durations = df.loc[fixation_ends, 'reltime'].values - df.loc[fixation_starts, 'reltime'].values\n fixation_durations = fixation_durations[~pd.isnull(fixation_durations)]\n average_duration = fixation_durations.mean() if len(fixation_durations) > 0 else 0\n return average_duration\n\n# avg per session\nbaseline_avg_fixation = calculate_average_fixation_duration(baseline_df)\navg_fixation_01 = calculate_average_fixation_duration(df1)\navg_fixation_02 = calculate_average_fixation_duration(df2)\navg_fixation_03 = calculate_average_fixation_duration(df3)\n\n# calculate difference\nfixation_difference_01 = avg_fixation_01 - baseline_avg_fixation\nfixation_difference_02 = avg_fixation_02 - baseline_avg_fixation\nfixation_difference_03 = avg_fixation_03 - baseline_avg_fixation\n\n# display results\nprint(f'Baseline Average Fixation Duration: {baseline_avg_fixation:.2f} seconds')\nprint(f'Session 1 Average Fixation Duration: {avg_fixation_01:.2f} seconds')\nprint(f'Difference from Baseline in Session 1: {fixation_difference_01:.2f} seconds')\nprint(f'Session 2 Average Fixation Duration: {avg_fixation_02:.2f} seconds')\nprint(f'Difference from Baseline in Session 2: {fixation_difference_02:.2f} seconds')\nprint(f'Session 3 Average Fixation Duration: {avg_fixation_03:.2f} seconds')\nprint(f'Difference from Baseline in Session 3: {fixation_difference_03:.2f} seconds')" + "source": [ + "import pandas as pd\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load data\n", + "df1 = pd.read_csv(f'{DATA}/sed_fix_01.csv')\n", + "df2 = pd.read_csv(f'{DATA}/sed_fix_02.csv')\n", + "df3 = pd.read_csv(f'{DATA}/sed_fix_03.csv')\n", + "baseline_df = pd.read_csv(f'{DATA}/sed_fix.csv')\n", + "\n", + "# avg fixation duration\n", + "def calculate_average_fixation_duration(df):\n", + " df = df.copy()\n", + " df['fixation_start'] = df['fixation'].diff().fillna(0) == 1\n", + " df['fixation_end'] = df['fixation'].diff().fillna(0) == -1\n", + "\n", + " fixation_starts = df[df['fixation_start']].index\n", + " fixation_ends = df[df['fixation_end']].index\n", + "\n", + " # validate pairs\n", + " if len(fixation_starts) > len(fixation_ends):\n", + " fixation_starts = fixation_starts[:len(fixation_ends)]\n", + " elif len(fixation_ends) > len(fixation_starts):\n", + " fixation_ends = fixation_ends[:len(fixation_starts)]\n", + "\n", + " # fixation durations\n", + " fixation_durations = df.loc[fixation_ends, 'reltime'].values - df.loc[fixation_starts, 'reltime'].values\n", + " fixation_durations = fixation_durations[~pd.isnull(fixation_durations)]\n", + " average_duration = fixation_durations.mean() if len(fixation_durations) > 0 else 0\n", + " return average_duration\n", + "\n", + "# avg per session\n", + "baseline_avg_fixation = calculate_average_fixation_duration(baseline_df)\n", + "avg_fixation_01 = calculate_average_fixation_duration(df1)\n", + "avg_fixation_02 = calculate_average_fixation_duration(df2)\n", + "avg_fixation_03 = calculate_average_fixation_duration(df3)\n", + "\n", + "# calculate difference\n", + "fixation_difference_01 = avg_fixation_01 - baseline_avg_fixation\n", + "fixation_difference_02 = avg_fixation_02 - baseline_avg_fixation\n", + "fixation_difference_03 = avg_fixation_03 - baseline_avg_fixation\n", + "\n", + "# display results\n", + "print(f'Baseline Average Fixation Duration: {baseline_avg_fixation:.2f} seconds')\n", + "print(f'Session 1 Average Fixation Duration: {avg_fixation_01:.2f} seconds')\n", + "print(f'Difference from Baseline in Session 1: {fixation_difference_01:.2f} seconds')\n", + "print(f'Session 2 Average Fixation Duration: {avg_fixation_02:.2f} seconds')\n", + "print(f'Difference from Baseline in Session 2: {fixation_difference_02:.2f} seconds')\n", + "print(f'Session 3 Average Fixation Duration: {avg_fixation_03:.2f} seconds')\n", + "print(f'Difference from Baseline in Session 3: {fixation_difference_03:.2f} seconds')" + ] }, { "cell_type": "code", @@ -14,7 +80,68 @@ "id": "b37c281f-150c-4bbd-a61d-f10b50518ef1", "metadata": {}, "outputs": [], - "source": "import pandas as pd\n\nDATA = '../data/case-study/processed'\n\n# load baseline\nbaseline_fixation = pd.read_csv(f'{DATA}/sed_fix.csv')\n\n# load fixation data\nfixation_01 = pd.read_csv(f'{DATA}/sed_fix_01.csv')\nfixation_02 = pd.read_csv(f'{DATA}/sed_fix_02.csv')\nfixation_03 = pd.read_csv(f'{DATA}/sed_fix_03.csv')\n\n# avg fixation duration\ndef calculate_average_fixation_duration(df):\n df = df.copy()\n df['fixation_start'] = df['fixation'].diff().fillna(0) == 1\n df['fixation_end'] = df['fixation'].diff().fillna(0) == -1\n\n fixation_starts = df[df['fixation_start']].index\n fixation_ends = df[df['fixation_end']].index\n\n # validate pairs\n if len(fixation_starts) > len(fixation_ends):\n fixation_starts = fixation_starts[:len(fixation_ends)]\n elif len(fixation_ends) > len(fixation_starts):\n fixation_ends = fixation_ends[:len(fixation_starts)]\n\n # fixation durations\n fixation_durations = df.loc[fixation_ends, 'reltime'].values - df.loc[fixation_starts, 'reltime'].values\n fixation_durations = fixation_durations[~pd.isnull(fixation_durations)]\n \n # convert to ms\n fixation_durations_ms = fixation_durations * 1000\n \n # filter valid range\n valid_fixation_durations = fixation_durations_ms[(fixation_durations_ms >= 150) & (fixation_durations_ms <= 300)]\n \n # average duration\n average_duration = valid_fixation_durations.mean() / 1000 if len(valid_fixation_durations) > 0 else 0\n return average_duration\n\n# avg per session\nbaseline_avg_fixation = calculate_average_fixation_duration(baseline_fixation)\navg_fixation_01 = calculate_average_fixation_duration(fixation_01)\navg_fixation_02 = calculate_average_fixation_duration(fixation_02)\navg_fixation_03 = calculate_average_fixation_duration(fixation_03)\n\n# calculate difference\nfixation_difference_01 = avg_fixation_01 - baseline_avg_fixation\nfixation_difference_02 = avg_fixation_02 - baseline_avg_fixation\nfixation_difference_03 = avg_fixation_03 - baseline_avg_fixation\n\n# display results\nprint(f'Baseline Average Fixation Duration: {baseline_avg_fixation:.2f} seconds')\nprint(f'Session 1 Average Fixation Duration: {avg_fixation_01:.2f} seconds')\nprint(f'Difference from Baseline in Session 1: {fixation_difference_01:.2f} seconds')\nprint(f'Session 2 Average Fixation Duration: {avg_fixation_02:.2f} seconds')\nprint(f'Difference from Baseline in Session 2: {fixation_difference_02:.2f} seconds')\nprint(f'Session 3 Average Fixation Duration: {avg_fixation_03:.2f} seconds')\nprint(f'Difference from Baseline in Session 3: {fixation_difference_03:.2f} seconds')" + "source": [ + "import pandas as pd\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load baseline\n", + "baseline_fixation = pd.read_csv(f'{DATA}/sed_fix.csv')\n", + "\n", + "# load fixation data\n", + "fixation_01 = pd.read_csv(f'{DATA}/sed_fix_01.csv')\n", + "fixation_02 = pd.read_csv(f'{DATA}/sed_fix_02.csv')\n", + "fixation_03 = pd.read_csv(f'{DATA}/sed_fix_03.csv')\n", + "\n", + "# avg fixation duration\n", + "def calculate_average_fixation_duration(df):\n", + " df = df.copy()\n", + " df['fixation_start'] = df['fixation'].diff().fillna(0) == 1\n", + " df['fixation_end'] = df['fixation'].diff().fillna(0) == -1\n", + "\n", + " fixation_starts = df[df['fixation_start']].index\n", + " fixation_ends = df[df['fixation_end']].index\n", + "\n", + " # validate pairs\n", + " if len(fixation_starts) > len(fixation_ends):\n", + " fixation_starts = fixation_starts[:len(fixation_ends)]\n", + " elif len(fixation_ends) > len(fixation_starts):\n", + " fixation_ends = fixation_ends[:len(fixation_starts)]\n", + "\n", + " # fixation durations\n", + " fixation_durations = df.loc[fixation_ends, 'reltime'].values - df.loc[fixation_starts, 'reltime'].values\n", + " fixation_durations = fixation_durations[~pd.isnull(fixation_durations)]\n", + " \n", + " # convert to ms\n", + " fixation_durations_ms = fixation_durations * 1000\n", + " \n", + " # filter valid range\n", + " valid_fixation_durations = fixation_durations_ms[(fixation_durations_ms >= 150) & (fixation_durations_ms <= 300)]\n", + " \n", + " # average duration\n", + " average_duration = valid_fixation_durations.mean() / 1000 if len(valid_fixation_durations) > 0 else 0\n", + " return average_duration\n", + "\n", + "# avg per session\n", + "baseline_avg_fixation = calculate_average_fixation_duration(baseline_fixation)\n", + "avg_fixation_01 = calculate_average_fixation_duration(fixation_01)\n", + "avg_fixation_02 = calculate_average_fixation_duration(fixation_02)\n", + "avg_fixation_03 = calculate_average_fixation_duration(fixation_03)\n", + "\n", + "# calculate difference\n", + "fixation_difference_01 = avg_fixation_01 - baseline_avg_fixation\n", + "fixation_difference_02 = avg_fixation_02 - baseline_avg_fixation\n", + "fixation_difference_03 = avg_fixation_03 - baseline_avg_fixation\n", + "\n", + "# display results\n", + "print(f'Baseline Average Fixation Duration: {baseline_avg_fixation:.2f} seconds')\n", + "print(f'Session 1 Average Fixation Duration: {avg_fixation_01:.2f} seconds')\n", + "print(f'Difference from Baseline in Session 1: {fixation_difference_01:.2f} seconds')\n", + "print(f'Session 2 Average Fixation Duration: {avg_fixation_02:.2f} seconds')\n", + "print(f'Difference from Baseline in Session 2: {fixation_difference_02:.2f} seconds')\n", + "print(f'Session 3 Average Fixation Duration: {avg_fixation_03:.2f} seconds')\n", + "print(f'Difference from Baseline in Session 3: {fixation_difference_03:.2f} seconds')" + ] }, { "cell_type": "code", @@ -22,7 +149,66 @@ "id": "7bf81a42-3acb-4d36-bfea-446b84003e26", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport numpy as np\n\nDATA = '../data/case-study/processed'\n\n# load baseline\nbaseline_fixation = pd.read_csv(f'{DATA}/sed_fix.csv')\n\n# load fixation data\nfixation_01 = pd.read_csv(f'{DATA}/sed_fix_01.csv')\nfixation_02 = pd.read_csv(f'{DATA}/sed_fix_02.csv')\nfixation_03 = pd.read_csv(f'{DATA}/sed_fix_03.csv')\n\n# calculate average\ndef calculate_average_fixation_duration(df):\n df = df.copy()\n df['fixation_start'] = df['fixation'].diff().fillna(0) == 1\n df['fixation_end'] = df['fixation'].diff().fillna(0) == -1\n\n fixation_starts = df[df['fixation_start']].index\n fixation_ends = df[df['fixation_end']].index\n\n # validate pairs\n if len(fixation_starts) > len(fixation_ends):\n fixation_starts = fixation_starts[:len(fixation_ends)]\n elif len(fixation_ends) > len(fixation_starts):\n fixation_ends = fixation_ends[:len(fixation_starts)]\n\n # fixation durations\n fixation_durations = (df.loc[fixation_ends, 'reltime'].values - df.loc[fixation_starts, 'reltime'].values) * 1000\n fixation_durations = fixation_durations[~pd.isnull(fixation_durations)]\n\n # filter valid range\n valid_fixation_durations = fixation_durations[(fixation_durations >= 150) & (fixation_durations <= 300)]\n\n # average duration\n average_duration = valid_fixation_durations.mean() if len(valid_fixation_durations) > 0 else 0\n return average_duration\n\n# avg per session\nbaseline_avg_fixation = calculate_average_fixation_duration(baseline_fixation)\navg_fixation_01 = calculate_average_fixation_duration(fixation_01)\navg_fixation_02 = calculate_average_fixation_duration(fixation_02)\navg_fixation_03 = calculate_average_fixation_duration(fixation_03)\n\n# calculate difference\nfixation_difference_01 = avg_fixation_01 - baseline_avg_fixation\nfixation_difference_02 = avg_fixation_02 - baseline_avg_fixation\nfixation_difference_03 = avg_fixation_03 - baseline_avg_fixation\n\n# display results\nprint(f'Baseline Average Fixation Duration: {baseline_avg_fixation:.2f} ms')\nprint(f'Session 1 Average Fixation Duration: {avg_fixation_01:.2f} ms')\nprint(f'Difference from Baseline in Session 1: {fixation_difference_01:.2f} ms')\nprint(f'Session 2 Average Fixation Duration: {avg_fixation_02:.2f} ms')\nprint(f'Difference from Baseline in Session 2: {fixation_difference_02:.2f} ms')\nprint(f'Session 3 Average Fixation Duration: {avg_fixation_03:.2f} ms')\nprint(f'Difference from Baseline in Session 3: {fixation_difference_03:.2f} ms')" + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load baseline\n", + "baseline_fixation = pd.read_csv(f'{DATA}/sed_fix.csv')\n", + "\n", + "# load fixation data\n", + "fixation_01 = pd.read_csv(f'{DATA}/sed_fix_01.csv')\n", + "fixation_02 = pd.read_csv(f'{DATA}/sed_fix_02.csv')\n", + "fixation_03 = pd.read_csv(f'{DATA}/sed_fix_03.csv')\n", + "\n", + "# calculate average\n", + "def calculate_average_fixation_duration(df):\n", + " df = df.copy()\n", + " df['fixation_start'] = df['fixation'].diff().fillna(0) == 1\n", + " df['fixation_end'] = df['fixation'].diff().fillna(0) == -1\n", + "\n", + " fixation_starts = df[df['fixation_start']].index\n", + " fixation_ends = df[df['fixation_end']].index\n", + "\n", + " # validate pairs\n", + " if len(fixation_starts) > len(fixation_ends):\n", + " fixation_starts = fixation_starts[:len(fixation_ends)]\n", + " elif len(fixation_ends) > len(fixation_starts):\n", + " fixation_ends = fixation_ends[:len(fixation_starts)]\n", + "\n", + " # fixation durations\n", + " fixation_durations = (df.loc[fixation_ends, 'reltime'].values - df.loc[fixation_starts, 'reltime'].values) * 1000\n", + " fixation_durations = fixation_durations[~pd.isnull(fixation_durations)]\n", + "\n", + " # filter valid range\n", + " valid_fixation_durations = fixation_durations[(fixation_durations >= 150) & (fixation_durations <= 300)]\n", + "\n", + " # average duration\n", + " average_duration = valid_fixation_durations.mean() if len(valid_fixation_durations) > 0 else 0\n", + " return average_duration\n", + "\n", + "# avg per session\n", + "baseline_avg_fixation = calculate_average_fixation_duration(baseline_fixation)\n", + "avg_fixation_01 = calculate_average_fixation_duration(fixation_01)\n", + "avg_fixation_02 = calculate_average_fixation_duration(fixation_02)\n", + "avg_fixation_03 = calculate_average_fixation_duration(fixation_03)\n", + "\n", + "# calculate difference\n", + "fixation_difference_01 = avg_fixation_01 - baseline_avg_fixation\n", + "fixation_difference_02 = avg_fixation_02 - baseline_avg_fixation\n", + "fixation_difference_03 = avg_fixation_03 - baseline_avg_fixation\n", + "\n", + "# display results\n", + "print(f'Baseline Average Fixation Duration: {baseline_avg_fixation:.2f} ms')\n", + "print(f'Session 1 Average Fixation Duration: {avg_fixation_01:.2f} ms')\n", + "print(f'Difference from Baseline in Session 1: {fixation_difference_01:.2f} ms')\n", + "print(f'Session 2 Average Fixation Duration: {avg_fixation_02:.2f} ms')\n", + "print(f'Difference from Baseline in Session 2: {fixation_difference_02:.2f} ms')\n", + "print(f'Session 3 Average Fixation Duration: {avg_fixation_03:.2f} ms')\n", + "print(f'Difference from Baseline in Session 3: {fixation_difference_03:.2f} ms')" + ] }, { "cell_type": "code", @@ -30,7 +216,48 @@ "id": "619cd60b-6105-4bb7-a655-9e610baeff09", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport numpy as np\n\nDATA = '../data/case-study/processed'\n\n# load data\ndata = pd.read_csv(f'{DATA}/sed_01.csv')\n\n# fixation duration calc\ndef calculate_fixation_duration(df, velocity_threshold=0.1):\n df = df.copy()\n # gaze velocity\n df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n df['gazeDir.y'].diff()**2 +\n df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n\n # identify fixations\n df['is_fixation'] = df['gaze_velocity'] < velocity_threshold\n\n # group fixations\n df['fixation_id'] = (df['is_fixation'] != df['is_fixation'].shift()).cumsum()\n\n # fixation durations\n g = df[df['is_fixation']].groupby('fixation_id')['reltime']\n fixation_durations = g.max() - g.min()\n\n # filter + average\n fixation_durations = fixation_durations[fixation_durations > 0]\n average_fixation_duration = fixation_durations.mean()\n\n return average_fixation_duration\n\n# average fixation\naverage_fixation_duration = calculate_fixation_duration(data)\n\n# convert to ms\naverage_fixation_duration_ms = average_fixation_duration * 1000\n\n# print result\nprint(f\"The average fixation duration is {average_fixation_duration_ms:.2f} milliseconds\")" + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load data\n", + "data = pd.read_csv(f'{DATA}/sed_01.csv')\n", + "\n", + "# fixation duration calc\n", + "def calculate_fixation_duration(df, velocity_threshold=0.1):\n", + " df = df.copy()\n", + " # gaze velocity\n", + " df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n", + " df['gazeDir.y'].diff()**2 +\n", + " df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n", + "\n", + " # identify fixations\n", + " df['is_fixation'] = df['gaze_velocity'] < velocity_threshold\n", + "\n", + " # group fixations\n", + " df['fixation_id'] = (df['is_fixation'] != df['is_fixation'].shift()).cumsum()\n", + "\n", + " # fixation durations\n", + " g = df[df['is_fixation']].groupby('fixation_id')['reltime']\n", + " fixation_durations = g.max() - g.min()\n", + "\n", + " # filter + average\n", + " fixation_durations = fixation_durations[fixation_durations > 0]\n", + " average_fixation_duration = fixation_durations.mean()\n", + "\n", + " return average_fixation_duration\n", + "\n", + "# average fixation\n", + "average_fixation_duration = calculate_fixation_duration(data)\n", + "\n", + "# convert to ms\n", + "average_fixation_duration_ms = average_fixation_duration * 1000\n", + "\n", + "# print result\n", + "print(f\"The average fixation duration is {average_fixation_duration_ms:.2f} milliseconds\")" + ] }, { "cell_type": "code", @@ -38,7 +265,76 @@ "id": "66eff0c8-734b-4313-a502-1960ea3f5c5a", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport numpy as np\n\nDATA = '../data/case-study/processed'\n\nbaseline_data = pd.read_csv(f'{DATA}/sed.csv')\nsession_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\nsession_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\nsession_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n\n# fixation duration calc\ndef calculate_fixation_duration(df, velocity_threshold=0.1):\n df = df.copy()\n # gaze velocity\n df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n df['gazeDir.y'].diff()**2 +\n df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n\n # identify fixations\n df['is_fixation'] = df['gaze_velocity'] < velocity_threshold\n\n # group fixations\n df['fixation_id'] = (df['is_fixation'] != df['is_fixation'].shift()).cumsum()\n\n # fixation durations\n g = df[df['is_fixation']].groupby('fixation_id')['reltime']\n fixation_durations = g.max() - g.min()\n\n # filter + average\n fixation_durations = fixation_durations[fixation_durations > 0]\n average_fixation_duration = fixation_durations.mean()\n\n return average_fixation_duration\n\n# avg per dataset\nbaseline_avg_fixation_duration = calculate_fixation_duration(baseline_data)\nsession_01_avg_fixation_duration = calculate_fixation_duration(session_01_data)\nsession_02_avg_fixation_duration = calculate_fixation_duration(session_02_data)\nsession_03_avg_fixation_duration = calculate_fixation_duration(session_03_data)\n\n# convert to ms\nbaseline_avg_fixation_duration_ms = baseline_avg_fixation_duration * 1000\nsession_01_avg_fixation_duration_ms = session_01_avg_fixation_duration * 1000\nsession_02_avg_fixation_duration_ms = session_02_avg_fixation_duration * 1000\nsession_03_avg_fixation_duration_ms = session_03_avg_fixation_duration * 1000\n\n# calculate difference\nfixation_difference_01 = session_01_avg_fixation_duration_ms - baseline_avg_fixation_duration_ms\nfixation_difference_02 = session_02_avg_fixation_duration_ms - baseline_avg_fixation_duration_ms\nfixation_difference_03 = session_03_avg_fixation_duration_ms - baseline_avg_fixation_duration_ms\n\n# anxiety threshold\nfixation_anxiety_threshold = 250\n\n# check fixation anxiety\nanxiety_fixation_baseline = baseline_avg_fixation_duration_ms < fixation_anxiety_threshold\nanxiety_fixation_01 = session_01_avg_fixation_duration_ms < fixation_anxiety_threshold\nanxiety_fixation_02 = session_02_avg_fixation_duration_ms < fixation_anxiety_threshold\nanxiety_fixation_03 = session_03_avg_fixation_duration_ms < fixation_anxiety_threshold\n\n# display results\nprint(f'Baseline Average Fixation Duration: {baseline_avg_fixation_duration_ms:.2f} ms - {\"Anxiety (<250 ms)\" if anxiety_fixation_baseline else \"Normal\"}')\nprint(f'Session 1 Average Fixation Duration: {session_01_avg_fixation_duration_ms:.2f} ms - {\"Anxiety (<250 ms)\" if anxiety_fixation_01 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 1: {fixation_difference_01:.2f} ms')\nprint(f'Session 2 Average Fixation Duration: {session_02_avg_fixation_duration_ms:.2f} ms - {\"Anxiety (<250 ms)\" if anxiety_fixation_02 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 2: {fixation_difference_02:.2f} ms')\nprint(f'Session 3 Average Fixation Duration: {session_03_avg_fixation_duration_ms:.2f} ms - {\"Anxiety (<250 ms)\" if anxiety_fixation_03 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 3: {fixation_difference_03:.2f} ms')" + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "baseline_data = pd.read_csv(f'{DATA}/sed.csv')\n", + "session_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\n", + "session_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\n", + "session_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n", + "\n", + "# fixation duration calc\n", + "def calculate_fixation_duration(df, velocity_threshold=0.1):\n", + " df = df.copy()\n", + " # gaze velocity\n", + " df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n", + " df['gazeDir.y'].diff()**2 +\n", + " df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n", + "\n", + " # identify fixations\n", + " df['is_fixation'] = df['gaze_velocity'] < velocity_threshold\n", + "\n", + " # group fixations\n", + " df['fixation_id'] = (df['is_fixation'] != df['is_fixation'].shift()).cumsum()\n", + "\n", + " # fixation durations\n", + " g = df[df['is_fixation']].groupby('fixation_id')['reltime']\n", + " fixation_durations = g.max() - g.min()\n", + "\n", + " # filter + average\n", + " fixation_durations = fixation_durations[fixation_durations > 0]\n", + " average_fixation_duration = fixation_durations.mean()\n", + "\n", + " return average_fixation_duration\n", + "\n", + "# avg per dataset\n", + "baseline_avg_fixation_duration = calculate_fixation_duration(baseline_data)\n", + "session_01_avg_fixation_duration = calculate_fixation_duration(session_01_data)\n", + "session_02_avg_fixation_duration = calculate_fixation_duration(session_02_data)\n", + "session_03_avg_fixation_duration = calculate_fixation_duration(session_03_data)\n", + "\n", + "# convert to ms\n", + "baseline_avg_fixation_duration_ms = baseline_avg_fixation_duration * 1000\n", + "session_01_avg_fixation_duration_ms = session_01_avg_fixation_duration * 1000\n", + "session_02_avg_fixation_duration_ms = session_02_avg_fixation_duration * 1000\n", + "session_03_avg_fixation_duration_ms = session_03_avg_fixation_duration * 1000\n", + "\n", + "# calculate difference\n", + "fixation_difference_01 = session_01_avg_fixation_duration_ms - baseline_avg_fixation_duration_ms\n", + "fixation_difference_02 = session_02_avg_fixation_duration_ms - baseline_avg_fixation_duration_ms\n", + "fixation_difference_03 = session_03_avg_fixation_duration_ms - baseline_avg_fixation_duration_ms\n", + "\n", + "# anxiety threshold\n", + "fixation_anxiety_threshold = 250\n", + "\n", + "# check fixation anxiety\n", + "anxiety_fixation_baseline = baseline_avg_fixation_duration_ms < fixation_anxiety_threshold\n", + "anxiety_fixation_01 = session_01_avg_fixation_duration_ms < fixation_anxiety_threshold\n", + "anxiety_fixation_02 = session_02_avg_fixation_duration_ms < fixation_anxiety_threshold\n", + "anxiety_fixation_03 = session_03_avg_fixation_duration_ms < fixation_anxiety_threshold\n", + "\n", + "# display results\n", + "print(f'Baseline Average Fixation Duration: {baseline_avg_fixation_duration_ms:.2f} ms - {\"Anxiety (<250 ms)\" if anxiety_fixation_baseline else \"Normal\"}')\n", + "print(f'Session 1 Average Fixation Duration: {session_01_avg_fixation_duration_ms:.2f} ms - {\"Anxiety (<250 ms)\" if anxiety_fixation_01 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 1: {fixation_difference_01:.2f} ms')\n", + "print(f'Session 2 Average Fixation Duration: {session_02_avg_fixation_duration_ms:.2f} ms - {\"Anxiety (<250 ms)\" if anxiety_fixation_02 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 2: {fixation_difference_02:.2f} ms')\n", + "print(f'Session 3 Average Fixation Duration: {session_03_avg_fixation_duration_ms:.2f} ms - {\"Anxiety (<250 ms)\" if anxiety_fixation_03 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 3: {fixation_difference_03:.2f} ms')" + ] }, { "cell_type": "code", @@ -46,7 +342,72 @@ "id": "71d91f0d-9305-4fe7-becd-da5edd4839f8", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nDATA = '../data/case-study/processed'\n\nbaseline_data = pd.read_csv(f'{DATA}/sed.csv')\nsession_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\nsession_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\nsession_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n\n# calculate fixation\ndef calculate_fixation_durations(df, velocity_threshold=0.1):\n df = df.copy()\n # gaze velocity\n df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n df['gazeDir.y'].diff()**2 +\n df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n\n # identify fixations\n df['is_fixation'] = df['gaze_velocity'] < velocity_threshold\n\n # group fixations\n df['fixation_id'] = (df['is_fixation'] != df['is_fixation'].shift()).cumsum()\n\n # fixation durations\n g = df[df['is_fixation']].groupby('fixation_id')['reltime']\n fixation_durations = g.max() - g.min()\n\n # filter zero durations\n fixation_durations = fixation_durations[fixation_durations > 0]\n\n return fixation_durations\n\n# calculate fixation durations\nbaseline_fixation_durations = calculate_fixation_durations(baseline_data)\nsession_01_fixation_durations = calculate_fixation_durations(session_01_data)\nsession_02_fixation_durations = calculate_fixation_durations(session_02_data)\nsession_03_fixation_durations = calculate_fixation_durations(session_03_data)\n\n# convert to ms\nbaseline_fixation_durations_ms = baseline_fixation_durations * 1000\nsession_01_fixation_durations_ms = session_01_fixation_durations * 1000\nsession_02_fixation_durations_ms = session_02_fixation_durations * 1000\nsession_03_fixation_durations_ms = session_03_fixation_durations * 1000\n\n# average fixation\nbaseline_avg_fixation_duration_ms = baseline_fixation_durations_ms.mean()\nsession_01_avg_fixation_duration_ms = session_01_fixation_durations_ms.mean()\nsession_02_avg_fixation_duration_ms = session_02_fixation_durations_ms.mean()\nsession_03_avg_fixation_duration_ms = session_03_fixation_durations_ms.mean()\n\n# bar plot average\naverage_durations = [baseline_avg_fixation_duration_ms, session_01_avg_fixation_duration_ms, session_02_avg_fixation_duration_ms, session_03_avg_fixation_duration_ms]\nlabels = ['Baseline', 'Session 01', 'Session 02', 'Session 03']\n\nplt.figure(figsize=(8, 6))\nplt.bar(labels, average_durations, color=['blue', 'orange', 'green', 'red'])\nplt.axhline(250, color='r', linestyle='dashed', linewidth=1, label='Anxiety Threshold (<250 ms)')\nplt.ylabel('Average Fixation Duration (ms)')\nplt.title('Average Fixation Duration by Dataset')\nplt.legend()\nplt.show()\nplt.close()" + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "baseline_data = pd.read_csv(f'{DATA}/sed.csv')\n", + "session_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\n", + "session_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\n", + "session_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n", + "\n", + "# calculate fixation\n", + "def calculate_fixation_durations(df, velocity_threshold=0.1):\n", + " df = df.copy()\n", + " # gaze velocity\n", + " df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n", + " df['gazeDir.y'].diff()**2 +\n", + " df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n", + "\n", + " # identify fixations\n", + " df['is_fixation'] = df['gaze_velocity'] < velocity_threshold\n", + "\n", + " # group fixations\n", + " df['fixation_id'] = (df['is_fixation'] != df['is_fixation'].shift()).cumsum()\n", + "\n", + " # fixation durations\n", + " g = df[df['is_fixation']].groupby('fixation_id')['reltime']\n", + " fixation_durations = g.max() - g.min()\n", + "\n", + " # filter zero durations\n", + " fixation_durations = fixation_durations[fixation_durations > 0]\n", + "\n", + " return fixation_durations\n", + "\n", + "# calculate fixation durations\n", + "baseline_fixation_durations = calculate_fixation_durations(baseline_data)\n", + "session_01_fixation_durations = calculate_fixation_durations(session_01_data)\n", + "session_02_fixation_durations = calculate_fixation_durations(session_02_data)\n", + "session_03_fixation_durations = calculate_fixation_durations(session_03_data)\n", + "\n", + "# convert to ms\n", + "baseline_fixation_durations_ms = baseline_fixation_durations * 1000\n", + "session_01_fixation_durations_ms = session_01_fixation_durations * 1000\n", + "session_02_fixation_durations_ms = session_02_fixation_durations * 1000\n", + "session_03_fixation_durations_ms = session_03_fixation_durations * 1000\n", + "\n", + "# average fixation\n", + "baseline_avg_fixation_duration_ms = baseline_fixation_durations_ms.mean()\n", + "session_01_avg_fixation_duration_ms = session_01_fixation_durations_ms.mean()\n", + "session_02_avg_fixation_duration_ms = session_02_fixation_durations_ms.mean()\n", + "session_03_avg_fixation_duration_ms = session_03_fixation_durations_ms.mean()\n", + "\n", + "# bar plot average\n", + "average_durations = [baseline_avg_fixation_duration_ms, session_01_avg_fixation_duration_ms, session_02_avg_fixation_duration_ms, session_03_avg_fixation_duration_ms]\n", + "labels = ['Baseline', 'Session 01', 'Session 02', 'Session 03']\n", + "\n", + "plt.figure(figsize=(8, 6))\n", + "plt.bar(labels, average_durations, color=['blue', 'orange', 'green', 'red'])\n", + "plt.axhline(250, color='r', linestyle='dashed', linewidth=1, label='Anxiety Threshold (<250 ms)')\n", + "plt.ylabel('Average Fixation Duration (ms)')\n", + "plt.title('Average Fixation Duration by Dataset')\n", + "plt.legend()\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", @@ -54,7 +415,100 @@ "id": "1fa35079-82f0-4b5b-8136-2d2070eae3e6", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nDATA = '../data/case-study/processed'\n\nbaseline_data = pd.read_csv(f'{DATA}/sed.csv')\nsession_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\nsession_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\nsession_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n\n# calculate fixation\ndef calculate_fixation_durations(df, velocity_threshold=0.1):\n df = df.copy()\n # gaze velocity\n df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n df['gazeDir.y'].diff()**2 +\n df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n\n # identify fixations\n df['is_fixation'] = df['gaze_velocity'] < velocity_threshold\n\n # group fixations\n df['fixation_id'] = (df['is_fixation'] != df['is_fixation'].shift()).cumsum()\n\n # fixation durations\n g = df[df['is_fixation']].groupby('fixation_id')['reltime']\n fixation_durations = g.max() - g.min()\n\n # filter zero durations\n fixation_durations = fixation_durations[fixation_durations > 0]\n\n return fixation_durations\n\n# calculate fixation durations\nbaseline_fixation_durations = calculate_fixation_durations(baseline_data)\nsession_01_fixation_durations = calculate_fixation_durations(session_01_data)\nsession_02_fixation_durations = calculate_fixation_durations(session_02_data)\nsession_03_fixation_durations = calculate_fixation_durations(session_03_data)\n\n# convert to ms\nbaseline_fixation_durations_ms = baseline_fixation_durations * 1000\nsession_01_fixation_durations_ms = session_01_fixation_durations * 1000\nsession_02_fixation_durations_ms = session_02_fixation_durations * 1000\nsession_03_fixation_durations_ms = session_03_fixation_durations * 1000\n\n# average fixation\nbaseline_avg_fixation_duration_ms = baseline_fixation_durations_ms.mean()\nsession_01_avg_fixation_duration_ms = session_01_fixation_durations_ms.mean()\nsession_02_avg_fixation_duration_ms = session_02_fixation_durations_ms.mean()\nsession_03_avg_fixation_duration_ms = session_03_fixation_durations_ms.mean()\n\n# distribution plot\nplt.figure(figsize=(12, 6))\nplt.hist(baseline_fixation_durations_ms, bins=30, alpha=0.5, label='Baseline')\nplt.hist(session_01_fixation_durations_ms, bins=30, alpha=0.5, label='Session 01')\nplt.hist(session_02_fixation_durations_ms, bins=30, alpha=0.5, label='Session 02')\nplt.hist(session_03_fixation_durations_ms, bins=30, alpha=0.5, label='Session 03')\nplt.axvline(250, color='r', linestyle='dashed', linewidth=1, label='Anxiety Threshold (<250 ms)')\nplt.xlabel('Fixation Duration (ms)')\nplt.ylabel('Frequency')\nplt.legend()\nplt.title('Distribution of Fixation Durations')\nplt.show()\nplt.close()\n\n# bar plot average\naverage_durations = [baseline_avg_fixation_duration_ms, session_01_avg_fixation_duration_ms, session_02_avg_fixation_duration_ms, session_03_avg_fixation_duration_ms]\nlabels = ['Baseline', 'Session 01', 'Session 02', 'Session 03']\n\nplt.figure(figsize=(8, 6))\nplt.bar(labels, average_durations, color=['blue', 'orange', 'green', 'red'])\nplt.axhline(250, color='r', linestyle='dashed', linewidth=1, label='Anxiety Threshold (<250 ms)')\nplt.ylabel('Average Fixation Duration (ms)')\nplt.title('Average Fixation Duration by Dataset')\nplt.legend()\nplt.show()\nplt.close()\n\n# anxiety threshold plot\nplt.figure(figsize=(12, 6))\nplt.hist(baseline_fixation_durations_ms, bins=30, alpha=0.5, label='Baseline')\nplt.hist(session_01_fixation_durations_ms, bins=30, alpha=0.5, label='Session 01')\nplt.hist(session_02_fixation_durations_ms, bins=30, alpha=0.5, label='Session 02')\nplt.hist(session_03_fixation_durations_ms, bins=30, alpha=0.5, label='Session 03')\nplt.axvline(250, color='r', linestyle='dashed', linewidth=1, label='Anxiety Threshold (<250 ms)')\nplt.xlabel('Fixation Duration (ms)')\nplt.ylabel('Frequency')\nplt.legend()\nplt.title('Distribution of Fixation Durations with Anxiety Threshold')\nplt.show()\nplt.close()" + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "baseline_data = pd.read_csv(f'{DATA}/sed.csv')\n", + "session_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\n", + "session_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\n", + "session_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n", + "\n", + "# calculate fixation\n", + "def calculate_fixation_durations(df, velocity_threshold=0.1):\n", + " df = df.copy()\n", + " # gaze velocity\n", + " df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n", + " df['gazeDir.y'].diff()**2 +\n", + " df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n", + "\n", + " # identify fixations\n", + " df['is_fixation'] = df['gaze_velocity'] < velocity_threshold\n", + "\n", + " # group fixations\n", + " df['fixation_id'] = (df['is_fixation'] != df['is_fixation'].shift()).cumsum()\n", + "\n", + " # fixation durations\n", + " g = df[df['is_fixation']].groupby('fixation_id')['reltime']\n", + " fixation_durations = g.max() - g.min()\n", + "\n", + " # filter zero durations\n", + " fixation_durations = fixation_durations[fixation_durations > 0]\n", + "\n", + " return fixation_durations\n", + "\n", + "# calculate fixation durations\n", + "baseline_fixation_durations = calculate_fixation_durations(baseline_data)\n", + "session_01_fixation_durations = calculate_fixation_durations(session_01_data)\n", + "session_02_fixation_durations = calculate_fixation_durations(session_02_data)\n", + "session_03_fixation_durations = calculate_fixation_durations(session_03_data)\n", + "\n", + "# convert to ms\n", + "baseline_fixation_durations_ms = baseline_fixation_durations * 1000\n", + "session_01_fixation_durations_ms = session_01_fixation_durations * 1000\n", + "session_02_fixation_durations_ms = session_02_fixation_durations * 1000\n", + "session_03_fixation_durations_ms = session_03_fixation_durations * 1000\n", + "\n", + "# average fixation\n", + "baseline_avg_fixation_duration_ms = baseline_fixation_durations_ms.mean()\n", + "session_01_avg_fixation_duration_ms = session_01_fixation_durations_ms.mean()\n", + "session_02_avg_fixation_duration_ms = session_02_fixation_durations_ms.mean()\n", + "session_03_avg_fixation_duration_ms = session_03_fixation_durations_ms.mean()\n", + "\n", + "# distribution plot\n", + "plt.figure(figsize=(12, 6))\n", + "plt.hist(baseline_fixation_durations_ms, bins=30, alpha=0.5, label='Baseline')\n", + "plt.hist(session_01_fixation_durations_ms, bins=30, alpha=0.5, label='Session 01')\n", + "plt.hist(session_02_fixation_durations_ms, bins=30, alpha=0.5, label='Session 02')\n", + "plt.hist(session_03_fixation_durations_ms, bins=30, alpha=0.5, label='Session 03')\n", + "plt.axvline(250, color='r', linestyle='dashed', linewidth=1, label='Anxiety Threshold (<250 ms)')\n", + "plt.xlabel('Fixation Duration (ms)')\n", + "plt.ylabel('Frequency')\n", + "plt.legend()\n", + "plt.title('Distribution of Fixation Durations')\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# bar plot average\n", + "average_durations = [baseline_avg_fixation_duration_ms, session_01_avg_fixation_duration_ms, session_02_avg_fixation_duration_ms, session_03_avg_fixation_duration_ms]\n", + "labels = ['Baseline', 'Session 01', 'Session 02', 'Session 03']\n", + "\n", + "plt.figure(figsize=(8, 6))\n", + "plt.bar(labels, average_durations, color=['blue', 'orange', 'green', 'red'])\n", + "plt.axhline(250, color='r', linestyle='dashed', linewidth=1, label='Anxiety Threshold (<250 ms)')\n", + "plt.ylabel('Average Fixation Duration (ms)')\n", + "plt.title('Average Fixation Duration by Dataset')\n", + "plt.legend()\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# anxiety threshold plot\n", + "plt.figure(figsize=(12, 6))\n", + "plt.hist(baseline_fixation_durations_ms, bins=30, alpha=0.5, label='Baseline')\n", + "plt.hist(session_01_fixation_durations_ms, bins=30, alpha=0.5, label='Session 01')\n", + "plt.hist(session_02_fixation_durations_ms, bins=30, alpha=0.5, label='Session 02')\n", + "plt.hist(session_03_fixation_durations_ms, bins=30, alpha=0.5, label='Session 03')\n", + "plt.axvline(250, color='r', linestyle='dashed', linewidth=1, label='Anxiety Threshold (<250 ms)')\n", + "plt.xlabel('Fixation Duration (ms)')\n", + "plt.ylabel('Frequency')\n", + "plt.legend()\n", + "plt.title('Distribution of Fixation Durations with Anxiety Threshold')\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", @@ -62,7 +516,81 @@ "id": "316085d1-78a2-414e-8c1f-7561f6c1389a", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nDATA = '../data/case-study/processed'\n\nbaseline_data = pd.read_csv(f'{DATA}/sed.csv')\nsession_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\nsession_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\nsession_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n\n# clean pupil\ndef clean_pupil_data(df):\n # filter invalid rows\n df = df[df['pupil'] > 0]\n return df\n\n# clean pupil data\nbaseline_data_clean = clean_pupil_data(baseline_data)\nsession_01_data_clean = clean_pupil_data(session_01_data)\nsession_02_data_clean = clean_pupil_data(session_02_data)\nsession_03_data_clean = clean_pupil_data(session_03_data)\n\n# Calculate average pupil\nbaseline_avg_pupil_size = baseline_data_clean['pupil'].mean()\nsession_01_avg_pupil_size = session_01_data_clean['pupil'].mean()\nsession_02_avg_pupil_size = session_02_data_clean['pupil'].mean()\nsession_03_avg_pupil_size = session_03_data_clean['pupil'].mean()\n\n# dilation threshold\npupil_dilation_threshold = 3.5\n\n# check pupil anxiety\nincreased_pupil_baseline = baseline_avg_pupil_size > pupil_dilation_threshold\nincreased_pupil_01 = session_01_avg_pupil_size > pupil_dilation_threshold\nincreased_pupil_02 = session_02_avg_pupil_size > pupil_dilation_threshold\nincreased_pupil_03 = session_03_avg_pupil_size > pupil_dilation_threshold\n\n# display results\nprint(f'Baseline Average Pupil Size: {baseline_avg_pupil_size:.2f} mm - {\"Increased\" if increased_pupil_baseline else \"Normal\"}')\nprint(f'Session 1 Average Pupil Size: {session_01_avg_pupil_size:.2f} mm - {\"Increased\" if increased_pupil_01 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 1: {session_01_avg_pupil_size - baseline_avg_pupil_size:.2f} mm')\nprint(f'Session 2 Average Pupil Size: {session_02_avg_pupil_size:.2f} mm - {\"Increased\" if increased_pupil_02 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 2: {session_02_avg_pupil_size - baseline_avg_pupil_size:.2f} mm')\nprint(f'Session 3 Average Pupil Size: {session_03_avg_pupil_size:.2f} mm - {\"Increased\" if increased_pupil_03 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 3: {session_03_avg_pupil_size - baseline_avg_pupil_size:.2f} mm')\n\n# distribution plot\nplt.figure(figsize=(12, 6))\nplt.hist(baseline_data_clean['pupil'], bins=30, alpha=0.5, label='Baseline')\nplt.hist(session_01_data_clean['pupil'], bins=30, alpha=0.5, label='Session 01')\nplt.hist(session_02_data_clean['pupil'], bins=30, alpha=0.5, label='Session 02')\nplt.hist(session_03_data_clean['pupil'], bins=30, alpha=0.5, label='Session 03')\nplt.axvline(pupil_dilation_threshold, color='r', linestyle='dashed', linewidth=1, label='Pupil Dilation Threshold (3.5 mm)')\nplt.xlabel('Pupil Size (mm)')\nplt.ylabel('Frequency')\nplt.legend()\nplt.title('Distribution of Pupil Sizes')\nplt.show()\nplt.close()\n\n# Bar plot average\naverage_pupil_sizes = [baseline_avg_pupil_size, session_01_avg_pupil_size, session_02_avg_pupil_size, session_03_avg_pupil_size]\nlabels = ['Baseline', 'Session 01', 'Session 02', 'Session 03']\n\nplt.figure(figsize=(8, 6))\nplt.bar(labels, average_pupil_sizes, color=['blue', 'orange', 'green', 'red'])\nplt.axhline(pupil_dilation_threshold, color='r', linestyle='dashed', linewidth=1, label='Pupil Dilation Threshold (3.5 mm)')\nplt.ylabel('Average Pupil Size (mm)')\nplt.title('Average Pupil Size by Dataset')\nplt.legend()\nplt.show()\nplt.close()" + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "baseline_data = pd.read_csv(f'{DATA}/sed.csv')\n", + "session_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\n", + "session_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\n", + "session_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n", + "\n", + "# clean pupil\n", + "def clean_pupil_data(df):\n", + " # filter invalid rows\n", + " df = df[df['pupil'] > 0]\n", + " return df\n", + "\n", + "# clean pupil data\n", + "baseline_data_clean = clean_pupil_data(baseline_data)\n", + "session_01_data_clean = clean_pupil_data(session_01_data)\n", + "session_02_data_clean = clean_pupil_data(session_02_data)\n", + "session_03_data_clean = clean_pupil_data(session_03_data)\n", + "\n", + "# Calculate average pupil\n", + "baseline_avg_pupil_size = baseline_data_clean['pupil'].mean()\n", + "session_01_avg_pupil_size = session_01_data_clean['pupil'].mean()\n", + "session_02_avg_pupil_size = session_02_data_clean['pupil'].mean()\n", + "session_03_avg_pupil_size = session_03_data_clean['pupil'].mean()\n", + "\n", + "# dilation threshold\n", + "pupil_dilation_threshold = 3.5\n", + "\n", + "# check pupil anxiety\n", + "increased_pupil_baseline = baseline_avg_pupil_size > pupil_dilation_threshold\n", + "increased_pupil_01 = session_01_avg_pupil_size > pupil_dilation_threshold\n", + "increased_pupil_02 = session_02_avg_pupil_size > pupil_dilation_threshold\n", + "increased_pupil_03 = session_03_avg_pupil_size > pupil_dilation_threshold\n", + "\n", + "# display results\n", + "print(f'Baseline Average Pupil Size: {baseline_avg_pupil_size:.2f} mm - {\"Increased\" if increased_pupil_baseline else \"Normal\"}')\n", + "print(f'Session 1 Average Pupil Size: {session_01_avg_pupil_size:.2f} mm - {\"Increased\" if increased_pupil_01 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 1: {session_01_avg_pupil_size - baseline_avg_pupil_size:.2f} mm')\n", + "print(f'Session 2 Average Pupil Size: {session_02_avg_pupil_size:.2f} mm - {\"Increased\" if increased_pupil_02 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 2: {session_02_avg_pupil_size - baseline_avg_pupil_size:.2f} mm')\n", + "print(f'Session 3 Average Pupil Size: {session_03_avg_pupil_size:.2f} mm - {\"Increased\" if increased_pupil_03 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 3: {session_03_avg_pupil_size - baseline_avg_pupil_size:.2f} mm')\n", + "\n", + "# distribution plot\n", + "plt.figure(figsize=(12, 6))\n", + "plt.hist(baseline_data_clean['pupil'], bins=30, alpha=0.5, label='Baseline')\n", + "plt.hist(session_01_data_clean['pupil'], bins=30, alpha=0.5, label='Session 01')\n", + "plt.hist(session_02_data_clean['pupil'], bins=30, alpha=0.5, label='Session 02')\n", + "plt.hist(session_03_data_clean['pupil'], bins=30, alpha=0.5, label='Session 03')\n", + "plt.axvline(pupil_dilation_threshold, color='r', linestyle='dashed', linewidth=1, label='Pupil Dilation Threshold (3.5 mm)')\n", + "plt.xlabel('Pupil Size (mm)')\n", + "plt.ylabel('Frequency')\n", + "plt.legend()\n", + "plt.title('Distribution of Pupil Sizes')\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# Bar plot average\n", + "average_pupil_sizes = [baseline_avg_pupil_size, session_01_avg_pupil_size, session_02_avg_pupil_size, session_03_avg_pupil_size]\n", + "labels = ['Baseline', 'Session 01', 'Session 02', 'Session 03']\n", + "\n", + "plt.figure(figsize=(8, 6))\n", + "plt.bar(labels, average_pupil_sizes, color=['blue', 'orange', 'green', 'red'])\n", + "plt.axhline(pupil_dilation_threshold, color='r', linestyle='dashed', linewidth=1, label='Pupil Dilation Threshold (3.5 mm)')\n", + "plt.ylabel('Average Pupil Size (mm)')\n", + "plt.title('Average Pupil Size by Dataset')\n", + "plt.legend()\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", @@ -70,30 +598,252 @@ "id": "652e4cf1-d0fd-4224-9a0e-7a7a06b0564c", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nDATA = '../data/case-study/processed'\n\nbaseline_data = pd.read_csv(f'{DATA}/sed.csv')\nsession_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\nsession_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\nsession_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n\n# calculate saccade\ndef calculate_saccade_frequency(df, velocity_threshold=0.1):\n df = df.copy()\n # gaze velocity\n df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n df['gazeDir.y'].diff()**2 +\n df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n\n # identify saccades\n df['is_saccade'] = df['gaze_velocity'] > velocity_threshold\n\n # count saccade events\n total_time = df['reltime'].iloc[-1] - df['reltime'].iloc[0]\n saccade_onsets = df['is_saccade'] & ~df['is_saccade'].shift(fill_value=False)\n saccade_count = saccade_onsets.sum()\n saccade_frequency = saccade_count / total_time if total_time > 0 else 0.0\n\n return saccade_frequency\n\n# calculate saccade frequency\nbaseline_saccade_frequency = calculate_saccade_frequency(baseline_data)\nsession_01_saccade_frequency = calculate_saccade_frequency(session_01_data)\nsession_02_saccade_frequency = calculate_saccade_frequency(session_02_data)\nsession_03_saccade_frequency = calculate_saccade_frequency(session_03_data)\n\n# frequency threshold\nsaccade_frequency_threshold = 5\n\n# check saccade anxiety\nincreased_saccade_frequency_baseline = baseline_saccade_frequency > saccade_frequency_threshold\nincreased_saccade_frequency_01 = session_01_saccade_frequency > saccade_frequency_threshold\nincreased_saccade_frequency_02 = session_02_saccade_frequency > saccade_frequency_threshold\nincreased_saccade_frequency_03 = session_03_saccade_frequency > saccade_frequency_threshold\n\n# display results\nprint(f'Baseline Saccade Frequency: {baseline_saccade_frequency:.2f} saccades/second - {\"Increased\" if increased_saccade_frequency_baseline else \"Normal\"}')\nprint(f'Session 1 Saccade Frequency: {session_01_saccade_frequency:.2f} saccades/second - {\"Increased\" if increased_saccade_frequency_01 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 1: {session_01_saccade_frequency - baseline_saccade_frequency:.2f} saccades/second')\nprint(f'Session 2 Saccade Frequency: {session_02_saccade_frequency:.2f} saccades/second - {\"Increased\" if increased_saccade_frequency_02 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 2: {session_02_saccade_frequency - baseline_saccade_frequency:.2f} saccades/second')\nprint(f'Session 3 Saccade Frequency: {session_03_saccade_frequency:.2f} saccades/second - {\"Increased\" if increased_saccade_frequency_03 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 3: {session_03_saccade_frequency - baseline_saccade_frequency:.2f} saccades/second')\n\n# plot saccade frequency\nsaccade_frequencies = [baseline_saccade_frequency, session_01_saccade_frequency, session_02_saccade_frequency, session_03_saccade_frequency]\nlabels = ['Baseline', 'Session 01', 'Session 02', 'Session 03']\n\nplt.figure(figsize=(8, 6))\nplt.bar(labels, saccade_frequencies, color=['blue', 'orange', 'green', 'red'])\nplt.axhline(saccade_frequency_threshold, color='r', linestyle='dashed', linewidth=1, label='Saccade Frequency Threshold (>5 saccades/second)')\nplt.ylabel('Saccade Frequency (saccades/second)')\nplt.title('Saccade Frequency by Dataset')\nplt.legend()\nplt.show()\nplt.close()" + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "baseline_data = pd.read_csv(f'{DATA}/sed.csv')\n", + "session_01_data = pd.read_csv(f'{DATA}/sed_01.csv')\n", + "session_02_data = pd.read_csv(f'{DATA}/sed_02.csv')\n", + "session_03_data = pd.read_csv(f'{DATA}/sed_03.csv')\n", + "\n", + "# calculate saccade\n", + "def calculate_saccade_frequency(df, velocity_threshold=0.1):\n", + " df = df.copy()\n", + " # gaze velocity\n", + " df['gaze_velocity'] = np.sqrt(df['gazeDir.x'].diff()**2 +\n", + " df['gazeDir.y'].diff()**2 +\n", + " df['gazeDir.z'].diff()**2) / df['reltime'].diff()\n", + "\n", + " # identify saccades\n", + " df['is_saccade'] = df['gaze_velocity'] > velocity_threshold\n", + "\n", + " # count saccade events\n", + " total_time = df['reltime'].iloc[-1] - df['reltime'].iloc[0]\n", + " saccade_onsets = df['is_saccade'] & ~df['is_saccade'].shift(fill_value=False)\n", + " saccade_count = saccade_onsets.sum()\n", + " saccade_frequency = saccade_count / total_time if total_time > 0 else 0.0\n", + "\n", + " return saccade_frequency\n", + "\n", + "# calculate saccade frequency\n", + "baseline_saccade_frequency = calculate_saccade_frequency(baseline_data)\n", + "session_01_saccade_frequency = calculate_saccade_frequency(session_01_data)\n", + "session_02_saccade_frequency = calculate_saccade_frequency(session_02_data)\n", + "session_03_saccade_frequency = calculate_saccade_frequency(session_03_data)\n", + "\n", + "# frequency threshold\n", + "saccade_frequency_threshold = 5\n", + "\n", + "# check saccade anxiety\n", + "increased_saccade_frequency_baseline = baseline_saccade_frequency > saccade_frequency_threshold\n", + "increased_saccade_frequency_01 = session_01_saccade_frequency > saccade_frequency_threshold\n", + "increased_saccade_frequency_02 = session_02_saccade_frequency > saccade_frequency_threshold\n", + "increased_saccade_frequency_03 = session_03_saccade_frequency > saccade_frequency_threshold\n", + "\n", + "# display results\n", + "print(f'Baseline Saccade Frequency: {baseline_saccade_frequency:.2f} saccades/second - {\"Increased\" if increased_saccade_frequency_baseline else \"Normal\"}')\n", + "print(f'Session 1 Saccade Frequency: {session_01_saccade_frequency:.2f} saccades/second - {\"Increased\" if increased_saccade_frequency_01 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 1: {session_01_saccade_frequency - baseline_saccade_frequency:.2f} saccades/second')\n", + "print(f'Session 2 Saccade Frequency: {session_02_saccade_frequency:.2f} saccades/second - {\"Increased\" if increased_saccade_frequency_02 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 2: {session_02_saccade_frequency - baseline_saccade_frequency:.2f} saccades/second')\n", + "print(f'Session 3 Saccade Frequency: {session_03_saccade_frequency:.2f} saccades/second - {\"Increased\" if increased_saccade_frequency_03 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 3: {session_03_saccade_frequency - baseline_saccade_frequency:.2f} saccades/second')\n", + "\n", + "# plot saccade frequency\n", + "saccade_frequencies = [baseline_saccade_frequency, session_01_saccade_frequency, session_02_saccade_frequency, session_03_saccade_frequency]\n", + "labels = ['Baseline', 'Session 01', 'Session 02', 'Session 03']\n", + "\n", + "plt.figure(figsize=(8, 6))\n", + "plt.bar(labels, saccade_frequencies, color=['blue', 'orange', 'green', 'red'])\n", + "plt.axhline(saccade_frequency_threshold, color='r', linestyle='dashed', linewidth=1, label='Saccade Frequency Threshold (>5 saccades/second)')\n", + "plt.ylabel('Saccade Frequency (saccades/second)')\n", + "plt.title('Saccade Frequency by Dataset')\n", + "plt.legend()\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", + "execution_count": null, "id": "f0zomnkga4i", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy import stats\nimport matplotlib.pyplot as plt\n\nDATA = '../data/case-study/processed'\n\n# load fixation data\nsessions = {}\nfor s in [0, 1, 2, 3]:\n filename = f'{DATA}/sed_fix.csv' if s == 0 else f'{DATA}/sed_fix_{s:02d}.csv'\n df = pd.read_csv(filename)\n label = 'Baseline' if s == 0 else f'Session {s:02d}'\n durations = df[df['fixation'] == True]['duration'].dropna()\n sessions[label] = durations\n\n# descriptive stats\nprint(\"=== Fixation Duration Stats ===\\n\")\nfor name, dur in sessions.items():\n print(f\"{name}: n={len(dur)}, mean={dur.mean():.4f}s, median={dur.median():.4f}s, SD={dur.std():.4f}s\")\n\n# Kruskal-Wallis\nprint(\"\\n=== Kruskal-Wallis Test ===\")\nh, p = stats.kruskal(*sessions.values())\nprint(f\"H={h:.3f}, p={p:.4f}\")\n\n# histograms\nfig, axes = plt.subplots(2, 2, figsize=(12, 10))\nfor ax, (name, dur) in zip(axes.flat, sessions.items()):\n ax.hist(dur, bins=50, edgecolor='black', alpha=0.7)\n ax.axvline(dur.mean(), color='red', linestyle='--', label=f'mean={dur.mean():.4f}s')\n ax.axvline(dur.median(), color='blue', linestyle=':', label=f'median={dur.median():.4f}s')\n ax.set_title(name)\n ax.set_xlabel('Fixation Duration (s)')\n ax.set_ylabel('Count')\n ax.legend(fontsize=8)\n\nplt.suptitle('Fixation Duration Distributions')\nplt.tight_layout()\nplt.show()\nplt.close()", "metadata": {}, - "execution_count": null, - "outputs": [] + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy import stats\n", + "import matplotlib.pyplot as plt\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load fixation data\n", + "sessions = {}\n", + "for s in [0, 1, 2, 3]:\n", + " filename = f'{DATA}/sed_fix.csv' if s == 0 else f'{DATA}/sed_fix_{s:02d}.csv'\n", + " df = pd.read_csv(filename)\n", + " label = 'Baseline' if s == 0 else f'Session {s:02d}'\n", + " durations = df[df['fixation'] == True]['duration'].dropna()\n", + " sessions[label] = durations\n", + "\n", + "# descriptive stats\n", + "print(\"=== Fixation Duration Stats ===\\n\")\n", + "for name, dur in sessions.items():\n", + " print(f\"{name}: n={len(dur)}, mean={dur.mean():.4f}s, median={dur.median():.4f}s, SD={dur.std():.4f}s\")\n", + "\n", + "# Kruskal-Wallis\n", + "print(\"\\n=== Kruskal-Wallis Test ===\")\n", + "h, p = stats.kruskal(*sessions.values())\n", + "print(f\"H={h:.3f}, p={p:.4f}\")\n", + "\n", + "# histograms\n", + "fig, axes = plt.subplots(2, 2, figsize=(12, 10))\n", + "for ax, (name, dur) in zip(axes.flat, sessions.items()):\n", + " ax.hist(dur, bins=50, edgecolor='black', alpha=0.7)\n", + " ax.axvline(dur.mean(), color='red', linestyle='--', label=f'mean={dur.mean():.4f}s')\n", + " ax.axvline(dur.median(), color='blue', linestyle=':', label=f'median={dur.median():.4f}s')\n", + " ax.set_title(name)\n", + " ax.set_xlabel('Fixation Duration (s)')\n", + " ax.set_ylabel('Count')\n", + " ax.legend(fontsize=8)\n", + "\n", + "plt.suptitle('Fixation Duration Distributions')\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", + "execution_count": null, "id": "yif61xjogm", - "source": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nDATA = '../data/case-study/processed'\nPSY = '../data/case-study/psychometric'\n\n# load all modalities\nhr_sessions = {}\nibi_sessions = {}\nsed_sessions = {}\npsy_sessions = {}\n\nfor s in [1, 2, 3]:\n hr = pd.read_csv(f'{DATA}/hr_{s:02d}.csv')\n hr = hr[hr['confidence'] == 1.0]\n hr['datetime'] = pd.to_datetime(hr['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n hr_sessions[s] = hr\n \n ibi = pd.read_csv(f'{DATA}/ibi_{s:02d}.csv')\n ibi['datetime'] = pd.to_datetime(ibi['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n ibi_sessions[s] = ibi\n \n sed = pd.read_csv(f'{DATA}/sed_{s:02d}.csv')\n sed['datetime'] = pd.to_datetime(sed['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n sed_sessions[s] = sed\n \n psy = pd.read_csv(f'{PSY}/Psychometric_Test_Results_{s:02d}.csv')\n psy['Question Start Time'] = pd.to_datetime(psy['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n psy['Question Answer Time'] = pd.to_datetime(psy['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n psy_sessions[s] = psy\n\n# baseline stats\nhr_bl = pd.read_csv(f'{DATA}/hr.csv')\nhr_bl = hr_bl[hr_bl['confidence'] == 1.0]\nbl_hr_mean, bl_hr_std = hr_bl['heart_rate'].mean(), hr_bl['heart_rate'].std()\n\nibi_bl = pd.read_csv(f'{DATA}/ibi.csv')\nibi_clean = ibi_bl['ibi'][(ibi_bl['ibi'] > 300) & (ibi_bl['ibi'] < 2000)]\nbl_sdnn = ibi_clean.std()\nbl_rmssd = np.sqrt(np.mean(np.diff(ibi_clean.values)**2))\n\nsed_bl = pd.read_csv(f'{DATA}/sed.csv')\nbl_pupil_mean = sed_bl[sed_bl['pupil'] > 0]['pupil'].mean()\nbl_pupil_std = sed_bl[sed_bl['pupil'] > 0]['pupil'].std()\n\n# per-question biometrics\nrows = []\nfor s in [1, 2, 3]:\n psy = psy_sessions[s]\n for _, q in psy.iterrows():\n start, end = q['Question Start Time'], q['Question Answer Time']\n \n # HR during question\n hr_seg = hr_sessions[s][(hr_sessions[s]['datetime'] >= start) & (hr_sessions[s]['datetime'] <= end)]\n avg_hr = hr_seg['heart_rate'].mean() if len(hr_seg) > 0 else np.nan\n \n # IBI/HRV during question\n ibi_seg = ibi_sessions[s][(ibi_sessions[s]['datetime'] >= start) & (ibi_sessions[s]['datetime'] <= end)]\n ibi_vals = ibi_seg['ibi'][(ibi_seg['ibi'] > 300) & (ibi_seg['ibi'] < 2000)]\n sdnn = ibi_vals.std() if len(ibi_vals) > 2 else np.nan\n rmssd = np.sqrt(np.mean(np.diff(ibi_vals.values)**2)) if len(ibi_vals) > 2 else np.nan\n \n # pupil during question\n sed_seg = sed_sessions[s][(sed_sessions[s]['datetime'] >= start) & (sed_sessions[s]['datetime'] <= end)]\n pupil_seg = sed_seg[sed_seg['pupil'] > 0]['pupil']\n avg_pupil = pupil_seg.mean() if len(pupil_seg) > 0 else np.nan\n \n # extract question number\n test_str = str(q['Test'])\n q_num = ''.join(c for c in test_str.split('.')[0] if c.isdigit())\n label = f\"S{s} {q['Type']} Q{q_num}\" if q_num else f\"S{s} {q['Type']}\"\n \n rows.append({\n 'label': label, 'session': s, 'type': q['Type'],\n 'HR': avg_hr, 'SDNN': sdnn, 'RMSSD': rmssd, 'Pupil': avg_pupil\n })\n\ndf = pd.DataFrame(rows)\n\n# z-score relative to baseline\ndf['HR_z'] = (df['HR'] - bl_hr_mean) / bl_hr_std if bl_hr_std > 0 else 0\ndf['SDNN_z'] = -(df['SDNN'] - bl_sdnn) / bl_sdnn if bl_sdnn > 0 else 0\ndf['RMSSD_z'] = -(df['RMSSD'] - bl_rmssd) / bl_rmssd if bl_rmssd > 0 else 0\ndf['Pupil_z'] = (df['Pupil'] - bl_pupil_mean) / bl_pupil_std if bl_pupil_std > 0 else 0\n\n# composite stress index\nz_cols = ['HR_z', 'SDNN_z', 'RMSSD_z', 'Pupil_z']\ndf['Stress Index'] = df[z_cols].mean(axis=1)\n\n# heatmap matrix\nheatmap_data = df.set_index('label')[z_cols + ['Stress Index']].dropna()\nheatmap_data.columns = ['HR', 'SDNN\\n(inverted)', 'RMSSD\\n(inverted)', 'Pupil', 'Composite\\nStress']\n\nplt.figure(figsize=(10, max(8, len(heatmap_data) * 0.25)))\nsns.heatmap(heatmap_data, cmap='RdYlBu_r', center=0, annot=True, fmt='.1f',\n linewidths=0.5, cbar_kws={'label': 'Z-score (higher = more stress)'})\nplt.title('Multimodal Stress Response per Question\\n(z-scored vs baseline, SDNN/RMSSD inverted)')\nplt.tight_layout()\nplt.show()\nplt.close()\n\n# top stressed questions\ntop = df.nlargest(10, 'Stress Index')[['label', 'type', 'session', 'Stress Index']]\nprint(\"=== Top 10 Highest Stress Questions ===\\n\")\nprint(top.to_string(index=False))\n\n# average by question type\nprint(\"\\n=== Average Stress Index by Question Type ===\\n\")\ntype_stress = df.groupby('type')['Stress Index'].agg(['mean', 'std', 'count'])\nprint(type_stress.sort_values('mean', ascending=False).round(3).to_string())", "metadata": {}, - "execution_count": null, - "outputs": [] + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "PSY = '../data/case-study/psychometric'\n", + "\n", + "# load all modalities\n", + "hr_sessions = {}\n", + "ibi_sessions = {}\n", + "sed_sessions = {}\n", + "psy_sessions = {}\n", + "\n", + "for s in [1, 2, 3]:\n", + " hr = pd.read_csv(f'{DATA}/hr_{s:02d}.csv')\n", + " hr = hr[hr['confidence'] == 1.0]\n", + " hr['datetime'] = pd.to_datetime(hr['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " hr_sessions[s] = hr\n", + " \n", + " ibi = pd.read_csv(f'{DATA}/ibi_{s:02d}.csv')\n", + " ibi['datetime'] = pd.to_datetime(ibi['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " ibi_sessions[s] = ibi\n", + " \n", + " sed = pd.read_csv(f'{DATA}/sed_{s:02d}.csv')\n", + " sed['datetime'] = pd.to_datetime(sed['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " sed_sessions[s] = sed\n", + " \n", + " psy = pd.read_csv(f'{PSY}/Psychometric_Test_Results_{s:02d}.csv')\n", + " psy['Question Start Time'] = pd.to_datetime(psy['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " psy['Question Answer Time'] = pd.to_datetime(psy['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " psy_sessions[s] = psy\n", + "\n", + "# baseline stats\n", + "hr_bl = pd.read_csv(f'{DATA}/hr.csv')\n", + "hr_bl = hr_bl[hr_bl['confidence'] == 1.0]\n", + "bl_hr_mean, bl_hr_std = hr_bl['heart_rate'].mean(), hr_bl['heart_rate'].std()\n", + "\n", + "ibi_bl = pd.read_csv(f'{DATA}/ibi.csv')\n", + "ibi_clean = ibi_bl['ibi'][(ibi_bl['ibi'] > 300) & (ibi_bl['ibi'] < 2000)]\n", + "bl_sdnn = ibi_clean.std()\n", + "bl_rmssd = np.sqrt(np.mean(np.diff(ibi_clean.values)**2))\n", + "\n", + "sed_bl = pd.read_csv(f'{DATA}/sed.csv')\n", + "bl_pupil_mean = sed_bl[sed_bl['pupil'] > 0]['pupil'].mean()\n", + "bl_pupil_std = sed_bl[sed_bl['pupil'] > 0]['pupil'].std()\n", + "\n", + "# per-question biometrics\n", + "rows = []\n", + "for s in [1, 2, 3]:\n", + " psy = psy_sessions[s]\n", + " for _, q in psy.iterrows():\n", + " start, end = q['Question Start Time'], q['Question Answer Time']\n", + " \n", + " # HR during question\n", + " hr_seg = hr_sessions[s][(hr_sessions[s]['datetime'] >= start) & (hr_sessions[s]['datetime'] <= end)]\n", + " avg_hr = hr_seg['heart_rate'].mean() if len(hr_seg) > 0 else np.nan\n", + " \n", + " # IBI/HRV during question\n", + " ibi_seg = ibi_sessions[s][(ibi_sessions[s]['datetime'] >= start) & (ibi_sessions[s]['datetime'] <= end)]\n", + " ibi_vals = ibi_seg['ibi'][(ibi_seg['ibi'] > 300) & (ibi_seg['ibi'] < 2000)]\n", + " sdnn = ibi_vals.std() if len(ibi_vals) > 2 else np.nan\n", + " rmssd = np.sqrt(np.mean(np.diff(ibi_vals.values)**2)) if len(ibi_vals) > 2 else np.nan\n", + " \n", + " # pupil during question\n", + " sed_seg = sed_sessions[s][(sed_sessions[s]['datetime'] >= start) & (sed_sessions[s]['datetime'] <= end)]\n", + " pupil_seg = sed_seg[sed_seg['pupil'] > 0]['pupil']\n", + " avg_pupil = pupil_seg.mean() if len(pupil_seg) > 0 else np.nan\n", + " \n", + " # extract question number\n", + " test_str = str(q['Test'])\n", + " q_num = ''.join(c for c in test_str.split('.')[0] if c.isdigit())\n", + " label = f\"S{s} {q['Type']} Q{q_num}\" if q_num else f\"S{s} {q['Type']}\"\n", + " \n", + " rows.append({\n", + " 'label': label, 'session': s, 'type': q['Type'],\n", + " 'HR': avg_hr, 'SDNN': sdnn, 'RMSSD': rmssd, 'Pupil': avg_pupil\n", + " })\n", + "\n", + "df = pd.DataFrame(rows)\n", + "\n", + "# z-score relative to baseline\n", + "df['HR_z'] = (df['HR'] - bl_hr_mean) / bl_hr_std if bl_hr_std > 0 else 0\n", + "df['SDNN_z'] = -(df['SDNN'] - bl_sdnn) / bl_sdnn if bl_sdnn > 0 else 0\n", + "df['RMSSD_z'] = -(df['RMSSD'] - bl_rmssd) / bl_rmssd if bl_rmssd > 0 else 0\n", + "df['Pupil_z'] = (df['Pupil'] - bl_pupil_mean) / bl_pupil_std if bl_pupil_std > 0 else 0\n", + "\n", + "# composite stress index\n", + "z_cols = ['HR_z', 'SDNN_z', 'RMSSD_z', 'Pupil_z']\n", + "df['Stress Index'] = df[z_cols].mean(axis=1)\n", + "\n", + "# heatmap matrix\n", + "heatmap_data = df.set_index('label')[z_cols + ['Stress Index']].dropna()\n", + "heatmap_data.columns = ['HR', 'SDNN\\n(inverted)', 'RMSSD\\n(inverted)', 'Pupil', 'Composite\\nStress']\n", + "\n", + "plt.figure(figsize=(10, max(8, len(heatmap_data) * 0.25)))\n", + "sns.heatmap(heatmap_data, cmap='RdYlBu_r', center=0, annot=True, fmt='.1f',\n", + " linewidths=0.5, cbar_kws={'label': 'Z-score (higher = more stress)'})\n", + "plt.title('Multimodal Stress Response per Question\\n(z-scored vs baseline, SDNN/RMSSD inverted)')\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# top stressed questions\n", + "top = df.nlargest(10, 'Stress Index')[['label', 'type', 'session', 'Stress Index']]\n", + "print(\"=== Top 10 Highest Stress Questions ===\\n\")\n", + "print(top.to_string(index=False))\n", + "\n", + "# average by question type\n", + "print(\"\\n=== Average Stress Index by Question Type ===\\n\")\n", + "type_stress = df.groupby('type')['Stress Index'].agg(['mean', 'std', 'count'])\n", + "print(type_stress.sort_values('mean', ascending=False).round(3).to_string())" + ] } ], "metadata": { "kernelspec": { - "display_name": "pdf_processing", + "display_name": "Python 3", "language": "python", - "name": "pdf_processing" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -110,4 +860,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/case-study/3_Model.ipynb b/case-study/3_Model.ipynb deleted file mode 100755 index e3d9ef7..0000000 --- a/case-study/3_Model.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "4a4bd179-fa92-49c0-ae9c-ab1122bf01c5", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.decomposition import PCA\nfrom sklearn.cluster import KMeans\nfrom sklearn.metrics import silhouette_score, davies_bouldin_score, calinski_harabasz_score\nimport matplotlib.pyplot as plt\nimport numpy as np\n\nDATA = '../data/case-study/processed'\n\n# load and merge\nsession_dfs = []\nfor s in [1, 2, 3]:\n hr = pd.read_csv(f'{DATA}/hr_{s:02d}.csv')\n ibi = pd.read_csv(f'{DATA}/ibi_{s:02d}.csv')\n sed = pd.read_csv(f'{DATA}/sed_{s:02d}.csv')\n\n hr_clean = hr[hr['confidence'] == 1.0]\n ibi_clean = ibi[ibi['ibi'] > 0]\n\n hr_agg = hr_clean.groupby('datetime')['heart_rate'].mean().reset_index()\n ibi_agg = ibi_clean.groupby('datetime')['ibi'].mean().reset_index()\n\n merged = pd.merge(hr_agg, ibi_agg, on='datetime')\n # eye-tracking ('sed') is ~60 Hz vs ~1 Hz for HR/IBI, so the streams rarely share an\n # exact timestamp; align on nearest time within tolerance (an exact inner join drops ~93% of rows)\n _fmt = '%Y/%m/%d %H:%M:%S.%f'\n merged['datetime'] = pd.to_datetime(merged['datetime'], format=_fmt)\n sed['datetime'] = pd.to_datetime(sed['datetime'], format=_fmt)\n merged = merged.sort_values('datetime')\n sed = sed.sort_values('datetime')\n merged = pd.merge_asof(merged, sed, on='datetime', direction='nearest', tolerance=pd.Timedelta('100ms'))\n session_dfs.append(merged)\n\nall_data_combined = pd.concat(session_dfs, ignore_index=True)\n\nprint(\"Columns available in DataFrame:\", all_data_combined.columns)\n\n# define features\nfeatures = [\n 'heart_rate', 'ibi', 'headPos.x', 'headPos.y', 'headPos.z',\n 'gazeDir.x', 'gazeDir.y', 'gazeDir.z', 'pupil'\n]\n\nexisting_features = [f for f in features if f in all_data_combined.columns]\n\n# drop constant (zero-variance) columns - they carry no clustering signal (e.g. headPos.* are all-zero)\nconstant_features = [f for f in existing_features if all_data_combined[f].nunique(dropna=True) <= 1]\nif constant_features:\n print(f'Dropping constant columns: {constant_features}')\n existing_features = [f for f in existing_features if f not in constant_features]\n\nmissing_features = set(features) - set(existing_features)\nif missing_features:\n print(f\"Missing columns in the DataFrame: {missing_features}\")\n\nall_data_combined = all_data_combined.dropna(subset=existing_features)\n\n# standardize features\nscaler = StandardScaler()\nX_scaled = scaler.fit_transform(all_data_combined[existing_features])\n\n# pca for visualization\npca = PCA(n_components=2)\nX_pca = pca.fit_transform(X_scaled)\nprint(f\"PCA explained variance: {pca.explained_variance_ratio_.sum():.1%}\")\n\n# find optimal k\nsilhouette_scores = []\nK = range(2, 11)\nfitted_models = {}\nfor k in K:\n km = KMeans(n_clusters=k, n_init=10, random_state=42)\n km.fit(X_scaled)\n fitted_models[k] = km\n silhouette_scores.append(silhouette_score(X_scaled, km.labels_))\n\nplt.figure(figsize=(10, 6))\nplt.plot(K, silhouette_scores, marker='o')\nplt.xlabel('Number of clusters')\nplt.ylabel('Silhouette Score')\nplt.title('Silhouette Score vs. Number of Clusters')\nplt.show()\nplt.close()\n\n# apply optimal k\noptimal_k = list(K)[np.argmax(silhouette_scores)]\nprint(f\"Optimal k selected: {optimal_k} (silhouette score: {max(silhouette_scores):.4f})\")\n\nkmeans = fitted_models[optimal_k]\nclusters = kmeans.labels_\n\n# pca cluster plot\nplt.figure(figsize=(10, 6))\nplt.scatter(X_pca[:, 0], X_pca[:, 1], c=clusters, cmap='tab10', marker='o')\nplt.xlabel('PCA Component 1')\nplt.ylabel('PCA Component 2')\nplt.title(f'K-Means Clusters (k={optimal_k}) in PCA-Reduced Space')\nplt.colorbar(label='Cluster')\nplt.show()\nplt.close()\n\n# quality metrics\ncluster_centers = scaler.inverse_transform(kmeans.cluster_centers_)\ncluster_sizes = pd.Series(clusters).value_counts()\n\ncluster_df = pd.DataFrame(cluster_centers, columns=existing_features).round(3)\nprint(\"Cluster Centers:\")\nprint(cluster_df.to_string())\nprint(\"\\nCluster Sizes:\\n\", cluster_sizes)\n\ndbi = davies_bouldin_score(X_scaled, clusters)\nchi = calinski_harabasz_score(X_scaled, clusters)\n\nprint(f\"Davies-Bouldin Index: {dbi}\")\nprint(f\"Calinski-Harabasz Index: {chi}\")" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/3_Model01.ipynb b/case-study/3_Model01.ipynb deleted file mode 100755 index 38f683d..0000000 --- a/case-study/3_Model01.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "9a746a4a-209f-47fb-a1b7-fbf594f4b218", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.decomposition import PCA\nfrom sklearn.cluster import KMeans\nfrom sklearn.metrics import silhouette_score\nimport matplotlib.pyplot as plt\n\nDATA = '../data/case-study/processed'\n\n# load and merge\nsession_dfs = []\nfor s in [1, 2, 3]:\n hr = pd.read_csv(f'{DATA}/hr_{s:02d}.csv')\n ibi = pd.read_csv(f'{DATA}/ibi_{s:02d}.csv')\n sed = pd.read_csv(f'{DATA}/sed_{s:02d}.csv')\n\n hr_clean = hr[hr['confidence'] == 1.0]\n ibi_clean = ibi[ibi['ibi'] > 0]\n\n hr_agg = hr_clean.groupby('datetime')['heart_rate'].mean().reset_index()\n ibi_agg = ibi_clean.groupby('datetime')['ibi'].mean().reset_index()\n\n merged = pd.merge(hr_agg, ibi_agg, on='datetime')\n # eye-tracking ('sed') is ~60 Hz vs ~1 Hz for HR/IBI, so the streams rarely share an\n # exact timestamp; align on nearest time within tolerance (an exact inner join drops ~93% of rows)\n _fmt = '%Y/%m/%d %H:%M:%S.%f'\n merged['datetime'] = pd.to_datetime(merged['datetime'], format=_fmt)\n sed['datetime'] = pd.to_datetime(sed['datetime'], format=_fmt)\n merged = merged.sort_values('datetime')\n sed = sed.sort_values('datetime')\n merged = pd.merge_asof(merged, sed, on='datetime', direction='nearest', tolerance=pd.Timedelta('100ms'))\n session_dfs.append(merged)\n\nall_data_combined = pd.concat(session_dfs, ignore_index=True)\n\nprint(\"Columns available in DataFrame:\", all_data_combined.columns)\n\n# define features\nfeatures = [\n 'heart_rate', 'ibi', 'headPos.x', 'headPos.y', 'headPos.z',\n 'gazeDir.x', 'gazeDir.y', 'gazeDir.z', 'pupil'\n]\n\nexisting_features = [feature for feature in features if feature in all_data_combined.columns]\n\n# drop constant (zero-variance) columns - they carry no clustering signal (e.g. headPos.* are all-zero)\nconstant_features = [f for f in existing_features if all_data_combined[f].nunique(dropna=True) <= 1]\nif constant_features:\n print(f'Dropping constant columns: {constant_features}')\n existing_features = [f for f in existing_features if f not in constant_features]\n\nmissing_features = set(features) - set(existing_features)\nif missing_features:\n print(f\"Missing columns in the DataFrame: {missing_features}\")\n\nall_data_combined = all_data_combined.dropna(subset=existing_features)\n\n# standardize features\nscaler = StandardScaler()\nX_scaled = scaler.fit_transform(all_data_combined[existing_features])\n\n# pca for visualization\npca = PCA(n_components=2)\nX_pca = pca.fit_transform(X_scaled)\nprint(f\"PCA explained variance: {pca.explained_variance_ratio_.sum():.1%}\")\n\n# find optimal k\nsilhouette_scores = []\nK = range(2, 11)\nfitted_models = {}\nfor k in K:\n km = KMeans(n_clusters=k, n_init=10, random_state=42)\n km.fit(X_scaled)\n fitted_models[k] = km\n silhouette_scores.append(silhouette_score(X_scaled, km.labels_))\n\nplt.figure(figsize=(10, 6))\nplt.plot(K, silhouette_scores, marker='o')\nplt.xlabel('Number of clusters')\nplt.ylabel('Silhouette Score')\nplt.title('Silhouette Score vs. Number of Clusters')\nplt.show()\nplt.close()\n\n# auto-select optimal k\noptimal_k = list(K)[np.argmax(silhouette_scores)]\nprint(f\"Optimal k selected: {optimal_k} (silhouette score: {max(silhouette_scores):.4f})\")\n\nkmeans = fitted_models[optimal_k]\nclusters = kmeans.labels_\n\n# pca cluster plot\nplt.figure(figsize=(10, 6))\nplt.scatter(X_pca[:, 0], X_pca[:, 1], c=clusters, cmap='tab10', marker='o')\nplt.xlabel('PCA Component 1')\nplt.ylabel('PCA Component 2')\nplt.title(f'K-Means Clusters (k={optimal_k}) in PCA-Reduced Space')\nplt.colorbar(label='Cluster')\nplt.show()\nplt.close()\n\n# cluster centers\ncluster_centers = scaler.inverse_transform(kmeans.cluster_centers_)\ncluster_sizes = pd.Series(clusters).value_counts()\n\ncluster_df = pd.DataFrame(cluster_centers, columns=existing_features).round(3)\nprint(\"Cluster Centers:\")\nprint(cluster_df.to_string())\nprint(\"\\nCluster Sizes:\\n\", cluster_sizes)" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/3_clustering.ipynb b/case-study/3_clustering.ipynb new file mode 100755 index 0000000..eda9547 --- /dev/null +++ b/case-study/3_clustering.ipynb @@ -0,0 +1,162 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "897c5eb7", + "metadata": { + "mms_tag": "model_caveat" + }, + "source": [ + "## ⚠️ What this clustering does and does not show\n", + "\n", + "The rows clustered below are **per-timestamp samples from a single participant's three sessions**, further duplicated by the `merge_asof` alignment of ~60 Hz eye data against ~1 Hz cardiac data. They are **not independent observations**, so the silhouette, Davies-Bouldin and Calinski-Harabasz scores are inflated by autocorrelation and sampling rate — they describe *momentary physiological sub-states within this one recording*, not clusters of people or a validated typology. There is **no held-out validation**: `k` is chosen by maximising silhouette on the same data it is scored on. Treat the clusters as exploratory structure in one subject, and read any 'anxiety/stress' labels as hypotheses, not findings." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a4bd179-fa92-49c0-ae9c-ab1122bf01c5", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.decomposition import PCA\n", + "from sklearn.cluster import KMeans\n", + "from sklearn.metrics import silhouette_score, davies_bouldin_score, calinski_harabasz_score\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load and merge\n", + "session_dfs = []\n", + "for s in [1, 2, 3]:\n", + " hr = pd.read_csv(f'{DATA}/hr_{s:02d}.csv')\n", + " ibi = pd.read_csv(f'{DATA}/ibi_{s:02d}.csv')\n", + " sed = pd.read_csv(f'{DATA}/sed_{s:02d}.csv')\n", + "\n", + " hr_clean = hr[hr['confidence'] == 1.0]\n", + " ibi_clean = ibi[ibi['ibi'] > 0]\n", + "\n", + " hr_agg = hr_clean.groupby('datetime')['heart_rate'].mean().reset_index()\n", + " ibi_agg = ibi_clean.groupby('datetime')['ibi'].mean().reset_index()\n", + "\n", + " merged = pd.merge(hr_agg, ibi_agg, on='datetime')\n", + " # eye-tracking ('sed') is ~60 Hz vs ~1 Hz for HR/IBI, so the streams rarely share an\n", + " # exact timestamp; align on nearest time within tolerance (an exact inner join drops ~93% of rows)\n", + " _fmt = '%Y/%m/%d %H:%M:%S.%f'\n", + " merged['datetime'] = pd.to_datetime(merged['datetime'], format=_fmt)\n", + " sed['datetime'] = pd.to_datetime(sed['datetime'], format=_fmt)\n", + " merged = merged.sort_values('datetime')\n", + " sed = sed.sort_values('datetime')\n", + " merged = pd.merge_asof(merged, sed, on='datetime', direction='nearest', tolerance=pd.Timedelta('100ms'))\n", + " session_dfs.append(merged)\n", + "\n", + "all_data_combined = pd.concat(session_dfs, ignore_index=True)\n", + "\n", + "print(\"Columns available in DataFrame:\", all_data_combined.columns)\n", + "\n", + "# define features\n", + "features = [\n", + " 'heart_rate', 'ibi', 'headPos.x', 'headPos.y', 'headPos.z',\n", + " 'gazeDir.x', 'gazeDir.y', 'gazeDir.z', 'pupil'\n", + "]\n", + "\n", + "existing_features = [f for f in features if f in all_data_combined.columns]\n", + "\n", + "# drop constant (zero-variance) columns - they carry no clustering signal (e.g. headPos.* are all-zero)\n", + "constant_features = [f for f in existing_features if all_data_combined[f].nunique(dropna=True) <= 1]\n", + "if constant_features:\n", + " print(f'Dropping constant columns: {constant_features}')\n", + " existing_features = [f for f in existing_features if f not in constant_features]\n", + "\n", + "missing_features = set(features) - set(existing_features)\n", + "if missing_features:\n", + " print(f\"Missing columns in the DataFrame: {missing_features}\")\n", + "\n", + "all_data_combined = all_data_combined.dropna(subset=existing_features)\n", + "\n", + "# standardize features\n", + "scaler = StandardScaler()\n", + "X_scaled = scaler.fit_transform(all_data_combined[existing_features])\n", + "\n", + "# pca for visualization\n", + "pca = PCA(n_components=2)\n", + "X_pca = pca.fit_transform(X_scaled)\n", + "print(f\"PCA explained variance: {pca.explained_variance_ratio_.sum():.1%}\")\n", + "\n", + "# find optimal k\n", + "silhouette_scores = []\n", + "K = range(2, 11)\n", + "fitted_models = {}\n", + "for k in K:\n", + " km = KMeans(n_clusters=k, n_init=10, random_state=42)\n", + " km.fit(X_scaled)\n", + " fitted_models[k] = km\n", + " silhouette_scores.append(silhouette_score(X_scaled, km.labels_))\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "plt.plot(K, silhouette_scores, marker='o')\n", + "plt.xlabel('Number of clusters')\n", + "plt.ylabel('Silhouette Score')\n", + "plt.title('Silhouette Score vs. Number of Clusters')\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# apply optimal k\n", + "optimal_k = list(K)[np.argmax(silhouette_scores)]\n", + "print(f\"Optimal k selected: {optimal_k} (silhouette score: {max(silhouette_scores):.4f})\")\n", + "\n", + "kmeans = fitted_models[optimal_k]\n", + "clusters = kmeans.labels_\n", + "\n", + "# pca cluster plot\n", + "plt.figure(figsize=(10, 6))\n", + "plt.scatter(X_pca[:, 0], X_pca[:, 1], c=clusters, cmap='tab10', marker='o')\n", + "plt.xlabel('PCA Component 1')\n", + "plt.ylabel('PCA Component 2')\n", + "plt.title(f'K-Means Clusters (k={optimal_k}) in PCA-Reduced Space')\n", + "plt.colorbar(label='Cluster')\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# quality metrics\n", + "cluster_centers = scaler.inverse_transform(kmeans.cluster_centers_)\n", + "cluster_sizes = pd.Series(clusters).value_counts()\n", + "\n", + "cluster_df = pd.DataFrame(cluster_centers, columns=existing_features).round(3)\n", + "print(\"Cluster Centers:\")\n", + "print(cluster_df.to_string())\n", + "print(\"\\nCluster Sizes:\\n\", cluster_sizes)\n", + "\n", + "dbi = davies_bouldin_score(X_scaled, clusters)\n", + "chi = calinski_harabasz_score(X_scaled, clusters)\n", + "\n", + "print(f\"Davies-Bouldin Index: {dbi}\")\n", + "print(f\"Calinski-Harabasz Index: {chi}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/case-study/AVG HR.ipynb b/case-study/AVG HR.ipynb deleted file mode 100755 index 09ba4fc..0000000 --- a/case-study/AVG HR.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "e972a24c-b4d6-468e-891c-371d28f5a8d0", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\n\nDATA = '../data/case-study/processed'\n\n# load baseline HR\nbaseline_hr = pd.read_csv(f'{DATA}/hr.csv')\n\n# load HR data\nhr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\nhr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\nhr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n\n# clean HR data\ndef clean_hr_data(hr_data):\n hr_data_clean = hr_data[hr_data['confidence'] == 1.0]\n return hr_data_clean\n\nbaseline_hr_clean = clean_hr_data(baseline_hr)\nhr_01_clean = clean_hr_data(hr_01)\nhr_02_clean = clean_hr_data(hr_02)\nhr_03_clean = clean_hr_data(hr_03)\n\n# average per session\nbaseline_avg_hr = baseline_hr_clean['heart_rate'].mean()\navg_hr_01 = hr_01_clean['heart_rate'].mean()\navg_hr_02 = hr_02_clean['heart_rate'].mean()\navg_hr_03 = hr_03_clean['heart_rate'].mean()\n\n# baseline difference\nhr_difference_01 = avg_hr_01 - baseline_avg_hr\nhr_difference_02 = avg_hr_02 - baseline_avg_hr\nhr_difference_03 = avg_hr_03 - baseline_avg_hr\n\n# anxiety threshold\nhr_anxiety_threshold = 90\n\n# check HR anxiety\nanxiety_hr_baseline = baseline_avg_hr > hr_anxiety_threshold\nanxiety_hr_01 = avg_hr_01 > hr_anxiety_threshold\nanxiety_hr_02 = avg_hr_02 > hr_anxiety_threshold\nanxiety_hr_03 = avg_hr_03 > hr_anxiety_threshold\n\n# display results\nprint(f'Baseline Average HR: {baseline_avg_hr:.2f} BPM - {\"Anxiety\" if anxiety_hr_baseline else \"Normal\"}')\nprint(f'Session 1 Average HR: {avg_hr_01:.2f} BPM - {\"Anxiety\" if anxiety_hr_01 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 1: {hr_difference_01:.2f} BPM')\nprint(f'Session 2 Average HR: {avg_hr_02:.2f} BPM - {\"Anxiety\" if anxiety_hr_02 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 2: {hr_difference_02:.2f} BPM')\nprint(f'Session 3 Average HR: {avg_hr_03:.2f} BPM - {\"Anxiety\" if anxiety_hr_03 else \"Normal\"}')\nprint(f'Difference from Baseline in Session 3: {hr_difference_03:.2f} BPM')" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/AVG HRV.ipynb b/case-study/AVG HRV.ipynb deleted file mode 100755 index 1398e07..0000000 --- a/case-study/AVG HRV.ipynb +++ /dev/null @@ -1,41 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "ac681000-ac29-47b7-aa25-16e8e14f53a2", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\n\nDATA = '../data/case-study/processed'\n\n# load IBI data\nbaseline_ibi = pd.read_csv(f'{DATA}/ibi.csv')\nibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\nibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\nibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n\n# clean IBI data\ndef clean_ibi_data(ibi_data):\n ibi_data_clean = ibi_data[ibi_data['ibi'] > 0]\n return ibi_data_clean\n\nbaseline_ibi_clean = clean_ibi_data(baseline_ibi)\nibi_01_clean = clean_ibi_data(ibi_01)\nibi_02_clean = clean_ibi_data(ibi_02)\nibi_03_clean = clean_ibi_data(ibi_03)\n\n# calculate RMSSD\ndef calculate_rmssd(ibi_values):\n diff_nn_intervals = np.diff(ibi_values)\n squared_diffs = diff_nn_intervals ** 2\n rmssd = np.sqrt(np.mean(squared_diffs))\n return rmssd\n\n# calculate SDNN\ndef calculate_sdnn(ibi_values):\n sdnn = np.std(ibi_values, ddof=1)\n return sdnn\n\n# compute HRV metrics\nrmssd_baseline = calculate_rmssd(baseline_ibi_clean['ibi'].dropna().values)\nsdnn_baseline = calculate_sdnn(baseline_ibi_clean['ibi'].dropna().values)\n\nrmssd_01 = calculate_rmssd(ibi_01_clean['ibi'].dropna().values)\nsdnn_01 = calculate_sdnn(ibi_01_clean['ibi'].dropna().values)\n\nrmssd_02 = calculate_rmssd(ibi_02_clean['ibi'].dropna().values)\nsdnn_02 = calculate_sdnn(ibi_02_clean['ibi'].dropna().values)\n\nrmssd_03 = calculate_rmssd(ibi_03_clean['ibi'].dropna().values)\nsdnn_03 = calculate_sdnn(ibi_03_clean['ibi'].dropna().values)\n\n# display HRV metrics\nprint(f'Baseline RMSSD: {rmssd_baseline:.2f} ms, SDNN: {sdnn_baseline:.2f} ms')\nprint(f'Session 1 RMSSD: {rmssd_01:.2f} ms, SDNN: {sdnn_01:.2f} ms')\nprint(f'Session 2 RMSSD: {rmssd_02:.2f} ms, SDNN: {sdnn_02:.2f} ms')\nprint(f'Session 3 RMSSD: {rmssd_03:.2f} ms, SDNN: {sdnn_03:.2f} ms')\n\n# anxiety thresholds\nrmssd_threshold = 20\nsdnn_threshold = 50\n\n# check HRV anxiety\nanxiety_rmssd_baseline = rmssd_baseline < rmssd_threshold\nanxiety_sdnn_baseline = sdnn_baseline < sdnn_threshold\n\nanxiety_rmssd_01 = rmssd_01 < rmssd_threshold\nanxiety_sdnn_01 = sdnn_01 < sdnn_threshold\n\nanxiety_rmssd_02 = rmssd_02 < rmssd_threshold\nanxiety_sdnn_02 = sdnn_02 < sdnn_threshold\n\nanxiety_rmssd_03 = rmssd_03 < rmssd_threshold\nanxiety_sdnn_03 = sdnn_03 < sdnn_threshold\n\n# display anxiety results\nprint(f'Baseline RMSSD Anxiety: {\"Yes\" if anxiety_rmssd_baseline else \"No\"}, SDNN Anxiety: {\"Yes\" if anxiety_sdnn_baseline else \"No\"}')\nprint(f'Session 1 RMSSD Anxiety: {\"Yes\" if anxiety_rmssd_01 else \"No\"}, SDNN Anxiety: {\"Yes\" if anxiety_sdnn_01 else \"No\"}')\nprint(f'Session 2 RMSSD Anxiety: {\"Yes\" if anxiety_rmssd_02 else \"No\"}, SDNN Anxiety: {\"Yes\" if anxiety_sdnn_02 else \"No\"}')\nprint(f'Session 3 RMSSD Anxiety: {\"Yes\" if anxiety_rmssd_03 else \"No\"}, SDNN Anxiety: {\"Yes\" if anxiety_sdnn_03 else \"No\"}')" - }, - { - "cell_type": "code", - "id": "00jqik0aldvn", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy import stats\n\nDATA = '../data/case-study/processed'\n\n# load IBI data\nibi_baseline = pd.read_csv(f'{DATA}/ibi.csv')\nibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\nibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\nibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n\ndef clean_ibi(df):\n ibi = df['ibi']\n # physiological bounds\n clean = ibi[(ibi > 300) & (ibi < 2000)]\n removed = len(ibi) - len(clean)\n return clean, removed\n\ndef hrv_metrics(ibi_values):\n nn = ibi_values.values\n sdnn = np.std(nn, ddof=1)\n diffs = np.diff(nn)\n rmssd = np.sqrt(np.mean(diffs**2))\n pnn50 = np.sum(np.abs(diffs) > 50) / len(diffs) * 100\n return sdnn, rmssd, pnn50\n\nsessions = {\n 'Baseline': ibi_baseline,\n 'Session 01': ibi_01,\n 'Session 02': ibi_02,\n 'Session 03': ibi_03\n}\n\n# artifact rejection + HRV\nprint(\"=== IBI Artifact Rejection (300-2000ms bounds) ===\\n\")\nresults = {}\nfor name, df in sessions.items():\n clean, removed = clean_ibi(df)\n sdnn, rmssd, pnn50 = hrv_metrics(clean)\n results[name] = {'N': len(clean), 'Removed': removed, 'SDNN': sdnn, 'RMSSD': rmssd, 'pNN50': pnn50}\n print(f\"{name}: {removed} artifacts removed, {len(clean)} valid beats\")\n\n# summary table\nprint(\"\\n=== HRV Metrics (Time-Domain) ===\\n\")\nhrv_table = pd.DataFrame(results).T.round(2)\nprint(hrv_table.to_string())\n\n# compare sessions\nprint(\"\\n=== Baseline vs Session Comparisons ===\\n\")\nbaseline_ibi, _ = clean_ibi(ibi_baseline)\nfor name in ['Session 01', 'Session 02', 'Session 03']:\n test_ibi, _ = clean_ibi(sessions[name])\n u_stat, p = stats.mannwhitneyu(baseline_ibi, test_ibi, alternative='two-sided')\n diff = test_ibi.mean() - baseline_ibi.mean()\n print(f\"{name} vs Baseline: mean IBI diff={diff:.1f}ms, U p={p:.4f}\")", - "metadata": {}, - "execution_count": null, - "outputs": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/CSV.ipynb b/case-study/CSV.ipynb deleted file mode 100755 index a495906..0000000 --- a/case-study/CSV.ipynb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "7f81ab37-5d56-431a-b982-2617a458a8ef", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": "import pandas as pd\nimport os" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ba90a5e1-2d6c-4b01-8020-166603f19cbb", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": "RAW = '../data/case-study/raw'\nPROCESSED = '../data/case-study/processed'\n\nbase_names = [\n 'hr', 'hr_01', 'hr_02', 'hr_03',\n 'sed', 'sed_01', 'sed_02', 'sed_03',\n 'ibi', 'ibi_01', 'ibi_02', 'ibi_03',\n]\n\nfor name in base_names:\n txt_path = os.path.join(RAW, f'{name}.txt')\n csv_path = os.path.join(PROCESSED, f'{name}.csv')\n df = pd.read_csv(txt_path, delimiter=';')\n df.to_csv(csv_path, index=False)\n print(f'{txt_path} -> {csv_path} ({len(df)} rows)')" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/CSV_Fix.ipynb b/case-study/CSV_Fix.ipynb deleted file mode 100755 index a165c4f..0000000 --- a/case-study/CSV_Fix.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "d6305819-7ee5-4388-a836-6035322ca88a", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\n\nDATA = '../data/case-study/processed'\n\n# gaze stability threshold\ngaze_threshold = 0.01\n\nfor s in [0, 1, 2, 3]:\n filename = f'{DATA}/sed_{s:02d}.csv' if s > 0 else f'{DATA}/sed.csv'\n sed_df = pd.read_csv(filename)\n\n # rename columns\n sed_df = sed_df.rename(columns={\n 'gazeDir.x': 'gaze_x',\n 'gazeDir.y': 'gaze_y',\n 'gazeDir.z': 'gaze_z'\n })\n\n # validate data\n null_mask = sed_df[['reltime', 'gaze_x', 'gaze_y', 'gaze_z']].isnull().any(axis=1)\n if null_mask.any():\n print(f\"WARNING: Session {s}: dropping {null_mask.sum()} rows with missing values.\")\n sed_df = sed_df.dropna(subset=['reltime', 'gaze_x', 'gaze_y', 'gaze_z'])\n\n # gaze direction diff\n sed_df['gaze_diff'] = np.sqrt((sed_df['gaze_x'].diff() ** 2) +\n (sed_df['gaze_y'].diff() ** 2) +\n (sed_df['gaze_z'].diff() ** 2))\n\n # identify fixation points\n sed_df['fixation'] = sed_df['gaze_diff'] < gaze_threshold\n\n # label fixation groups\n sed_df['fixation_id'] = (sed_df['fixation'] != sed_df['fixation'].shift()).cumsum()\n\n # filter fixation points\n fixation_df = sed_df[sed_df['fixation']]\n\n # fixation duration\n fixation_duration = fixation_df.groupby('fixation_id')['reltime'].agg(['min', 'max'])\n fixation_duration['duration'] = fixation_duration['max'] - fixation_duration['min']\n fixation_duration = fixation_duration[['duration']]\n\n # merge durations back\n sed_df = sed_df.merge(fixation_duration, left_on='fixation_id', right_index=True, how='left')\n\n # save data\n output_path = f'{DATA}/sed_fix_{s:02d}.csv' if s > 0 else f'{DATA}/sed_fix.csv'\n sed_df.to_csv(output_path, index=False)\n label = f\"Session {s}\" if s > 0 else \"Baseline\"\n print(f\"{label}: saved to {output_path}\")" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/CSV_HRV.ipynb b/case-study/CSV_HRV.ipynb deleted file mode 100755 index 7dad1dc..0000000 --- a/case-study/CSV_HRV.ipynb +++ /dev/null @@ -1,35 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "e12a3de3-d0ba-4103-b55b-4b4420f17041", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": "import pandas as pd\n\nDATA = '../data/case-study/processed'\n\ndef calculate_hrv_metrics(ibi_series):\n sdnn = ibi_series.std()\n ibi_diff = ibi_series.diff().dropna()\n rmssd = (ibi_diff ** 2).mean() ** 0.5\n return sdnn, rmssd\n\n# process all sessions\nfiles = [('hr', 'ibi', 'hrv')] + [(f'hr_{s:02d}', f'ibi_{s:02d}', f'hrv_{s:02d}') for s in [1, 2, 3]]\n\nfor hr_name, ibi_name, hrv_name in files:\n hr_data = pd.read_csv(f'{DATA}/{hr_name}.csv')\n ibi_data = pd.read_csv(f'{DATA}/{ibi_name}.csv')\n\n combined_data = pd.merge(hr_data, ibi_data, on=['reltime', 'datetime', 'iSensor'], suffixes=('_hr', '_ibi'))\n valid_ibi_data = combined_data[combined_data['ibi'] > 0]\n\n sdnn, rmssd = calculate_hrv_metrics(valid_ibi_data['ibi'])\n\n hrv_data = valid_ibi_data[['reltime', 'datetime']].copy()\n hrv_data['sdnn'] = sdnn\n hrv_data['rmssd'] = rmssd\n\n hrv_data.to_csv(f'{DATA}/{hrv_name}.csv', index=False)\n print(f'{hrv_name}: SDNN = {sdnn:.2f} ms, RMSSD = {rmssd:.2f} ms')" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/KMeans.ipynb b/case-study/KMeans.ipynb deleted file mode 100755 index 48202c0..0000000 --- a/case-study/KMeans.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "5391db33-b306-4875-b0c3-8adde23d5188", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.decomposition import PCA\nfrom sklearn.cluster import KMeans\nfrom sklearn.metrics import silhouette_score, davies_bouldin_score, calinski_harabasz_score\nimport matplotlib.pyplot as plt\n\nDATA = '../data/case-study/processed'\n\n# load and merge\nsession_dfs = []\nfor s in [1, 2, 3]:\n hr = pd.read_csv(f'{DATA}/hr_{s:02d}.csv')\n ibi = pd.read_csv(f'{DATA}/ibi_{s:02d}.csv')\n sed = pd.read_csv(f'{DATA}/sed_{s:02d}.csv')\n\n hr_clean = hr[hr['confidence'] == 1.0]\n ibi_clean = ibi[ibi['ibi'] > 0]\n\n hr_agg = hr_clean.groupby('datetime')['heart_rate'].mean().reset_index()\n ibi_agg = ibi_clean.groupby('datetime')['ibi'].mean().reset_index()\n\n merged = pd.merge(hr_agg, ibi_agg, on='datetime')\n # eye-tracking ('sed') is ~60 Hz vs ~1 Hz for HR/IBI, so the streams rarely share an\n # exact timestamp; align on nearest time within tolerance (an exact inner join drops ~93% of rows)\n _fmt = '%Y/%m/%d %H:%M:%S.%f'\n merged['datetime'] = pd.to_datetime(merged['datetime'], format=_fmt)\n sed['datetime'] = pd.to_datetime(sed['datetime'], format=_fmt)\n merged = merged.sort_values('datetime')\n sed = sed.sort_values('datetime')\n merged = pd.merge_asof(merged, sed, on='datetime', direction='nearest', tolerance=pd.Timedelta('100ms'))\n session_dfs.append(merged)\n\nall_data_combined = pd.concat(session_dfs, ignore_index=True)\n\nprint(\"Columns available in DataFrame:\", all_data_combined.columns)\n\n# define features\nfeatures = [\n 'heart_rate', 'ibi', 'headPos.x', 'headPos.y', 'headPos.z',\n 'gazeDir.x', 'gazeDir.y', 'gazeDir.z', 'pupil'\n]\n\nexisting_features = [feature for feature in features if feature in all_data_combined.columns]\n\n# drop constant (zero-variance) columns - they carry no clustering signal (e.g. headPos.* are all-zero)\nconstant_features = [f for f in existing_features if all_data_combined[f].nunique(dropna=True) <= 1]\nif constant_features:\n print(f'Dropping constant columns: {constant_features}')\n existing_features = [f for f in existing_features if f not in constant_features]\n\nmissing_features = set(features) - set(existing_features)\nif missing_features:\n print(f\"Missing columns in the DataFrame: {missing_features}\")\n\nall_data_combined = all_data_combined.dropna(subset=existing_features)\n\n# standardize features\nscaler = StandardScaler()\nX_scaled = scaler.fit_transform(all_data_combined[existing_features])\n\n# pca for visualization\npca = PCA(n_components=2)\nX_pca = pca.fit_transform(X_scaled)\nprint(f\"PCA explained variance: {pca.explained_variance_ratio_.sum():.1%}\")\n\n# find optimal k\nsilhouette_scores = []\nK = range(2, 11)\nfitted_models = {}\nfor k in K:\n km = KMeans(n_clusters=k, random_state=42, n_init=10)\n km.fit(X_scaled)\n fitted_models[k] = km\n silhouette_scores.append(silhouette_score(X_scaled, km.labels_))\n\nplt.figure(figsize=(10, 6))\nplt.plot(K, silhouette_scores, marker='o')\nplt.xlabel('Number of clusters')\nplt.ylabel('Silhouette Score')\nplt.title('Silhouette Score vs. Number of Clusters')\nplt.show()\nplt.close()\n\n# auto-select optimal k\noptimal_k = list(K)[np.argmax(silhouette_scores)]\nprint(f\"Optimal k selected: {optimal_k} (silhouette score: {max(silhouette_scores):.4f})\")\n\nkmeans = fitted_models[optimal_k]\nclusters = kmeans.labels_\n\n# pca cluster plot\nplt.figure(figsize=(10, 6))\nplt.scatter(X_pca[:, 0], X_pca[:, 1], c=clusters, cmap='tab10', marker='o')\nplt.xlabel('PCA Component 1')\nplt.ylabel('PCA Component 2')\nplt.title(f'K-Means Clusters (k={optimal_k}) in PCA-Reduced Space')\nplt.colorbar(label='Cluster')\nplt.show()\nplt.close()\n\n# cluster centers\ncluster_centers = scaler.inverse_transform(kmeans.cluster_centers_)\ncluster_sizes = pd.Series(clusters).value_counts()\n\ncluster_df = pd.DataFrame(cluster_centers, columns=existing_features).round(3)\nprint(\"Cluster Centers:\")\nprint(cluster_df.to_string())\nprint(\"\\nCluster Sizes:\\n\", cluster_sizes)\n\n# quality metrics\ndbi = davies_bouldin_score(X_scaled, clusters)\nchi = calinski_harabasz_score(X_scaled, clusters)\n\nprint(f\"\\nDavies-Bouldin Index: {dbi:.4f}\")\nprint(f\"Calinski-Harabasz Index: {chi:.4f}\")" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/Model.ipynb b/case-study/Model.ipynb deleted file mode 100755 index d4208b4..0000000 --- a/case-study/Model.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "40513198-c62e-4319-adc2-ee25adcbe2dc", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.decomposition import PCA\nfrom sklearn.cluster import KMeans\nfrom sklearn.metrics import silhouette_score, davies_bouldin_score, calinski_harabasz_score\nimport matplotlib.pyplot as plt\n\nDATA = '../data/case-study/processed'\n\n# load and merge\nsession_dfs = []\nfor s in [1, 2, 3]:\n hr = pd.read_csv(f'{DATA}/hr_{s:02d}.csv')\n ibi = pd.read_csv(f'{DATA}/ibi_{s:02d}.csv')\n sed = pd.read_csv(f'{DATA}/sed_{s:02d}.csv')\n\n hr_clean = hr[hr['confidence'] == 1.0]\n ibi_clean = ibi[ibi['ibi'] > 0]\n\n hr_agg = hr_clean.groupby('datetime')['heart_rate'].mean().reset_index()\n ibi_agg = ibi_clean.groupby('datetime')['ibi'].mean().reset_index()\n\n merged = pd.merge(hr_agg, ibi_agg, on='datetime')\n # eye-tracking ('sed') is ~60 Hz vs ~1 Hz for HR/IBI, so the streams rarely share an\n # exact timestamp; align on nearest time within tolerance (an exact inner join drops ~93% of rows)\n _fmt = '%Y/%m/%d %H:%M:%S.%f'\n merged['datetime'] = pd.to_datetime(merged['datetime'], format=_fmt)\n sed['datetime'] = pd.to_datetime(sed['datetime'], format=_fmt)\n merged = merged.sort_values('datetime')\n sed = sed.sort_values('datetime')\n merged = pd.merge_asof(merged, sed, on='datetime', direction='nearest', tolerance=pd.Timedelta('100ms'))\n session_dfs.append(merged)\n\nall_data_combined = pd.concat(session_dfs, ignore_index=True)\n\nprint(\"Columns available in DataFrame:\", all_data_combined.columns)\n\n# define features\nfeatures = [\n 'heart_rate', 'ibi', 'headPos.x', 'headPos.y', 'headPos.z',\n 'gazeDir.x', 'gazeDir.y', 'gazeDir.z', 'pupil'\n]\n\nexisting_features = [feature for feature in features if feature in all_data_combined.columns]\n\n# drop constant (zero-variance) columns - they carry no clustering signal (e.g. headPos.* are all-zero)\nconstant_features = [f for f in existing_features if all_data_combined[f].nunique(dropna=True) <= 1]\nif constant_features:\n print(f'Dropping constant columns: {constant_features}')\n existing_features = [f for f in existing_features if f not in constant_features]\n\nmissing_features = set(features) - set(existing_features)\nif missing_features:\n print(f\"Missing columns in the DataFrame: {missing_features}\")\n\nall_data_combined = all_data_combined.dropna(subset=existing_features)\n\n# standardize features\nscaler = StandardScaler()\nX_scaled = scaler.fit_transform(all_data_combined[existing_features])\n\n# pca for visualization\npca = PCA(n_components=2)\nX_pca = pca.fit_transform(X_scaled)\nprint(f\"PCA explained variance: {pca.explained_variance_ratio_.sum():.1%}\")\n\n# find optimal k\nsilhouette_scores = []\nK = range(2, 11)\nfitted_models = {}\nfor k in K:\n km = KMeans(n_clusters=k, random_state=42, n_init=10)\n km.fit(X_scaled)\n fitted_models[k] = km\n silhouette_scores.append(silhouette_score(X_scaled, km.labels_))\n\nplt.figure(figsize=(10, 6))\nplt.plot(K, silhouette_scores, marker='o')\nplt.xlabel('Number of clusters')\nplt.ylabel('Silhouette Score')\nplt.title('Silhouette Score vs. Number of Clusters')\nplt.show()\nplt.close()\n\n# auto-select optimal k\noptimal_k = list(K)[np.argmax(silhouette_scores)]\nprint(f\"Optimal k selected: {optimal_k} (silhouette score: {max(silhouette_scores):.4f})\")\n\nkmeans = fitted_models[optimal_k]\nclusters = kmeans.labels_\n\n# pca cluster plot\nplt.figure(figsize=(10, 6))\nplt.scatter(X_pca[:, 0], X_pca[:, 1], c=clusters, cmap='tab10', marker='o')\nplt.xlabel('PCA Component 1')\nplt.ylabel('PCA Component 2')\nplt.title(f'K-Means Clusters (k={optimal_k}) in PCA-Reduced Space')\nplt.colorbar(label='Cluster')\nplt.show()\nplt.close()\n\n# cluster centers\ncluster_centers = scaler.inverse_transform(kmeans.cluster_centers_)\ncluster_sizes = pd.Series(clusters).value_counts()\n\ncluster_df = pd.DataFrame(cluster_centers, columns=existing_features).round(3)\nprint(\"Cluster Centers:\")\nprint(cluster_df.to_string())\nprint(\"\\nCluster Sizes:\\n\", cluster_sizes)\n\n# quality metrics\nsilhouette_avg = silhouette_score(X_scaled, clusters)\ndbi = davies_bouldin_score(X_scaled, clusters)\nchi = calinski_harabasz_score(X_scaled, clusters)\n\nprint(f\"\\nSilhouette Score: {silhouette_avg:.4f} (range: -1 to 1, higher = better separation)\")\nprint(f\"Davies-Bouldin Index: {dbi:.4f} (lower = better)\")\nprint(f\"Calinski-Harabasz Index: {chi:.4f} (higher = better)\")" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/Model_02.ipynb b/case-study/Model_02.ipynb deleted file mode 100755 index 728b5d7..0000000 --- a/case-study/Model_02.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "907fb1c2-c722-47fe-863c-8aaf763abcdb", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.decomposition import PCA\nfrom sklearn.cluster import KMeans\nfrom sklearn.metrics import silhouette_score, davies_bouldin_score, calinski_harabasz_score\nimport matplotlib.pyplot as plt\nimport numpy as np\n\nDATA = '../data/case-study/processed'\nPSY = '../data/case-study/psychometric'\n\n# load and merge\nsession_dfs = []\nfor s in [1, 2, 3]:\n hr = pd.read_csv(f'{DATA}/hr_{s:02d}.csv')\n ibi = pd.read_csv(f'{DATA}/ibi_{s:02d}.csv')\n sed = pd.read_csv(f'{DATA}/sed_{s:02d}.csv')\n\n hr_clean = hr[hr['confidence'] == 1.0]\n ibi_clean = ibi[ibi['ibi'] > 0]\n\n hr_agg = hr_clean.groupby('datetime')['heart_rate'].mean().reset_index()\n ibi_agg = ibi_clean.groupby('datetime')['ibi'].mean().reset_index()\n\n merged = pd.merge(hr_agg, ibi_agg, on='datetime')\n # eye-tracking ('sed') is ~60 Hz vs ~1 Hz for HR/IBI, so the streams rarely share an\n # exact timestamp; align on nearest time within tolerance (an exact inner join drops ~93% of rows)\n _fmt = '%Y/%m/%d %H:%M:%S.%f'\n merged['datetime'] = pd.to_datetime(merged['datetime'], format=_fmt)\n sed['datetime'] = pd.to_datetime(sed['datetime'], format=_fmt)\n merged = merged.sort_values('datetime')\n sed = sed.sort_values('datetime')\n merged = pd.merge_asof(merged, sed, on='datetime', direction='nearest', tolerance=pd.Timedelta('100ms'))\n session_dfs.append(merged)\n\nall_data_combined = pd.concat(session_dfs, ignore_index=True)\n\nprint(\"Columns available in DataFrame:\", all_data_combined.columns)\n\n# define features\nfeatures = [\n 'heart_rate', 'ibi', 'headPos.x', 'headPos.y', 'headPos.z',\n 'gazeDir.x', 'gazeDir.y', 'gazeDir.z', 'pupil'\n]\n\nexisting_features = [feature for feature in features if feature in all_data_combined.columns]\n\n# drop constant (zero-variance) columns - they carry no clustering signal (e.g. headPos.* are all-zero)\nconstant_features = [f for f in existing_features if all_data_combined[f].nunique(dropna=True) <= 1]\nif constant_features:\n print(f'Dropping constant columns: {constant_features}')\n existing_features = [f for f in existing_features if f not in constant_features]\n\nmissing_features = set(features) - set(existing_features)\nif missing_features:\n print(f\"Missing columns in the DataFrame: {missing_features}\")\n\nall_data_combined = all_data_combined.dropna(subset=existing_features)\n\n# standardize features\nscaler = StandardScaler()\nX_scaled = scaler.fit_transform(all_data_combined[existing_features])\n\n# pca for visualization\npca = PCA(n_components=2)\nX_pca = pca.fit_transform(X_scaled)\nprint(f\"PCA explained variance: {pca.explained_variance_ratio_.sum():.1%}\")\n\n# find optimal k\nsilhouette_scores = []\nK = range(2, 11)\nfitted_models = {}\nfor k in K:\n km = KMeans(n_clusters=k, random_state=42, n_init=10)\n km.fit(X_scaled)\n fitted_models[k] = km\n silhouette_scores.append(silhouette_score(X_scaled, km.labels_))\n\n# plot silhouette\nplt.figure(figsize=(10, 6))\nplt.plot(K, silhouette_scores, marker='o')\nplt.xlabel('Number of clusters')\nplt.ylabel('Silhouette Score')\nplt.title('Silhouette Score vs. Number of Clusters')\nplt.show()\nplt.close()\n\n# auto-select k\noptimal_k = list(K)[np.argmax(silhouette_scores)]\nprint(f\"Optimal k selected: {optimal_k} (silhouette score: {max(silhouette_scores):.4f})\")\n\nkmeans = fitted_models[optimal_k]\nclusters = kmeans.labels_\n\n# pca cluster plot\nplt.figure(figsize=(10, 6))\nplt.scatter(X_pca[:, 0], X_pca[:, 1], c=clusters, cmap='tab10', marker='o')\nplt.xlabel('PCA Component 1')\nplt.ylabel('PCA Component 2')\nplt.title(f'K-Means Clusters (k={optimal_k}) in PCA-Reduced Space')\nplt.colorbar(label='Cluster')\nplt.show()\nplt.close()\n\n# cluster profiles\nall_data_combined['cluster'] = clusters\ncluster_profiles = all_data_combined.groupby('cluster')[existing_features].mean()\nprint(\"Cluster Profiles:\\n\", cluster_profiles)\n\n# cluster centers\ncluster_centers = scaler.inverse_transform(kmeans.cluster_centers_)\ncluster_df = pd.DataFrame(cluster_centers, columns=existing_features).round(3)\nprint(\"Cluster Centers:\")\nprint(cluster_df.to_string())\n\n# quality metrics\nsilhouette_avg = silhouette_score(X_scaled, clusters)\ndbi = davies_bouldin_score(X_scaled, clusters)\nchi = calinski_harabasz_score(X_scaled, clusters)\n\nprint(f\"\\nSilhouette Score: {silhouette_avg:.4f} (range: -1 to 1, higher is better)\")\nprint(f\"Davies-Bouldin Index: {dbi:.4f} (lower is better)\")\nprint(f\"Calinski-Harabasz Index: {chi:.4f} (higher is better)\")\n\nprint(\"\\nConclusion:\")\nprint(f\"The silhouette score of {silhouette_avg:.2f} suggests the clusters are {'well' if silhouette_avg > 0.5 else 'moderately'}-defined.\")\nprint(f\"The Davies-Bouldin Index of {dbi:.2f} indicates {'good' if dbi < 1 else 'moderate'} clustering with {'compact' if dbi < 1 else 'somewhat overlapping'} clusters.\")\nprint(f\"The Calinski-Harabasz Index of {chi:.2f} indicates the clusters are dense and well-separated.\")\nprint(\"Heart rate and eye-tracking physiological features show distinct clustering patterns that may relate to anxiety and stress responses.\")" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/case-study/avg_hr.ipynb b/case-study/avg_hr.ipynb new file mode 100755 index 0000000..0cd15e5 --- /dev/null +++ b/case-study/avg_hr.ipynb @@ -0,0 +1,99 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "226138a4", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Avg Hr\n", + "\n", + "Session-level average heart-rate summaries.\n", + "\n", + "**Reads:** `data/case-study/ (one participant, all sessions)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e972a24c-b4d6-468e-891c-371d28f5a8d0", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load baseline HR\n", + "baseline_hr = pd.read_csv(f'{DATA}/hr.csv')\n", + "\n", + "# load HR data\n", + "hr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\n", + "hr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\n", + "hr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n", + "\n", + "# clean HR data\n", + "def clean_hr_data(hr_data):\n", + " hr_data_clean = hr_data[hr_data['confidence'] == 1.0]\n", + " return hr_data_clean\n", + "\n", + "baseline_hr_clean = clean_hr_data(baseline_hr)\n", + "hr_01_clean = clean_hr_data(hr_01)\n", + "hr_02_clean = clean_hr_data(hr_02)\n", + "hr_03_clean = clean_hr_data(hr_03)\n", + "\n", + "# average per session\n", + "baseline_avg_hr = baseline_hr_clean['heart_rate'].mean()\n", + "avg_hr_01 = hr_01_clean['heart_rate'].mean()\n", + "avg_hr_02 = hr_02_clean['heart_rate'].mean()\n", + "avg_hr_03 = hr_03_clean['heart_rate'].mean()\n", + "\n", + "# baseline difference\n", + "hr_difference_01 = avg_hr_01 - baseline_avg_hr\n", + "hr_difference_02 = avg_hr_02 - baseline_avg_hr\n", + "hr_difference_03 = avg_hr_03 - baseline_avg_hr\n", + "\n", + "# anxiety threshold\n", + "hr_anxiety_threshold = 90\n", + "\n", + "# check HR anxiety\n", + "anxiety_hr_baseline = baseline_avg_hr > hr_anxiety_threshold\n", + "anxiety_hr_01 = avg_hr_01 > hr_anxiety_threshold\n", + "anxiety_hr_02 = avg_hr_02 > hr_anxiety_threshold\n", + "anxiety_hr_03 = avg_hr_03 > hr_anxiety_threshold\n", + "\n", + "# display results\n", + "print(f'Baseline Average HR: {baseline_avg_hr:.2f} BPM - {\"Anxiety\" if anxiety_hr_baseline else \"Normal\"}')\n", + "print(f'Session 1 Average HR: {avg_hr_01:.2f} BPM - {\"Anxiety\" if anxiety_hr_01 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 1: {hr_difference_01:.2f} BPM')\n", + "print(f'Session 2 Average HR: {avg_hr_02:.2f} BPM - {\"Anxiety\" if anxiety_hr_02 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 2: {hr_difference_02:.2f} BPM')\n", + "print(f'Session 3 Average HR: {avg_hr_03:.2f} BPM - {\"Anxiety\" if anxiety_hr_03 else \"Normal\"}')\n", + "print(f'Difference from Baseline in Session 3: {hr_difference_03:.2f} BPM')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/case-study/avg_hrv.ipynb b/case-study/avg_hrv.ipynb new file mode 100755 index 0000000..4b73be8 --- /dev/null +++ b/case-study/avg_hrv.ipynb @@ -0,0 +1,188 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "50c33d2e", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Avg Hrv\n", + "\n", + "Session-level average HRV (SDNN/RMSSD) summaries.\n", + "\n", + "**Reads:** `data/case-study/ (one participant, all sessions)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ac681000-ac29-47b7-aa25-16e8e14f53a2", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load IBI data\n", + "baseline_ibi = pd.read_csv(f'{DATA}/ibi.csv')\n", + "ibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\n", + "ibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\n", + "ibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n", + "\n", + "# clean IBI data\n", + "def clean_ibi_data(ibi_data):\n", + " ibi_data_clean = ibi_data[ibi_data['ibi'] > 0]\n", + " return ibi_data_clean\n", + "\n", + "baseline_ibi_clean = clean_ibi_data(baseline_ibi)\n", + "ibi_01_clean = clean_ibi_data(ibi_01)\n", + "ibi_02_clean = clean_ibi_data(ibi_02)\n", + "ibi_03_clean = clean_ibi_data(ibi_03)\n", + "\n", + "# calculate RMSSD\n", + "def calculate_rmssd(ibi_values):\n", + " diff_nn_intervals = np.diff(ibi_values)\n", + " squared_diffs = diff_nn_intervals ** 2\n", + " rmssd = np.sqrt(np.mean(squared_diffs))\n", + " return rmssd\n", + "\n", + "# calculate SDNN\n", + "def calculate_sdnn(ibi_values):\n", + " sdnn = np.std(ibi_values, ddof=1)\n", + " return sdnn\n", + "\n", + "# compute HRV metrics\n", + "rmssd_baseline = calculate_rmssd(baseline_ibi_clean['ibi'].dropna().values)\n", + "sdnn_baseline = calculate_sdnn(baseline_ibi_clean['ibi'].dropna().values)\n", + "\n", + "rmssd_01 = calculate_rmssd(ibi_01_clean['ibi'].dropna().values)\n", + "sdnn_01 = calculate_sdnn(ibi_01_clean['ibi'].dropna().values)\n", + "\n", + "rmssd_02 = calculate_rmssd(ibi_02_clean['ibi'].dropna().values)\n", + "sdnn_02 = calculate_sdnn(ibi_02_clean['ibi'].dropna().values)\n", + "\n", + "rmssd_03 = calculate_rmssd(ibi_03_clean['ibi'].dropna().values)\n", + "sdnn_03 = calculate_sdnn(ibi_03_clean['ibi'].dropna().values)\n", + "\n", + "# display HRV metrics\n", + "print(f'Baseline RMSSD: {rmssd_baseline:.2f} ms, SDNN: {sdnn_baseline:.2f} ms')\n", + "print(f'Session 1 RMSSD: {rmssd_01:.2f} ms, SDNN: {sdnn_01:.2f} ms')\n", + "print(f'Session 2 RMSSD: {rmssd_02:.2f} ms, SDNN: {sdnn_02:.2f} ms')\n", + "print(f'Session 3 RMSSD: {rmssd_03:.2f} ms, SDNN: {sdnn_03:.2f} ms')\n", + "\n", + "# anxiety thresholds\n", + "rmssd_threshold = 20\n", + "sdnn_threshold = 50\n", + "\n", + "# check HRV anxiety\n", + "anxiety_rmssd_baseline = rmssd_baseline < rmssd_threshold\n", + "anxiety_sdnn_baseline = sdnn_baseline < sdnn_threshold\n", + "\n", + "anxiety_rmssd_01 = rmssd_01 < rmssd_threshold\n", + "anxiety_sdnn_01 = sdnn_01 < sdnn_threshold\n", + "\n", + "anxiety_rmssd_02 = rmssd_02 < rmssd_threshold\n", + "anxiety_sdnn_02 = sdnn_02 < sdnn_threshold\n", + "\n", + "anxiety_rmssd_03 = rmssd_03 < rmssd_threshold\n", + "anxiety_sdnn_03 = sdnn_03 < sdnn_threshold\n", + "\n", + "# display anxiety results\n", + "print(f'Baseline RMSSD Anxiety: {\"Yes\" if anxiety_rmssd_baseline else \"No\"}, SDNN Anxiety: {\"Yes\" if anxiety_sdnn_baseline else \"No\"}')\n", + "print(f'Session 1 RMSSD Anxiety: {\"Yes\" if anxiety_rmssd_01 else \"No\"}, SDNN Anxiety: {\"Yes\" if anxiety_sdnn_01 else \"No\"}')\n", + "print(f'Session 2 RMSSD Anxiety: {\"Yes\" if anxiety_rmssd_02 else \"No\"}, SDNN Anxiety: {\"Yes\" if anxiety_sdnn_02 else \"No\"}')\n", + "print(f'Session 3 RMSSD Anxiety: {\"Yes\" if anxiety_rmssd_03 else \"No\"}, SDNN Anxiety: {\"Yes\" if anxiety_sdnn_03 else \"No\"}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00jqik0aldvn", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy import stats\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# load IBI data\n", + "ibi_baseline = pd.read_csv(f'{DATA}/ibi.csv')\n", + "ibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\n", + "ibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\n", + "ibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n", + "\n", + "def clean_ibi(df):\n", + " ibi = df['ibi']\n", + " # physiological bounds\n", + " clean = ibi[(ibi > 300) & (ibi < 2000)]\n", + " removed = len(ibi) - len(clean)\n", + " return clean, removed\n", + "\n", + "def hrv_metrics(ibi_values):\n", + " nn = ibi_values.values\n", + " sdnn = np.std(nn, ddof=1)\n", + " diffs = np.diff(nn)\n", + " rmssd = np.sqrt(np.mean(diffs**2))\n", + " pnn50 = np.sum(np.abs(diffs) > 50) / len(diffs) * 100\n", + " return sdnn, rmssd, pnn50\n", + "\n", + "sessions = {\n", + " 'Baseline': ibi_baseline,\n", + " 'Session 01': ibi_01,\n", + " 'Session 02': ibi_02,\n", + " 'Session 03': ibi_03\n", + "}\n", + "\n", + "# artifact rejection + HRV\n", + "print(\"=== IBI Artifact Rejection (300-2000ms bounds) ===\\n\")\n", + "results = {}\n", + "for name, df in sessions.items():\n", + " clean, removed = clean_ibi(df)\n", + " sdnn, rmssd, pnn50 = hrv_metrics(clean)\n", + " results[name] = {'N': len(clean), 'Removed': removed, 'SDNN': sdnn, 'RMSSD': rmssd, 'pNN50': pnn50}\n", + " print(f\"{name}: {removed} artifacts removed, {len(clean)} valid beats\")\n", + "\n", + "# summary table\n", + "print(\"\\n=== HRV Metrics (Time-Domain) ===\\n\")\n", + "hrv_table = pd.DataFrame(results).T.round(2)\n", + "print(hrv_table.to_string())\n", + "\n", + "# compare sessions\n", + "print(\"\\n=== Baseline vs Session Comparisons ===\\n\")\n", + "baseline_ibi, _ = clean_ibi(ibi_baseline)\n", + "for name in ['Session 01', 'Session 02', 'Session 03']:\n", + " test_ibi, _ = clean_ibi(sessions[name])\n", + " u_stat, p = stats.mannwhitneyu(baseline_ibi, test_ibi, alternative='two-sided')\n", + " diff = test_ibi.mean() - baseline_ibi.mean()\n", + " print(f\"{name} vs Baseline: mean IBI diff={diff:.1f}ms, U p={p:.4f}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/case-study/build_hrv.ipynb b/case-study/build_hrv.ipynb new file mode 100755 index 0000000..8ace0d5 --- /dev/null +++ b/case-study/build_hrv.ipynb @@ -0,0 +1,64 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a4d6fd34", + "metadata": {}, + "source": [ + "## Time-resolved HRV (SDNN / RMSSD)\n", + "\n", + "**Fix:** the previous version computed a *single* SDNN for the whole session and wrote that same number to every row, so the time-resolved HRV plots were flat lines (`nunique(sdnn) == 1`). This computes a **30-beat rolling** SDNN/RMSSD (≈30 s) that varies over the session, keeping the `reltime, datetime, sdnn, rmssd` schema. A 300–2000 ms normal-to-normal filter removes dropped-beat artifacts.\n", + "\n", + "**Inputs:** `data/case-study/processed/ibi*.csv` · **Outputs:** `data/case-study/processed/hrv*.csv`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56123851", + "metadata": { + "mms_tag": "csv_hrv_rolling" + }, + "outputs": [], + "source": [ + "import sys, pathlib\n", + "sys.path.insert(0, str(pathlib.Path.cwd().parent)) # repo root -> import mms\n", + "import mms\n", + "import pandas as pd\n", + "\n", + "PROCESSED = mms.paths.CASE_STUDY / 'processed'\n", + "stems = [('ibi', 'hrv')] + [(f'ibi_{s:02d}', f'hrv_{s:02d}') for s in (1, 2, 3)]\n", + "\n", + "for ibi_stem, hrv_stem in stems:\n", + " ibi = pd.read_csv(PROCESSED / f'{ibi_stem}.csv')\n", + " valid = ibi[ibi['ibi'] > 0].copy()\n", + " rolled = mms.hrv.hrv_rolling(valid, window_beats=30)\n", + " out = rolled[['reltime', 'datetime', 'sdnn', 'rmssd']]\n", + " out.to_csv(PROCESSED / f'{hrv_stem}.csv', index=False)\n", + " print(f\"{hrv_stem}: {out['sdnn'].nunique()} distinct SDNN values, \"\n", + " f\"range {out['sdnn'].min():.1f}-{out['sdnn'].max():.1f} ms\")\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/case-study/preprocess_fixation.ipynb b/case-study/preprocess_fixation.ipynb new file mode 100755 index 0000000..79b4755 --- /dev/null +++ b/case-study/preprocess_fixation.ipynb @@ -0,0 +1,101 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a30b2c59", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Preprocess Fixation\n", + "\n", + "Derive fixation events and durations from the raw eye-tracking sample stream.\n", + "\n", + "**Reads:** `data/case-study/ (one participant, all sessions)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d6305819-7ee5-4388-a836-6035322ca88a", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "DATA = '../data/case-study/processed'\n", + "\n", + "# gaze stability threshold\n", + "gaze_threshold = 0.01\n", + "\n", + "for s in [0, 1, 2, 3]:\n", + " filename = f'{DATA}/sed_{s:02d}.csv' if s > 0 else f'{DATA}/sed.csv'\n", + " sed_df = pd.read_csv(filename)\n", + "\n", + " # rename columns\n", + " sed_df = sed_df.rename(columns={\n", + " 'gazeDir.x': 'gaze_x',\n", + " 'gazeDir.y': 'gaze_y',\n", + " 'gazeDir.z': 'gaze_z'\n", + " })\n", + "\n", + " # validate data\n", + " null_mask = sed_df[['reltime', 'gaze_x', 'gaze_y', 'gaze_z']].isnull().any(axis=1)\n", + " if null_mask.any():\n", + " print(f\"WARNING: Session {s}: dropping {null_mask.sum()} rows with missing values.\")\n", + " sed_df = sed_df.dropna(subset=['reltime', 'gaze_x', 'gaze_y', 'gaze_z'])\n", + "\n", + " # gaze direction diff\n", + " sed_df['gaze_diff'] = np.sqrt((sed_df['gaze_x'].diff() ** 2) +\n", + " (sed_df['gaze_y'].diff() ** 2) +\n", + " (sed_df['gaze_z'].diff() ** 2))\n", + "\n", + " # identify fixation points\n", + " sed_df['fixation'] = sed_df['gaze_diff'] < gaze_threshold\n", + "\n", + " # label fixation groups\n", + " sed_df['fixation_id'] = (sed_df['fixation'] != sed_df['fixation'].shift()).cumsum()\n", + "\n", + " # filter fixation points\n", + " fixation_df = sed_df[sed_df['fixation']]\n", + "\n", + " # fixation duration\n", + " fixation_duration = fixation_df.groupby('fixation_id')['reltime'].agg(['min', 'max'])\n", + " fixation_duration['duration'] = fixation_duration['max'] - fixation_duration['min']\n", + " fixation_duration = fixation_duration[['duration']]\n", + "\n", + " # merge durations back\n", + " sed_df = sed_df.merge(fixation_duration, left_on='fixation_id', right_index=True, how='left')\n", + "\n", + " # save data\n", + " output_path = f'{DATA}/sed_fix_{s:02d}.csv' if s > 0 else f'{DATA}/sed_fix.csv'\n", + " sed_df.to_csv(output_path, index=False)\n", + " label = f\"Session {s}\" if s > 0 else \"Baseline\"\n", + " print(f\"{label}: saved to {output_path}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/case-study/preprocess_raw_to_csv.ipynb b/case-study/preprocess_raw_to_csv.ipynb new file mode 100755 index 0000000..1bcbd29 --- /dev/null +++ b/case-study/preprocess_raw_to_csv.ipynb @@ -0,0 +1,79 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7d75f5f3", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Preprocess Raw To Csv\n", + "\n", + "Convert semicolon-delimited raw sensor exports (.txt) into tidy processed CSVs.\n", + "\n", + "**Reads:** `data/case-study/ (one participant, all sessions)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f81ab37-5d56-431a-b982-2617a458a8ef", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba90a5e1-2d6c-4b01-8020-166603f19cbb", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "RAW = '../data/case-study/raw'\n", + "PROCESSED = '../data/case-study/processed'\n", + "\n", + "base_names = [\n", + " 'hr', 'hr_01', 'hr_02', 'hr_03',\n", + " 'sed', 'sed_01', 'sed_02', 'sed_03',\n", + " 'ibi', 'ibi_01', 'ibi_02', 'ibi_03',\n", + "]\n", + "\n", + "for name in base_names:\n", + " txt_path = os.path.join(RAW, f'{name}.txt')\n", + " csv_path = os.path.join(PROCESSED, f'{name}.csv')\n", + " df = pd.read_csv(txt_path, delimiter=';')\n", + " df.to_csv(csv_path, index=False)\n", + " print(f'{txt_path} -> {csv_path} ({len(df)} rows)')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/group/Duration.ipynb b/group/Duration.ipynb index 163ba00..8809d41 100755 --- a/group/Duration.ipynb +++ b/group/Duration.ipynb @@ -1,12 +1,59 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "f4bb835a", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Duration\n", + "\n", + "Per-session response-duration breakdowns.\n", + "\n", + "**Reads:** `data/group_results/ (10-participant summaries)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, { "cell_type": "code", "execution_count": null, "id": "37424c1a-ec85-4b3f-919c-4c379779f958", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport warnings\n\nwarnings.filterwarnings('ignore')\n\nOUTPUT = '../data/group_results'\n\n# load duration data\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\n# melt to long format\nmelted = duration_df.melt(id_vars='Participant', var_name='Session', value_name='answer_duration')\n\n# average per participant\naverage_durations = melted.groupby('Participant')['answer_duration'].mean().reset_index()\n\nprint(\"Average Answer Duration for Each Participant Across Three Sessions\")\nprint(average_durations)\n\n# plot averages\nplt.figure(figsize=(12, 6))\nsns.barplot(data=average_durations, x='Participant', y='answer_duration', palette='viridis')\nplt.title('Average Answer Duration for Each Participant Across Three Sessions')\nplt.ylabel('Average Answer Duration (seconds)')\nplt.xlabel('Participant')\nplt.xticks(rotation=45)\nplt.grid(axis='y', linestyle='--', alpha=0.7)\nplt.show()\nplt.close()" + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import warnings\n", + "\n", + "warnings.filterwarnings('ignore')\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load duration data\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "# melt to long format\n", + "melted = duration_df.melt(id_vars='Participant', var_name='Session', value_name='answer_duration')\n", + "\n", + "# average per participant\n", + "average_durations = melted.groupby('Participant')['answer_duration'].mean().reset_index()\n", + "\n", + "print(\"Average Answer Duration for Each Participant Across Three Sessions\")\n", + "print(average_durations)\n", + "\n", + "# plot averages\n", + "plt.figure(figsize=(12, 6))\n", + "sns.barplot(data=average_durations, x='Participant', y='answer_duration', palette='viridis')\n", + "plt.title('Average Answer Duration for Each Participant Across Three Sessions')\n", + "plt.ylabel('Average Answer Duration (seconds)')\n", + "plt.xlabel('Participant')\n", + "plt.xticks(rotation=45)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", @@ -14,7 +61,47 @@ "id": "dae37082-838c-4a81-8855-f8073dfd7f72", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport warnings\n\nwarnings.filterwarnings('ignore')\n\nOUTPUT = '../data/group_results'\n\n# load duration data\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\n# pivot by session\naverage_durations = duration_df.set_index('Participant')\naverage_durations.columns = ['Session 01', 'Session 02', 'Session 03']\n\nprint(\"Average durations (seconds):\")\nprint(average_durations)\n\n# plot averages\nfig, ax = plt.subplots(figsize=(15, 8))\nsns.lineplot(data=average_durations.T, markers=True, dashes=False, ax=ax)\n\n# reference lines\nax.axhline(y=300, color='blue', linestyle=':', label='Normal')\nax.axhline(y=600, color='purple', linestyle=':', label='Moderate Duration')\nax.axhline(y=900, color='green', linestyle=':', label='High Duration')\n\n# merge legend handles\nhandles, labels = ax.get_legend_handles_labels()\nax.legend(handles, labels, title='Participant / Duration Levels')\n\nplt.title('Average Answer Duration for Each Participant Across Three Sessions')\nplt.ylabel('Average Answer Duration (seconds)')\nplt.xlabel('Session')\nplt.xticks(rotation=45)\nplt.grid(axis='y', linestyle='--', alpha=0.7)\nplt.show()\nplt.close()" + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import warnings\n", + "\n", + "warnings.filterwarnings('ignore')\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load duration data\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "# pivot by session\n", + "average_durations = duration_df.set_index('Participant')\n", + "average_durations.columns = ['Session 01', 'Session 02', 'Session 03']\n", + "\n", + "print(\"Average durations (seconds):\")\n", + "print(average_durations)\n", + "\n", + "# plot averages\n", + "fig, ax = plt.subplots(figsize=(15, 8))\n", + "sns.lineplot(data=average_durations.T, markers=True, dashes=False, ax=ax)\n", + "\n", + "# reference lines\n", + "ax.axhline(y=300, color='blue', linestyle=':', label='Normal')\n", + "ax.axhline(y=600, color='purple', linestyle=':', label='Moderate Duration')\n", + "ax.axhline(y=900, color='green', linestyle=':', label='High Duration')\n", + "\n", + "# merge legend handles\n", + "handles, labels = ax.get_legend_handles_labels()\n", + "ax.legend(handles, labels, title='Participant / Duration Levels')\n", + "\n", + "plt.title('Average Answer Duration for Each Participant Across Three Sessions')\n", + "plt.ylabel('Average Answer Duration (seconds)')\n", + "plt.xlabel('Session')\n", + "plt.xticks(rotation=45)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", @@ -24,14 +111,57 @@ "scrolled": true }, "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport warnings\n\nwarnings.filterwarnings('ignore')\n\nOUTPUT = '../data/group_results'\n\n# load duration data\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\n# pivot by session\nstd_durations = duration_df.set_index('Participant')\nstd_durations.columns = ['Session 01', 'Session 02', 'Session 03']\n\nprint(\"Standard deviations (seconds):\")\nprint(std_durations)\n\n# transpose for plotting\nstd_durations = std_durations.T\n\n# plot std deviations\nfig, ax = plt.subplots(figsize=(15, 8))\nsns.lineplot(data=std_durations, markers=True, dashes=False, ax=ax)\n\n# reference lines\nax.axhline(y=300, color='blue', linestyle=':', label='Normal')\nax.axhline(y=600, color='purple', linestyle=':', label='Moderate Duration')\nax.axhline(y=900, color='green', linestyle=':', label='High Duration')\n\n# merge legend handles\nhandles, labels = ax.get_legend_handles_labels()\nax.legend(handles, labels, title='Participant / Duration Levels')\n\nplt.title('Standard Deviation of Answer Duration for Each Participant Across Three Sessions')\nplt.ylabel('Standard Deviation of Answer Duration (seconds)')\nplt.xlabel('Session')\nplt.xticks(rotation=45)\nplt.grid(axis='y', linestyle='--', alpha=0.7)\nplt.show()\nplt.close()" + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import warnings\n", + "\n", + "warnings.filterwarnings('ignore')\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load duration data\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "# pivot by session\n", + "std_durations = duration_df.set_index('Participant')\n", + "std_durations.columns = ['Session 01', 'Session 02', 'Session 03']\n", + "\n", + "print(\"Standard deviations (seconds):\")\n", + "print(std_durations)\n", + "\n", + "# transpose for plotting\n", + "std_durations = std_durations.T\n", + "\n", + "# plot std deviations\n", + "fig, ax = plt.subplots(figsize=(15, 8))\n", + "sns.lineplot(data=std_durations, markers=True, dashes=False, ax=ax)\n", + "\n", + "# reference lines\n", + "ax.axhline(y=300, color='blue', linestyle=':', label='Normal')\n", + "ax.axhline(y=600, color='purple', linestyle=':', label='Moderate Duration')\n", + "ax.axhline(y=900, color='green', linestyle=':', label='High Duration')\n", + "\n", + "# merge legend handles\n", + "handles, labels = ax.get_legend_handles_labels()\n", + "ax.legend(handles, labels, title='Participant / Duration Levels')\n", + "\n", + "plt.title('Standard Deviation of Answer Duration for Each Participant Across Three Sessions')\n", + "plt.ylabel('Standard Deviation of Answer Duration (seconds)')\n", + "plt.xlabel('Session')\n", + "plt.xticks(rotation=45)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.show()\n", + "plt.close()" + ] } ], "metadata": { "kernelspec": { - "display_name": "pdf_processing", + "display_name": "Python 3", "language": "python", - "name": "pdf_processing" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -48,4 +178,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/group/Group Correlation Matrix.ipynb b/group/Group Correlation Matrix.ipynb deleted file mode 100755 index a4dfe51..0000000 --- a/group/Group Correlation Matrix.ipynb +++ /dev/null @@ -1,49 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "fc01ce5e-4428-4d17-8b76-e686ca1dcbd3", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nOUTPUT = '../data/group_results'\n\n# load csv results\nhrv_results_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\npupil_results_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\nduration_results_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\n# combine with suffixes\ncombined_results = pd.concat([\n hrv_results_df.set_index('Participant').add_suffix('_HRV_SDNN'),\n pupil_results_df.set_index('Participant').add_suffix('_Pupil_STD'),\n duration_results_df.set_index('Participant').add_suffix('_Duration_STD'),\n], axis=1)\n\n# correlation matrix\ncorrelation_matrix = combined_results.corr(method='spearman')\n\n# plot heatmap\nplt.figure(figsize=(12, 10))\nsns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=\".2f\")\nplt.title('Correlation Matrix of HRV SDNN, Pupil Dilation STD, and Duration STD')\nplt.show()\nplt.close()" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7e1d1e66-c067-4f04-aa2d-75f049f98e1e", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nOUTPUT = '../data/group_results'\n\n# load hrv + pupil\nhrv_results_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\npupil_results_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\n\n# indexed lookup\nhrv_idx = hrv_results_df.set_index('Participant')\npupil_idx = pupil_results_df.set_index('Participant')\n\nfor pid in hrv_idx.index:\n for s in [1, 2, 3]:\n col = f'Session {s:02d}'\n print(f\"Participant {pid}, Session {s}, HRV SDNN: {hrv_idx.loc[pid, col]:.2f}\")\n print(f\"Participant {pid}, Session {s}, Pupil Dilation STD: {pupil_idx.loc[pid, col]:.2f}\")\n\n# combine with suffixes\ncombined_results = pd.concat([\n hrv_results_df.set_index('Participant').add_suffix('_HRV_SDNN'),\n pupil_results_df.set_index('Participant').add_suffix('_Pupil_STD'),\n], axis=1)\n\n# correlation matrix\ncorrelation_matrix = combined_results.corr(method='spearman')\n\n# plot heatmap\nplt.figure(figsize=(10, 8))\nsns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=\".2f\")\nplt.title('Correlation Matrix of HRV SDNN and Pupil Dilation STD')\nplt.show()\nplt.close()" - }, - { - "cell_type": "code", - "id": "panyy1gp0ur", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy import stats\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nOUTPUT = '../data/group_results'\n\n# load data\nhrv_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv').set_index('Participant')\npupil_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv').set_index('Participant')\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv').set_index('Participant')\n\n# combine all\ncombined = pd.concat([\n hrv_df.add_suffix('_HRV_SDNN'),\n pupil_df.add_suffix('_Pupil_STD'),\n duration_df.add_suffix('_Duration_STD'),\n], axis=1)\n\ncols = combined.columns\nn = len(cols)\n\n# correlation with p-values\nr_matrix = np.zeros((n, n))\np_matrix = np.zeros((n, n))\n\nfor i in range(n):\n for j in range(n):\n r, p = stats.pearsonr(combined.iloc[:, i], combined.iloc[:, j])\n r_matrix[i, j] = r\n p_matrix[i, j] = p\n\nr_df = pd.DataFrame(r_matrix, index=cols, columns=cols)\np_df = pd.DataFrame(p_matrix, index=cols, columns=cols)\n\n# annotation with significance stars\nannot = np.empty_like(r_matrix, dtype=object)\nfor i in range(n):\n for j in range(n):\n stars = \"***\" if p_df.iloc[i, j] < 0.001 else \"**\" if p_df.iloc[i, j] < 0.01 else \"*\" if p_df.iloc[i, j] < 0.05 else \"\"\n annot[i, j] = f\"{r_df.iloc[i, j]:.2f}{stars}\"\n\n# plot heatmap\nplt.figure(figsize=(14, 11))\nsns.heatmap(r_df, annot=annot, fmt='', cmap='coolwarm', vmin=-1, vmax=1, center=0)\nplt.title('Correlation Matrix with Significance (* p<.05, ** p<.01, *** p<.001)')\nplt.tight_layout()\nplt.show()\nplt.close()", - "metadata": {}, - "execution_count": null, - "outputs": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/group/Group Duration.ipynb b/group/Group Duration.ipynb deleted file mode 100755 index 4ba9fb9..0000000 --- a/group/Group Duration.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "9cf4e728-1f2f-4b52-a344-7913e354a0e1", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport matplotlib as mpl\n\nOUTPUT = '../data/group_results'\n\n# load duration data\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\nparticipants = duration_df['Participant'].tolist()\n\n# build stats dict\nstats = {}\nfor _, row in duration_df.iterrows():\n pid = row['Participant']\n session_data = pd.DataFrame({\n 'Session': ['S01', 'S02', 'S03'],\n 'STD of Duration (s)': [row['Session 01'], row['Session 02'], row['Session 03']]\n })\n stats[pid] = session_data\n\n# plot STD duration\ndef plot_std_duration(stats, title):\n fig, ax = plt.subplots()\n colors = mpl.colormaps['tab10']\n \n for i, p_str in enumerate(stats):\n x = stats[p_str]['Session']\n y_std = stats[p_str]['STD of Duration (s)']\n ax.plot(x, y_std, marker='o', label=f'{p_str} - STD of Duration (s)', color=colors(i))\n \n plt.title(title)\n plt.ylabel('Time (seconds)')\n plt.xlabel('Session')\n plt.legend()\n plt.grid(True)\n plt.show()\n plt.close()\n\nplot_std_duration(stats, 'STD of Duration by Session (10 Participants)')\n\nfor p_str in stats:\n print(f\"Statistics for {p_str}:\\n\", stats[p_str])" - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python [conda env:base] *", - "language": "python", - "name": "conda-base-py" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/group/Group Eye.ipynb b/group/Group Eye.ipynb deleted file mode 100755 index eaf15ea..0000000 --- a/group/Group Eye.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "f648e1a5-8777-489e-a303-e578f4284bef", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nOUTPUT = '../data/group_results'\n\n# load pupil data\nresults_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\n\nprint(results_df)\n\n# plot standard deviations\nax = results_df.set_index('Participant').plot(figsize=(15, 8), marker='o')\n\nplt.title('Standard Deviation of Pupil Dilation for Each Participant Across Three Sessions')\nplt.ylabel('Standard Deviation of Pupil Dilation')\nplt.xlabel('Participant')\nplt.xticks(rotation=45)\nplt.grid(axis='y', linestyle='--', alpha=0.7)\n\n# reference lines\nax.axhline(y=0.1, color='blue', linestyle=':', label='Normal')\nax.axhline(y=0.2, color='purple', linestyle=':', label='Moderate Variation')\nax.axhline(y=0.3, color='green', linestyle=':', label='High Variation')\n\n# merge legend handles\nhandles, labels = ax.get_legend_handles_labels()\nax.legend(handles, labels, title='Session / Pupil Dilation Levels')\nplt.show()\nplt.close()" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/group/Group HRV.ipynb b/group/Group HRV.ipynb deleted file mode 100755 index 04ebcd8..0000000 --- a/group/Group HRV.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "873a74e8-b192-4cd1-9181-f42b24e340c3", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nOUTPUT = '../data/group_results'\n\n# load hrv data\nresults_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\n\nprint(results_df)\n\n# plot standard deviations\nax = results_df.set_index('Participant').plot(figsize=(15, 8), marker='o')\n\nplt.title('Standard Deviation of HRV (SDNN) for Each Participant Across Three Sessions')\nplt.ylabel('Standard Deviation of HRV (SDNN) (ms)')\nplt.xlabel('Participant')\nplt.xticks(rotation=45)\nplt.grid(axis='y', linestyle='--', alpha=0.7)\n\n# reference lines\nax.axhline(y=50, color='blue', linestyle=':', label='Normal SDNN')\nax.axhline(y=100, color='purple', linestyle=':', label='Moderate SDNN')\nax.axhline(y=150, color='green', linestyle=':', label='High SDNN')\n\n# merge legend handles\nhandles, labels = ax.get_legend_handles_labels()\nax.legend(handles, labels, title='Session / HRV Levels')\nplt.show()\nplt.close()" - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python [conda env:base] *", - "language": "python", - "name": "conda-base-py" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/group/Group SD.ipynb b/group/Group SD.ipynb deleted file mode 100755 index e933bfb..0000000 --- a/group/Group SD.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "f49bbf98-6722-473e-98f8-035c65362383", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nOUTPUT = '../data/group_results'\n\n# load duration data\nresults_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\nprint(results_df)\n\n# plot standard deviations\nax = results_df.set_index('Participant').plot(figsize=(15, 8), marker='o')\n\nplt.title('Standard Deviation of Psychometric Test Duration for Each Participant Across Three Sessions')\nplt.ylabel('Standard Deviation of Test Duration (seconds)')\nplt.xlabel('Participant')\nplt.xticks(rotation=45)\nplt.grid(axis='y', linestyle='--', alpha=0.7)\n\n# reference lines\nax.axhline(y=30, color='blue', linestyle=':', label='Normal')\nax.axhline(y=60, color='purple', linestyle=':', label='Moderate Variation')\nax.axhline(y=90, color='green', linestyle=':', label='High Variation')\n\n# merge legend handles\nhandles, labels = ax.get_legend_handles_labels()\nax.legend(handles, labels, title='Session / Duration Levels')\nplt.show()\nplt.close()" - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python [conda env:base] *", - "language": "python", - "name": "conda-base-py" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/group/Group Time.ipynb b/group/Group Time.ipynb deleted file mode 100755 index fbcd489..0000000 --- a/group/Group Time.ipynb +++ /dev/null @@ -1,43 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "03c87567-033a-4a6a-9cbf-9bb6ef4dd361", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nOUTPUT = '../data/group_results'\n\n# load duration data\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\n# build session stats\nrows = []\nfor _, row in duration_df.iterrows():\n for s_idx, s_name in enumerate(['Session 01', 'Session 02', 'Session 03'], 1):\n rows.append({\n 'Participant': row['Participant'],\n 'Session': f'Session {s_idx:02d}',\n 'Count': '-',\n 'Duration STD (s)': round(row[s_name], 2)\n })\n\nsession_stats = pd.DataFrame(rows)\n\nprint(\"Duration STD During 3 Sessions for Each Participant\")\nprint(session_stats.to_string(index=False))\n\n# convert to numeric\nsession_stats['Duration STD (s)'] = pd.to_numeric(session_stats['Duration STD (s)'])\n\n# visualize results bar\nplt.figure(figsize=(15, 8))\nsns.barplot(x='Session', y='Duration STD (s)', hue='Participant', data=session_stats, errorbar=None)\nplt.title('Duration STD for Each Session by Participant')\nplt.ylabel('Duration STD (s)')\nplt.xlabel('Session')\nplt.legend(title='Participant', bbox_to_anchor=(1.05, 1), loc='upper left')\nsns.despine(trim=True)\nplt.grid(axis='y', linestyle='--', alpha=0.7)\nplt.show()\nplt.close()\n\n# plot per participant\nsns.catplot(x='Session', y='Duration STD (s)', col='Participant', data=session_stats, kind='bar', col_wrap=4, height=4, aspect=1)\nplt.subplots_adjust(top=0.9)\nplt.suptitle('Duration STD for Each Session by Participant')\nplt.show()\nplt.close()" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "520fa50f-44ab-4525-bc34-18e9d263d65e", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.cluster import KMeans\n\nOUTPUT = '../data/group_results'\n\n# load duration data\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\n# pivot by session\nmean_durations = duration_df.set_index('Participant')\nmean_durations.columns = ['Session 01', 'Session 02', 'Session 03']\n\n# standardize data\nscaler = StandardScaler()\nmean_durations_scaled = scaler.fit_transform(mean_durations)\n\n# kmeans clustering\nkmeans = KMeans(n_clusters=3, n_init=10, random_state=42)\nclusters = kmeans.fit_predict(mean_durations_scaled)\n\n# add cluster labels\nmean_durations['Cluster'] = clusters\n\n# build session stats\nrows = []\nfor _, row in duration_df.iterrows():\n for s_idx, s_name in enumerate(['Session 01', 'Session 02', 'Session 03'], 1):\n rows.append({\n 'Participant': row['Participant'],\n 'Session': f'Session {s_idx:02d}',\n 'Count': '-',\n 'Duration STD (s)': round(row[s_name], 2)\n })\n\nsession_stats = pd.DataFrame(rows)\n\nprint(\"Duration STD During 3 Sessions for Each Participant\")\nprint(session_stats.to_string(index=False))\n\n# convert to numeric\nsession_stats['Duration STD (s)'] = pd.to_numeric(session_stats['Duration STD (s)'])\n\n# plot clusters heatmap\nplt.figure(figsize=(10, 6))\nsns.heatmap(mean_durations.drop('Cluster', axis=1).assign(Cluster=clusters).sort_values('Cluster').drop('Cluster', axis=1), annot=True, cmap='coolwarm', center=0)\nplt.title('Participant Clusters Based on Answer Duration Patterns')\nplt.show()\nplt.close()\n\n# cluster assignments\nprint(\"Cluster Assignments:\")\nprint(mean_durations[['Cluster']].reset_index())\n\n# visualize clusters\nplt.figure(figsize=(15, 8))\nfor cluster in range(kmeans.n_clusters):\n participants_in_cluster = mean_durations[mean_durations['Cluster'] == cluster].index\n cluster_data = mean_durations.loc[participants_in_cluster].drop('Cluster', axis=1).T\n for i, participant in enumerate(cluster_data.columns):\n label = f'Cluster {cluster+1}' if i == 0 else '_nolegend_'\n sns.lineplot(data=cluster_data[participant], label=label, marker='o')\n\nplt.title('Duration STD Across Sessions by Clusters')\nplt.ylabel('Duration STD (s)')\nplt.xlabel('Session')\nplt.legend(title='Cluster', bbox_to_anchor=(1.05, 1), loc='upper left')\nplt.grid(axis='y', linestyle='--', alpha=0.7)\nplt.show()\nplt.close()\n\n# visualize results bar\nplt.figure(figsize=(15, 8))\nsns.barplot(x='Session', y='Duration STD (s)', hue='Participant', data=session_stats, errorbar=None)\nplt.title('Duration STD for Each Session by Participant')\nplt.ylabel('Duration STD (s)')\nplt.xlabel('Session')\nplt.legend(title='Participant', bbox_to_anchor=(1.05, 1), loc='upper left')\nsns.despine(trim=True)\nplt.grid(axis='y', linestyle='--', alpha=0.7)\nplt.show()\nplt.close()\n\n# plot per participant\nsns.catplot(x='Session', y='Duration STD (s)', col='Participant', data=session_stats, kind='bar', col_wrap=4, height=4, aspect=1)\nplt.subplots_adjust(top=0.9)\nplt.suptitle('Duration STD for Each Session by Participant')\nplt.show()\nplt.close()" - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python [conda env:base] *", - "language": "python", - "name": "conda-base-py" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/group/Group.ipynb b/group/Group.ipynb deleted file mode 100755 index 50431ea..0000000 --- a/group/Group.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "c4d36a62-d66f-46de-bc39-ed23aedf61a7", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport seaborn as sns\nimport matplotlib.pyplot as plt\n\nOUTPUT = '../data/group_results'\n\n# load csv data\nhrv = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\npupil = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\n\n# melt and merge\nhrv_melted = hrv.melt(id_vars='Participant', var_name='Session', value_name='HRV_SDNN')\npupil_melted = pupil.melt(id_vars='Participant', var_name='Session', value_name='Pupil_STD')\ndf = hrv_melted.merge(pupil_melted, on=['Participant', 'Session'])\n\ndf_pivot = df.pivot(index='Participant', columns='Session', values=['HRV_SDNN', 'Pupil_STD'])\n\n# correlation matrix\ncorrelation_matrix = df_pivot.corr(method='spearman')\n\n# plot heatmap\nplt.figure(figsize=(12, 10))\nsns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=\".2f\", vmin=-1, vmax=1, center=0)\nplt.title('Spearman Correlation Matrix of HRV SDNN and Pupil Dilation STD')\nplt.savefig(f'{OUTPUT}/correlation_heatmap_with_values_final.png', dpi=150, bbox_inches='tight')\nplt.show()\nplt.close()" - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python [conda env:base] *", - "language": "python", - "name": "conda-base-py" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/group/Group_Analysis.ipynb b/group/Group_Analysis.ipynb index cc373f2..23cc1d0 100755 --- a/group/Group_Analysis.ipynb +++ b/group/Group_Analysis.ipynb @@ -1,12 +1,66 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "f350ea54", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Group Analysis\n", + "\n", + "Full-cohort psychometric + physiology analysis across 10 participants.\n", + "\n", + "**Reads:** `data/group_results/ (10-participant summaries)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, { "cell_type": "code", "execution_count": null, "id": "2ad06e9b-63f3-4e1f-a5af-af663dc39830", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\n\nOUTPUT = '../data/group_results'\n\n# load csv results\nhrv_results_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\npupil_results_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\nduration_results_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\n# indexed lookup\nhrv_idx = hrv_results_df.set_index('Participant')\npupil_idx = pupil_results_df.set_index('Participant')\ndur_idx = duration_results_df.set_index('Participant')\n\nfor pid in hrv_idx.index:\n for s in [1, 2, 3]:\n col = f'Session {s:02d}'\n print(f\"{pid}, Session {s} — HRV SDNN: {hrv_idx.loc[pid, col]:.2f}, Pupil STD: {pupil_idx.loc[pid, col]:.2f}, Duration STD: {dur_idx.loc[pid, col]:.2f}s\")\n\n# plot results\nfig, axes = plt.subplots(3, 1, figsize=(15, 12))\n\nfor ax, df, title, ylabel in zip(axes,\n [hrv_results_df, pupil_results_df, duration_results_df],\n ['Standard Deviation of HRV (SDNN) for Each Participant Across Three Sessions',\n 'Standard Deviation of Pupil Dilation for Each Participant Across Three Sessions',\n 'Standard Deviation of Psychometric Test Duration for Each Participant Across Three Sessions'],\n ['SDNN (ms)', 'Pupil Dilation STD', 'Duration STD (seconds)']):\n\n df.set_index('Participant').plot(ax=ax, marker='o')\n ax.set_title(title)\n ax.set_ylabel(ylabel)\n ax.grid(axis='y', linestyle='--', alpha=0.7)\n\nplt.tight_layout()\nplt.show()\nplt.close()" + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load csv results\n", + "hrv_results_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\n", + "pupil_results_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\n", + "duration_results_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "# indexed lookup\n", + "hrv_idx = hrv_results_df.set_index('Participant')\n", + "pupil_idx = pupil_results_df.set_index('Participant')\n", + "dur_idx = duration_results_df.set_index('Participant')\n", + "\n", + "for pid in hrv_idx.index:\n", + " for s in [1, 2, 3]:\n", + " col = f'Session {s:02d}'\n", + " print(f\"{pid}, Session {s} — HRV SDNN: {hrv_idx.loc[pid, col]:.2f}, Pupil STD: {pupil_idx.loc[pid, col]:.2f}, Duration STD: {dur_idx.loc[pid, col]:.2f}s\")\n", + "\n", + "# plot results\n", + "fig, axes = plt.subplots(3, 1, figsize=(15, 12))\n", + "\n", + "for ax, df, title, ylabel in zip(axes,\n", + " [hrv_results_df, pupil_results_df, duration_results_df],\n", + " ['Standard Deviation of HRV (SDNN) for Each Participant Across Three Sessions',\n", + " 'Standard Deviation of Pupil Dilation for Each Participant Across Three Sessions',\n", + " 'Standard Deviation of Psychometric Test Duration for Each Participant Across Three Sessions'],\n", + " ['SDNN (ms)', 'Pupil Dilation STD', 'Duration STD (seconds)']):\n", + "\n", + " df.set_index('Participant').plot(ax=ax, marker='o')\n", + " ax.set_title(title)\n", + " ax.set_ylabel(ylabel)\n", + " ax.grid(axis='y', linestyle='--', alpha=0.7)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", @@ -14,38 +68,351 @@ "id": "a0baf20d-a1f8-4591-981f-989b8eff8925", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport warnings\n\nwarnings.filterwarnings('ignore', category=FutureWarning, module='seaborn')\n\nOUTPUT = '../data/group_results'\n\n# load duration data\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\n# pivot by session\nstd_durations = duration_df.set_index('Participant')\nstd_durations.columns = ['Session 01', 'Session 02', 'Session 03']\n\nprint(\"Standard deviations (seconds):\")\nprint(std_durations)\n\n# transpose for plotting\nstd_durations = std_durations.T\n\nfig, ax = plt.subplots(figsize=(15, 8))\nsns.lineplot(data=std_durations, markers=True, dashes=False, ax=ax)\n\n# reference lines\nax.axhline(y=300, color='blue', linestyle=':', label='Normal')\nax.axhline(y=600, color='purple', linestyle=':', label='Moderate Duration')\nax.axhline(y=900, color='green', linestyle=':', label='High Duration')\n\n# merge legend handles\nhandles, labels = ax.get_legend_handles_labels()\nax.legend(handles, labels, title='Participant / Duration Levels')\n\nplt.title('Standard Deviation of Answer Duration for Each Participant Across Three Sessions')\nplt.ylabel('Standard Deviation of Answer Duration (seconds)')\nplt.xlabel('Session')\nplt.xticks(rotation=45)\nplt.grid(axis='y', linestyle='--', alpha=0.7)\nplt.show()\nplt.close()" + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import warnings\n", + "\n", + "warnings.filterwarnings('ignore', category=FutureWarning, module='seaborn')\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load duration data\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "# pivot by session\n", + "std_durations = duration_df.set_index('Participant')\n", + "std_durations.columns = ['Session 01', 'Session 02', 'Session 03']\n", + "\n", + "print(\"Standard deviations (seconds):\")\n", + "print(std_durations)\n", + "\n", + "# transpose for plotting\n", + "std_durations = std_durations.T\n", + "\n", + "fig, ax = plt.subplots(figsize=(15, 8))\n", + "sns.lineplot(data=std_durations, markers=True, dashes=False, ax=ax)\n", + "\n", + "# reference lines\n", + "ax.axhline(y=300, color='blue', linestyle=':', label='Normal')\n", + "ax.axhline(y=600, color='purple', linestyle=':', label='Moderate Duration')\n", + "ax.axhline(y=900, color='green', linestyle=':', label='High Duration')\n", + "\n", + "# merge legend handles\n", + "handles, labels = ax.get_legend_handles_labels()\n", + "ax.legend(handles, labels, title='Participant / Duration Levels')\n", + "\n", + "plt.title('Standard Deviation of Answer Duration for Each Participant Across Three Sessions')\n", + "plt.ylabel('Standard Deviation of Answer Duration (seconds)')\n", + "plt.xlabel('Session')\n", + "plt.xticks(rotation=45)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", + "execution_count": null, "id": "us254hio62", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy import stats\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nOUTPUT = '../data/group_results'\n\n# load data\nhrv_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv').set_index('Participant')\npupil_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv').set_index('Participant')\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv').set_index('Participant')\n\nmetrics = {\n 'HRV SDNN (ms)': hrv_df,\n 'Pupil Dilation STD': pupil_df,\n 'Duration STD (s)': duration_df\n}\n\n# --- normality tests ---\nprint(\"=== Shapiro-Wilk Normality Tests ===\\n\")\nfor name, df in metrics.items():\n for col in df.columns:\n stat, p = stats.shapiro(df[col].dropna())\n normal = \"normal\" if p > 0.05 else \"non-normal\"\n print(f\"{name} {col}: W={stat:.3f}, p={p:.3f} ({normal})\")\n print()\n\n# --- repeated measures (Friedman test) ---\nprint(\"=== Friedman Test (repeated measures) ===\\n\")\nfor name, df in metrics.items():\n s1, s2, s3 = df.iloc[:, 0], df.iloc[:, 1], df.iloc[:, 2]\n stat, p = stats.friedmanchisquare(s1, s2, s3)\n sig = \"*\" if p < 0.05 else \"ns\"\n print(f\"{name}: chi2={stat:.3f}, p={p:.3f} {sig}\")\nprint()\n\n# --- pairwise Wilcoxon tests ---\nprint(\"=== Pairwise Wilcoxon Signed-Rank Tests ===\\n\")\nfrom itertools import combinations\npairs = list(combinations(range(3), 2))\n\nfor name, df in metrics.items():\n print(f\"--- {name} ---\")\n p_values = []\n for i, j in pairs:\n stat, p = stats.wilcoxon(df.iloc[:, i], df.iloc[:, j])\n p_values.append(p)\n\n # Holm-Bonferroni correction\n sorted_idx = np.argsort(p_values)\n corrected = np.zeros(len(p_values))\n m = len(p_values)\n for rank, idx in enumerate(sorted_idx):\n corrected[idx] = min(p_values[idx] * (m - rank), 1.0)\n\n for k, (i, j) in enumerate(pairs):\n sig = \"*\" if corrected[k] < 0.05 else \"ns\"\n print(f\" {df.columns[i]} vs {df.columns[j]}: p={p_values[k]:.3f}, p_corrected={corrected[k]:.3f} {sig}\")\n print()\n\n# --- Cohen's d effect sizes ---\nprint(\"=== Cohen's d (Session pairs) ===\\n\")\ndef cohens_d(x, y):\n nx, ny = len(x), len(y)\n pooled_std = np.sqrt(((nx-1)*x.std()**2 + (ny-1)*y.std()**2) / (nx+ny-2))\n return (x.mean() - y.mean()) / pooled_std if pooled_std > 0 else 0.0\n\nfor name, df in metrics.items():\n print(f\"--- {name} ---\")\n for i, j in pairs:\n d = cohens_d(df.iloc[:, i], df.iloc[:, j])\n size = \"large\" if abs(d) >= 0.8 else \"medium\" if abs(d) >= 0.5 else \"small\"\n print(f\" {df.columns[i]} vs {df.columns[j]}: d={d:.3f} ({size})\")\n print()\n\n# --- 95% confidence intervals ---\nprint(\"=== 95% Confidence Intervals ===\\n\")\nfor name, df in metrics.items():\n print(f\"--- {name} ---\")\n for col in df.columns:\n data = df[col].dropna()\n n = len(data)\n mean = data.mean()\n se = data.std() / np.sqrt(n)\n ci = stats.t.interval(0.95, df=n-1, loc=mean, scale=se)\n print(f\" {col}: mean={mean:.3f}, 95% CI=[{ci[0]:.3f}, {ci[1]:.3f}]\")\n print()", "metadata": {}, - "execution_count": null, - "outputs": [] + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy import stats\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load data\n", + "hrv_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv').set_index('Participant')\n", + "pupil_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv').set_index('Participant')\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv').set_index('Participant')\n", + "\n", + "metrics = {\n", + " 'HRV SDNN (ms)': hrv_df,\n", + " 'Pupil Dilation STD': pupil_df,\n", + " 'Duration STD (s)': duration_df\n", + "}\n", + "\n", + "# --- normality tests ---\n", + "print(\"=== Shapiro-Wilk Normality Tests ===\\n\")\n", + "for name, df in metrics.items():\n", + " for col in df.columns:\n", + " stat, p = stats.shapiro(df[col].dropna())\n", + " normal = \"normal\" if p > 0.05 else \"non-normal\"\n", + " print(f\"{name} {col}: W={stat:.3f}, p={p:.3f} ({normal})\")\n", + " print()\n", + "\n", + "# --- repeated measures (Friedman test) ---\n", + "print(\"=== Friedman Test (repeated measures) ===\\n\")\n", + "for name, df in metrics.items():\n", + " s1, s2, s3 = df.iloc[:, 0], df.iloc[:, 1], df.iloc[:, 2]\n", + " stat, p = stats.friedmanchisquare(s1, s2, s3)\n", + " sig = \"*\" if p < 0.05 else \"ns\"\n", + " print(f\"{name}: chi2={stat:.3f}, p={p:.3f} {sig}\")\n", + "print()\n", + "\n", + "# --- pairwise Wilcoxon tests ---\n", + "print(\"=== Pairwise Wilcoxon Signed-Rank Tests ===\\n\")\n", + "from itertools import combinations\n", + "pairs = list(combinations(range(3), 2))\n", + "\n", + "for name, df in metrics.items():\n", + " print(f\"--- {name} ---\")\n", + " p_values = []\n", + " for i, j in pairs:\n", + " stat, p = stats.wilcoxon(df.iloc[:, i], df.iloc[:, j])\n", + " p_values.append(p)\n", + "\n", + " # Holm-Bonferroni correction\n", + " sorted_idx = np.argsort(p_values)\n", + " corrected = np.zeros(len(p_values))\n", + " m = len(p_values)\n", + " for rank, idx in enumerate(sorted_idx):\n", + " corrected[idx] = min(p_values[idx] * (m - rank), 1.0)\n", + "\n", + " for k, (i, j) in enumerate(pairs):\n", + " sig = \"*\" if corrected[k] < 0.05 else \"ns\"\n", + " print(f\" {df.columns[i]} vs {df.columns[j]}: p={p_values[k]:.3f}, p_corrected={corrected[k]:.3f} {sig}\")\n", + " print()\n", + "\n", + "# --- Cohen's d effect sizes ---\n", + "print(\"=== Cohen's d (Session pairs) ===\\n\")\n", + "def cohens_d(x, y):\n", + " nx, ny = len(x), len(y)\n", + " pooled_std = np.sqrt(((nx-1)*x.std()**2 + (ny-1)*y.std()**2) / (nx+ny-2))\n", + " return (x.mean() - y.mean()) / pooled_std if pooled_std > 0 else 0.0\n", + "\n", + "for name, df in metrics.items():\n", + " print(f\"--- {name} ---\")\n", + " for i, j in pairs:\n", + " d = cohens_d(df.iloc[:, i], df.iloc[:, j])\n", + " size = \"large\" if abs(d) >= 0.8 else \"medium\" if abs(d) >= 0.5 else \"small\"\n", + " print(f\" {df.columns[i]} vs {df.columns[j]}: d={d:.3f} ({size})\")\n", + " print()\n", + "\n", + "# --- 95% confidence intervals ---\n", + "print(\"=== 95% Confidence Intervals ===\\n\")\n", + "for name, df in metrics.items():\n", + " print(f\"--- {name} ---\")\n", + " for col in df.columns:\n", + " data = df[col].dropna()\n", + " n = len(data)\n", + " mean = data.mean()\n", + " se = data.std() / np.sqrt(n)\n", + " ci = stats.t.interval(0.95, df=n-1, loc=mean, scale=se)\n", + " print(f\" {col}: mean={mean:.3f}, 95% CI=[{ci[0]:.3f}, {ci[1]:.3f}]\")\n", + " print()" + ] }, { "cell_type": "code", + "execution_count": null, "id": "dul8xt7omfk", - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nOUTPUT = '../data/group_results'\n\n# load data\nhrv_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\npupil_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n\n# melt to long format\ndef melt_df(df, value_name):\n return df.melt(id_vars='Participant', var_name='Session', value_name=value_name)\n\nhrv_long = melt_df(hrv_df, 'HRV SDNN (ms)')\npupil_long = melt_df(pupil_df, 'Pupil Dilation STD')\nduration_long = melt_df(duration_df, 'Duration STD (s)')\n\n# violin plots\nfig, axes = plt.subplots(1, 3, figsize=(18, 6))\n\nfor ax, data, col, title in zip(axes,\n [hrv_long, pupil_long, duration_long],\n ['HRV SDNN (ms)', 'Pupil Dilation STD', 'Duration STD (s)'],\n ['HRV SDNN', 'Pupil Dilation STD', 'Duration STD']):\n\n sns.violinplot(data=data, x='Session', y=col, ax=ax, inner='box', palette='Set2')\n sns.stripplot(data=data, x='Session', y=col, ax=ax, color='black', alpha=0.5, size=4)\n ax.set_title(title)\n ax.grid(axis='y', linestyle='--', alpha=0.5)\n\nplt.suptitle('Distribution of Biometric Metrics Across Sessions', y=1.02)\nplt.tight_layout()\nplt.show()\nplt.close()", "metadata": {}, - "execution_count": null, - "outputs": [] + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load data\n", + "hrv_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\n", + "pupil_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "# melt to long format\n", + "def melt_df(df, value_name):\n", + " return df.melt(id_vars='Participant', var_name='Session', value_name=value_name)\n", + "\n", + "hrv_long = melt_df(hrv_df, 'HRV SDNN (ms)')\n", + "pupil_long = melt_df(pupil_df, 'Pupil Dilation STD')\n", + "duration_long = melt_df(duration_df, 'Duration STD (s)')\n", + "\n", + "# violin plots\n", + "fig, axes = plt.subplots(1, 3, figsize=(18, 6))\n", + "\n", + "for ax, data, col, title in zip(axes,\n", + " [hrv_long, pupil_long, duration_long],\n", + " ['HRV SDNN (ms)', 'Pupil Dilation STD', 'Duration STD (s)'],\n", + " ['HRV SDNN', 'Pupil Dilation STD', 'Duration STD']):\n", + "\n", + " sns.violinplot(data=data, x='Session', y=col, ax=ax, inner='box', palette='Set2')\n", + " sns.stripplot(data=data, x='Session', y=col, ax=ax, color='black', alpha=0.5, size=4)\n", + " ax.set_title(title)\n", + " ax.grid(axis='y', linestyle='--', alpha=0.5)\n", + "\n", + "plt.suptitle('Distribution of Biometric Metrics Across Sessions', y=1.02)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", + "execution_count": null, "id": "z8dswzoao2k", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy import stats\nimport matplotlib.pyplot as plt\n\nOUTPUT = '../data/group_results'\n\n# load data\nhrv_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv').set_index('Participant')\npupil_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv').set_index('Participant')\nduration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv').set_index('Participant')\n\nmetrics = {\n 'HRV SDNN': hrv_df,\n 'Pupil STD': pupil_df,\n 'Duration STD': duration_df\n}\n\n# --- Jonckheere-Terpstra trend test ---\ndef jonckheere_test(groups):\n k = len(groups)\n J = 0\n for i in range(k):\n for j in range(i+1, k):\n for xi in groups[i]:\n for xj in groups[j]:\n if xj > xi:\n J += 1\n elif xj == xi:\n J += 0.5\n \n # expected and variance\n ns = [len(g) for g in groups]\n N = sum(ns)\n E_J = (N**2 - sum(n**2 for n in ns)) / 4\n var_num = N**2 * (2*N + 3) - sum(n**2 * (2*n + 3) for n in ns)\n var_J = var_num / 72\n z = (J - E_J) / np.sqrt(var_J) if var_J > 0 else 0\n p = 2 * (1 - stats.norm.cdf(abs(z)))\n return J, z, p\n\nprint(\"=== Habituation Analysis (Trend Tests) ===\\n\")\nprint(\"Tests whether biometric variability decreases across sessions\\n\")\n\nfor name, df in metrics.items():\n groups = [df.iloc[:, i].dropna().values for i in range(3)]\n J, z, p = jonckheere_test(groups)\n \n means = [g.mean() for g in groups]\n direction = \"decreasing\" if means[2] < means[0] else \"increasing\"\n sig = \"*\" if p < 0.05 else \"ns\"\n \n print(f\"{name}: J={J:.0f}, z={z:.2f}, p={p:.3f} {sig}\")\n print(f\" Session means: {[f'{m:.2f}' for m in means]} ({direction})\")\n print()\n\n# --- participant profiling ---\nprint(\"=== Participant Stress Profiles ===\\n\")\n\nprofiles = []\nfor pid in hrv_df.index:\n hrv_vals = hrv_df.loc[pid].values\n pupil_vals = pupil_df.loc[pid].values\n dur_vals = duration_df.loc[pid].values\n \n # trend direction\n hrv_slope = np.polyfit(range(3), hrv_vals, 1)[0]\n pupil_slope = np.polyfit(range(3), pupil_vals, 1)[0]\n dur_slope = np.polyfit(range(3), dur_vals, 1)[0]\n \n # classify pattern\n if hrv_slope < 0 and pupil_slope < 0:\n pattern = \"habituating\"\n elif hrv_slope > 0 and pupil_slope > 0:\n pattern = \"sensitizing\"\n else:\n pattern = \"mixed\"\n \n # overall variability\n overall = np.mean([np.std(hrv_vals), np.std(pupil_vals), np.std(dur_vals)])\n \n profiles.append({\n 'Participant': pid,\n 'HRV slope': hrv_slope,\n 'Pupil slope': pupil_slope,\n 'Duration slope': dur_slope,\n 'Pattern': pattern,\n 'Variability': overall\n })\n\nprof_df = pd.DataFrame(profiles)\nprint(prof_df.to_string(index=False, float_format='%.3f'))\n\n# pattern counts\nprint(f\"\\nPatterns: {prof_df['Pattern'].value_counts().to_dict()}\")\n\n# --- trajectory plots ---\nfig, axes = plt.subplots(1, 3, figsize=(18, 6))\nsessions = ['S01', 'S02', 'S03']\n\nfor ax, (name, df) in zip(axes, metrics.items()):\n for pid in df.index:\n vals = df.loc[pid].values\n pattern = prof_df[prof_df['Participant'] == pid]['Pattern'].iloc[0]\n color = 'tab:blue' if pattern == 'habituating' else 'tab:red' if pattern == 'sensitizing' else 'tab:gray'\n alpha = 0.7 if pattern != 'mixed' else 0.3\n ax.plot(sessions, vals, 'o-', color=color, alpha=alpha, linewidth=1.5, label=pid)\n \n # group mean\n mean_vals = df.mean().values\n ax.plot(sessions, mean_vals, 's--', color='black', linewidth=2.5, markersize=10, label='Group Mean', zorder=10)\n \n ax.set_title(name)\n ax.set_ylabel(name)\n ax.grid(axis='y', linestyle='--', alpha=0.5)\n\n# legend\nfrom matplotlib.lines import Line2D\nlegend_elements = [\n Line2D([0], [0], color='tab:blue', label='Habituating'),\n Line2D([0], [0], color='tab:red', label='Sensitizing'),\n Line2D([0], [0], color='tab:gray', label='Mixed'),\n Line2D([0], [0], color='black', linestyle='--', marker='s', label='Group Mean')\n]\nfig.legend(handles=legend_elements, loc='lower center', ncol=4, bbox_to_anchor=(0.5, -0.05))\nplt.suptitle('Individual Trajectories Across Sessions (colored by adaptation pattern)')\nplt.tight_layout()\nplt.show()\nplt.close()\n\n# --- session change heatmap ---\nfig, ax = plt.subplots(figsize=(10, 8))\nchange_data = pd.DataFrame(index=hrv_df.index)\nfor name, df in metrics.items():\n change_data[f'{name}\\nS1→S2'] = ((df.iloc[:, 1] - df.iloc[:, 0]) / df.iloc[:, 0] * 100)\n change_data[f'{name}\\nS2→S3'] = ((df.iloc[:, 2] - df.iloc[:, 1]) / df.iloc[:, 1] * 100)\n\nimport seaborn as sns\nsns.heatmap(change_data, cmap='RdYlGn_r', center=0, annot=True, fmt='.0f',\n linewidths=0.5, cbar_kws={'label': '% Change'}, ax=ax)\nax.set_title('Session-to-Session % Change per Participant')\nplt.tight_layout()\nplt.show()\nplt.close()", "metadata": {}, - "execution_count": null, - "outputs": [] + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy import stats\n", + "import matplotlib.pyplot as plt\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load data\n", + "hrv_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv').set_index('Participant')\n", + "pupil_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv').set_index('Participant')\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv').set_index('Participant')\n", + "\n", + "metrics = {\n", + " 'HRV SDNN': hrv_df,\n", + " 'Pupil STD': pupil_df,\n", + " 'Duration STD': duration_df\n", + "}\n", + "\n", + "# --- Jonckheere-Terpstra trend test ---\n", + "def jonckheere_test(groups):\n", + " k = len(groups)\n", + " J = 0\n", + " for i in range(k):\n", + " for j in range(i+1, k):\n", + " for xi in groups[i]:\n", + " for xj in groups[j]:\n", + " if xj > xi:\n", + " J += 1\n", + " elif xj == xi:\n", + " J += 0.5\n", + " \n", + " # expected and variance\n", + " ns = [len(g) for g in groups]\n", + " N = sum(ns)\n", + " E_J = (N**2 - sum(n**2 for n in ns)) / 4\n", + " var_num = N**2 * (2*N + 3) - sum(n**2 * (2*n + 3) for n in ns)\n", + " var_J = var_num / 72\n", + " z = (J - E_J) / np.sqrt(var_J) if var_J > 0 else 0\n", + " p = 2 * (1 - stats.norm.cdf(abs(z)))\n", + " return J, z, p\n", + "\n", + "print(\"=== Habituation Analysis (Trend Tests) ===\\n\")\n", + "print(\"Tests whether biometric variability decreases across sessions\\n\")\n", + "\n", + "for name, df in metrics.items():\n", + " groups = [df.iloc[:, i].dropna().values for i in range(3)]\n", + " J, z, p = jonckheere_test(groups)\n", + " \n", + " means = [g.mean() for g in groups]\n", + " direction = \"decreasing\" if means[2] < means[0] else \"increasing\"\n", + " sig = \"*\" if p < 0.05 else \"ns\"\n", + " \n", + " print(f\"{name}: J={J:.0f}, z={z:.2f}, p={p:.3f} {sig}\")\n", + " print(f\" Session means: {[f'{m:.2f}' for m in means]} ({direction})\")\n", + " print()\n", + "\n", + "# --- participant profiling ---\n", + "print(\"=== Participant Stress Profiles ===\\n\")\n", + "\n", + "profiles = []\n", + "for pid in hrv_df.index:\n", + " hrv_vals = hrv_df.loc[pid].values\n", + " pupil_vals = pupil_df.loc[pid].values\n", + " dur_vals = duration_df.loc[pid].values\n", + " \n", + " # trend direction\n", + " hrv_slope = np.polyfit(range(3), hrv_vals, 1)[0]\n", + " pupil_slope = np.polyfit(range(3), pupil_vals, 1)[0]\n", + " dur_slope = np.polyfit(range(3), dur_vals, 1)[0]\n", + " \n", + " # classify pattern\n", + " if hrv_slope < 0 and pupil_slope < 0:\n", + " pattern = \"habituating\"\n", + " elif hrv_slope > 0 and pupil_slope > 0:\n", + " pattern = \"sensitizing\"\n", + " else:\n", + " pattern = \"mixed\"\n", + " \n", + " # overall variability\n", + " overall = np.mean([np.std(hrv_vals), np.std(pupil_vals), np.std(dur_vals)])\n", + " \n", + " profiles.append({\n", + " 'Participant': pid,\n", + " 'HRV slope': hrv_slope,\n", + " 'Pupil slope': pupil_slope,\n", + " 'Duration slope': dur_slope,\n", + " 'Pattern': pattern,\n", + " 'Variability': overall\n", + " })\n", + "\n", + "prof_df = pd.DataFrame(profiles)\n", + "print(prof_df.to_string(index=False, float_format='%.3f'))\n", + "\n", + "# pattern counts\n", + "print(f\"\\nPatterns: {prof_df['Pattern'].value_counts().to_dict()}\")\n", + "\n", + "# --- trajectory plots ---\n", + "fig, axes = plt.subplots(1, 3, figsize=(18, 6))\n", + "sessions = ['S01', 'S02', 'S03']\n", + "\n", + "for ax, (name, df) in zip(axes, metrics.items()):\n", + " for pid in df.index:\n", + " vals = df.loc[pid].values\n", + " pattern = prof_df[prof_df['Participant'] == pid]['Pattern'].iloc[0]\n", + " color = 'tab:blue' if pattern == 'habituating' else 'tab:red' if pattern == 'sensitizing' else 'tab:gray'\n", + " alpha = 0.7 if pattern != 'mixed' else 0.3\n", + " ax.plot(sessions, vals, 'o-', color=color, alpha=alpha, linewidth=1.5, label=pid)\n", + " \n", + " # group mean\n", + " mean_vals = df.mean().values\n", + " ax.plot(sessions, mean_vals, 's--', color='black', linewidth=2.5, markersize=10, label='Group Mean', zorder=10)\n", + " \n", + " ax.set_title(name)\n", + " ax.set_ylabel(name)\n", + " ax.grid(axis='y', linestyle='--', alpha=0.5)\n", + "\n", + "# legend\n", + "from matplotlib.lines import Line2D\n", + "legend_elements = [\n", + " Line2D([0], [0], color='tab:blue', label='Habituating'),\n", + " Line2D([0], [0], color='tab:red', label='Sensitizing'),\n", + " Line2D([0], [0], color='tab:gray', label='Mixed'),\n", + " Line2D([0], [0], color='black', linestyle='--', marker='s', label='Group Mean')\n", + "]\n", + "fig.legend(handles=legend_elements, loc='lower center', ncol=4, bbox_to_anchor=(0.5, -0.05))\n", + "plt.suptitle('Individual Trajectories Across Sessions (colored by adaptation pattern)')\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# --- session change heatmap ---\n", + "fig, ax = plt.subplots(figsize=(10, 8))\n", + "change_data = pd.DataFrame(index=hrv_df.index)\n", + "for name, df in metrics.items():\n", + " change_data[f'{name}\\nS1→S2'] = ((df.iloc[:, 1] - df.iloc[:, 0]) / df.iloc[:, 0] * 100)\n", + " change_data[f'{name}\\nS2→S3'] = ((df.iloc[:, 2] - df.iloc[:, 1]) / df.iloc[:, 1] * 100)\n", + "\n", + "import seaborn as sns\n", + "sns.heatmap(change_data, cmap='RdYlGn_r', center=0, annot=True, fmt='.0f',\n", + " linewidths=0.5, cbar_kws={'label': '% Change'}, ax=ax)\n", + "ax.set_title('Session-to-Session % Change per Participant')\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] } ], "metadata": { "kernelspec": { - "display_name": "Python [conda env:base] *", + "display_name": "Python 3", "language": "python", - "name": "conda-base-py" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -62,4 +429,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/group/group_correlation_heatmap.ipynb b/group/group_correlation_heatmap.ipynb new file mode 100755 index 0000000..11eaf3a --- /dev/null +++ b/group/group_correlation_heatmap.ipynb @@ -0,0 +1,76 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2965c06e", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Group Correlation Heatmap\n", + "\n", + "Generates the README's headline cross-modal correlation heatmap (correlation_heatmap_with_values_final.png).\n", + "\n", + "**Reads:** `data/group_results/ (10-participant summaries)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c4d36a62-d66f-46de-bc39-ed23aedf61a7", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load csv data\n", + "hrv = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\n", + "pupil = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\n", + "\n", + "# melt and merge\n", + "hrv_melted = hrv.melt(id_vars='Participant', var_name='Session', value_name='HRV_SDNN')\n", + "pupil_melted = pupil.melt(id_vars='Participant', var_name='Session', value_name='Pupil_STD')\n", + "df = hrv_melted.merge(pupil_melted, on=['Participant', 'Session'])\n", + "\n", + "df_pivot = df.pivot(index='Participant', columns='Session', values=['HRV_SDNN', 'Pupil_STD'])\n", + "\n", + "# correlation matrix\n", + "correlation_matrix = df_pivot.corr(method='spearman')\n", + "\n", + "# plot heatmap\n", + "plt.figure(figsize=(12, 10))\n", + "sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=\".2f\", vmin=-1, vmax=1, center=0)\n", + "plt.title('Spearman Correlation Matrix of HRV SDNN and Pupil Dilation STD')\n", + "plt.savefig(f'{OUTPUT}/correlation_heatmap_with_values_final.png', dpi=150, bbox_inches='tight')\n", + "plt.show()\n", + "plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/group/group_correlation_matrix.ipynb b/group/group_correlation_matrix.ipynb new file mode 100755 index 0000000..517d986 --- /dev/null +++ b/group/group_correlation_matrix.ipynb @@ -0,0 +1,363 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7142c498", + "metadata": { + "mms_tag": "group_corr_caveat" + }, + "source": [ + "## ⚠️ Multiplicity and tiny-n caveat\n", + "\n", + "The correlation matrix below has **n = 10 participants** and its features are per-participant **standard deviations of only 3 session values** (very high sampling variance). Starring every pairwise correlation at p<.05 with no correction, across dozens of pairs, is an almost guaranteed source of false positives. The cell below uses **Benjamini-Hochberg FDR-adjusted** p-values across all unique pairs; with n=10 essentially nothing survives correction, which is the honest result." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "fc01ce5e-4428-4d17-8b76-e686ca1dcbd3", + "metadata": { + "execution": { + "iopub.execute_input": "2026-07-05T00:17:23.303274Z", + "iopub.status.busy": "2026-07-05T00:17:23.303180Z", + "iopub.status.idle": "2026-07-05T00:17:24.967185Z", + "shell.execute_reply": "2026-07-05T00:17:24.966784Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABDcAAAPnCAYAAAA71Kd2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdB3hTZRcH8H/3XrSFlgIdFCh7b2RPRaYi4ABEQAUVwQGyRBFcIMpSkKkgeypTkL333hvKaOne63vO2y9pUtJSoIOE/+95oiS5SW/e3CT3nnvOec3S0tLSQERERERERERkpMwLegWIiIiIiIiIiJ4GgxtEREREREREZNQY3CAiIiIiIiIio8bgBhEREREREREZNQY3iIiIiIiIiMioMbhBREREREREREaNwQ0iIiIiIiIiMmoMbhARERERERGRUWNwg4iIiIiIiIiMGoMbRET/N2fOHJiZmeHq1au59pzyXPKc8tyUrnHjxuqS35KTk/HZZ5+hePHiMDc3R4cOHfJ9Hci4yGf3yy+/zNPvCI2ePXvCz88v279vzJ8/ypq8x/JemzJud0SUHxjcIKI8denSJfTr1w8BAQGwtbWFs7Mz6tevj59//hlxcXEwFQsWLMDEiRPxLJGDJdlhljE3NNYXLlxQ98vlxx9/fOznv337ttopP3r0KIzBrFmz8MMPP+CVV17B3Llz8fHHH2e5rOyEV6hQIduAle6Ybd26VTuWcrGwsEDhwoXV3zpz5ox2uUqVKqFEiRJIS0vL8m/L56NIkSIqGJOVxMRE9RmqWrWqen9dXV1Rvnx59O3bF2fPnn3oYFxzkc9g0aJF0apVK/zyyy+IiorK8kBL1iE2Nvah++UAvG3btnq3aZ5//PjxDy2vWYeDBw/iScjf030NMq4vvPACVqxYgWeVZgw1F3t7e/W+v/zyy5g9ezYSEhLy9O+fPn1arUNeBGGehqxPr169ULJkSbUtenl5oWHDhhg1apTB7TWriyYIVNDjXFDf6ZqLo6Oj+m2V75lly5YhNTW1QNeP251pbndExsSyoFeAiEzXP//8g1dffRU2NjZ466231MGiHJTt3LkTn376KU6dOoXp06fDVIIbJ0+exMCBA/Vu9/X1VYEFKyurAlkvS0tLdYC6Zs0adOnSRe+++fPnqx29+Pj4J3puCW6MHj1a7fBVqVIlx4/buHEjCsKWLVvg4+ODn376Kc/+xocffoiaNWsiKSkJx48fx6+//qoCH7JtyA7166+/jiFDhmDHjh1q59rQTviePXswYMAA9d5lpXPnzli3bh26deuGPn36qL8nQY2///4b9erVQ1BQkN7yX331Ffz9/dVyd+7cUesk2+qECROwevVqFXTJ7N69e5g2bRoGDx6c49cvwaP33ntP7eznJtm+NOsh291vv/2GTp06qfV79913kVfks5vd+/Aosn5yACoHO7du3cKGDRvw9ttvq0CovFeSRaQxY8aMXDs4lYNM+WxKkC5zNkhBff4uXryoPht2dnZqDGS9goODcfjwYXz33XdqfeUz8ccff+g97p133kGtWrVU4E5DxvRJx9nYye/p77//rt0+r127pr7fJcAh7/eqVatUwLMgcLsz3e2OyGikERHlgcuXL6c5OjqmBQUFpd2+ffuh+y9cuJA2ceLEp/47qampabGxsQbvi4uLS0tJScnxc82ePVtOp6dduXLlsdfjpZdeSvP19U17lvTo0SPNwcEhrWXLlmkdOnR46P5SpUqlde7cWb3mH3744bGf/8CBA+qxMm45ERMTk1aQmjRpkla+fPkcLduoUaMsl5XtI/OY/ffff+q2JUuW6C07bdo0dft3332nrl+/fj3NzMwsrV+/fgafe+zYsWr5vXv3Zrlu+/fvV8t88803D92XnJycFhIS8tA2Le9VZps3b06zs7NT263uZ2jUqFHqMVWqVEkrUqTIQ58vWV62d12a5eX/48eP17svu3XICUN/Lzg4WG3bpUuXTstPOf2O0Izh/fv3H7rvzz//TDM3N0+rXbv2I/+ePIc81+OS7VAeK9vls+L9999Ps7S0TLt69epD9929ezfLx8n7LN9leTnOBU3zOnL6nW7IuHHj1HN06dIl19YrOjr6sZbndmdc2x2RKWJZChHlie+//x7R0dGYOXMmvL29H7o/MDAQH330kfa6pOB//fXXKm1UzkzJ2ZUvvvjiofROTUq8nCGpUaOGOhsjZ3E1ZQELFy7E8OHD1Rl6OXscGRmpHrdv3z60bt0aLi4u6vZGjRph165dj3wdchbspZdeUqn8sl6yfrKeKSkp2mXkLJVkqcgZtMzpq1n13JAsAkmtd3BwUCUF7du31ytf0E19lTNPko4sy8n6S3qtoXKBrHTv3l2d5Q8PD9feduDAAVWWIvdl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tJ49e6r34mmm5HyccZapQ7OapjqzmTNnqu8T+c0ICgpSY6L5mznZ/g29LzK9cvXq1dU4y/sj62HoOQ3RTGOsuci2K7+tst3LZz/z9ivkts8//1y9t7K8bDMyZW1WU8EamrKZ293Tb3dElD/M5D+5ESQhIiIiygnJ1JHSNSlPkykZ85OcKZYzrobK1Mj0yXYnswtdvHhRr5cGEREZP/bcICIionwlJWFS6pXfgQ0i2fak3I2BDSIi08OeG0RERJSvWI9OBeXAgQMFvQpERJRHmLlBREREREREREaNwQ0iIiJ6bsjsLOy3QURElHMypbTMUFe0aFE1K1lOpsWW2alkFjwpA5SZpnJjdrRHYXCDiIiIiIiIiAyKiYlR0xzLlNg5ceXKFTWltkxRffToUTXtskxNLVMm5yXOlkJEREREREREjySZGytWrECHDh2yXObzzz/HP//8g5MnT2pv69q1K8LDw7F+/XrkFWZuEBERERERET1HEhISEBkZqXeR23LDnj170Lx5c73bWrVqpW7PS5wthSiTf6zKFPQqmIxmKwYW9CqYhISipQp6FUxGqIt/Qa+CyQhLcSvoVTAJZe9uLuhVMBmT7nYu6FUwGc6OPP+ZGx6EpxT0KpiMYV0tYIye5eOKA8O6YfTo0Xq3jRo1Cl9++eVTP/edO3cemu5drksAJS4uDnZ2dsgLDG4QERERERERPUeGDh2KQYMG6d0mzT+NGYMbRERERERERM8RGxubPAtmeHl54e7du3q3yXVnZ+c8y9oQDG4QERERERER5TIzKzM8j+rWrYu1a9fq3bZp0yZ1e15iQR0RERERERERGRQdHa2mdJWLZqpX+ff169e1JS5vvfWWdvl3330Xly9fxmeffYazZ89i6tSpWLx4MT7++GPkJQY3iIiIiIiIiMiggwcPomrVquoipFeH/HvkyJHqenBwsDbQIfz9/dVUsJKtUblyZYwfPx6///67mjElL7EshYiIiIiIiCiXmVuaRllK48aNkZaWluX9c+bMMfiYI0eOID8xc4OIiIiIiIiIjBqDG0RERERERERk1FiWQkRERERERJTLzKyYS5CfONpEREREREREZNQY3CAiIiIiIiIio8ayFCIiIiIiIqJcZiqzpRgLZm4QERERERERkVFjcIOIiIiIiIiIjBrLUoiIiIiIiIhymZkVy1LyEzM3iIiIiIiIiMioMbhBREREREREREaNZSlEREREREREuYyzpeQvZm4QERERERERkVFjcIOIiIiIiIiIjBrLUoiIiIiIiIhyGWdLyV/M3CAiIiIiIiIio8bgBhEREREREREZNZalEBEREREREeUyzpaSv5i5QURERERERERGjcENIiIiIiIiIjJqLEshIiIiIiIiymVmFixLyU/M3CAiIiIiIiIio8bgBhEREREREREZNZalEBEREREREeUyc5al5CtmbhARERERERGRUWNwg4iIiIiIiIiMGstSiIiIiIiIiHKZmTnLUvITMzeIiIiIiIiIyKgxuEFERERERERERu25DW5s3boVZmZmCA8PL+hVISIiIiIiIhNjZmH+zF5MUYH23Lh//z5GjhyJf/75B3fv3oWbmxsqV66sbqtfv36e/u169eohODgYLi4uyGtTpkzBDz/8gDt37qjXN2nSJNSqVUt7//Tp07FgwQIcPnwYUVFRCAsLg6ura46fX4I0K1asQIcOHfRu79mzpwrerFy5Unt97ty56t+WlpYoVqwYXn31VXz11VewtbVFxYoV1bj/+uuvD/2NP/74A++88w5u3boFDw+PbNdnxowZmDx5Mi5duqT+jr+/P7p06YKhQ4eq+7/88kuMHj1a/dvCwkK91nLlyqFTp0547733YGNjo32uxo0bY9u2bfjrr7/QtWtX7e0TJ05Ul6tXr6rrc+bMQa9evdCqVSusX79eu5y8ftmu/vvvP/Vcz5pCDWogYHBvuFSrANuihXGw8/u4u3pz9o9pWAvlfhwCx3KlEH8jGBfHTcPNeSv0lvF9rzsCBvWGjZcnIo+fxamBXyPiwAmYuoU7j2Hu1oMIiYpF6aIeGNKxCSqW8DK47Kr9pzBy0Sa926wtLXDguw+010f8tQGrD57RW6ZeGV9M69sRpm7Jxm34c82/CI2IRKkSPvikZxeUD/R75OM27j6I4ZNmo2GNSvhxcD91W3JyCqYtXoPdR0/h1r0QONrZoWbFMhjQtT08C+X8u85YrVmzBkuXLVPf7QH+/up7rkyZMgaX3bVrFxYtWoTbwcFITk6Gj48POnXsiGbNmmmXSUtLwx9//qm+62JiYtT354D+/dWypmzjP0vx9/L5iAh7gBL+gejRbxACS5c3uOyWDauwY8s63Lh2WV33DyyD1956V2/5/bu3YvO6Fbhy6Syi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ERERERFRfmPmxjNOZnrp0qWLwfvs7PJ/GsXff/9db2YVXXnd/JSIiIiIiIjIEAY3nnESMHiWggY+Pj4FvQpERERERETPPN2m4ZT3ONpEREREREREZNQY3CAiIiIiIiIio8ayFCIiIiIiIqJcZmbO2VLyEzM3iIiIiIiIiMioMbhBREREREREREaNZSlEREREREREuczcgmUp+YmZG0RERERERERk1BjcICIiIiIiIiKjxrIUIiIiIiIiolzG2VLyFzM3iIiIiIiIiMioMbhBREREREREREaNZSlEREREREREuczMnLkE+YmjTURERERERERGjcENIiIiIiIiIjJqLEshIiIiIiIiymWcLSV/MXODiIiIiIiIiIwagxtEREREREREZNRYlkJERERERESUy8wtWJaSn5i5QURERERERERGjcENIiIiIiIiIjJqLEshIiIiIiIiymWcLSV/MXODiIiIiIiIiIwagxtEREREREREZNRYlkJERERERESUy8zMmUuQnzjaRERERERERGTUGNwgIiIiIiIiIqPGshQiIiIiIiKiXMbZUvIXMzeIiIiIiIiIyKgxuEFERERERERERo1lKURERERERES5jGUp+YuZG0RERERERERk1BjcICIiIiIiIiKjxrIUIiIiIiIiolzGspT8xcwNIiIiIiIiIjJqzNwgyqTZioEFvQomY3PHiQW9Ciah8eRXCnoVTMb2Ms0LehVMxpzJewp6FUzCjO9qFfQqmIw13+8o6FUwGW9+0KigV8EkREUlFfQqmBCLgl4BMgIMbhARERERERHlMjNzFkrkJ442ERERERERERk1BjeIiIiIiIiIyKixLIWIiIiIiIgol5lbcLaU/MTMDSIiIiIiIiIyagxuEBEREREREZFRY1kKERERERERUS4zM2dZSn5i5gYRERERERERGTUGN4iIiIiIiIjIqLEshYiIiIiIiCiXmZkzlyA/cbSJiIiIiIiIyKgxuEFERERERERERo1lKURERERERES5jLOl5C9mbhARERERERGRUWNwg4iIiIiIiIiMGstSiIiIiIiIiHIZy1LyFzM3iIiIiIiIiMioMbhBREREREREREaNwQ0iIiIiIiKiXGZmbv7MXh7XlClT4OfnB1tbW9SuXRv79+/PdvmJEyeiTJkysLOzQ/HixfHxxx8jPj4eeYnBDSIiIiIi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F/gUsYGLc8Z3nauLlQqCSCmAzGRx+VoMPh1zRjvrSkpKGj7/5iz6vlECY4eUgZ2thcoUGTf5oppC1tQ0bNQYEZER+POPeQgLC1MN17/66hv1Wyzu37+nAo8aa//5G8nJSRg39mu95+nW/Q28/kb6yYjPP/8Cc+fMwo8/fIvoqCgULlwYb77VE21ebAtTN3/ZDdjaWuCzAaXTt8nTERg86oT+NullB1fnx8sK7dCmKN7unrEPOPW79OytbyaexbrN+uXOpqJm8z4q+Lvpr5FIiIuET0B1dHr/d1haZfxORITcUI1ENcpUT/+O3f3PL4iNug9Pn7LqMbplKcd2LsTedZO11xf//Lr6f6vXx+kFQUzFtmMpsLY0Q6cXrGBrDVy9m4rZ65OQrHPO1N3ZHA62GdtoMU9z9G2b0Uenbd307fXQ+RT22XhKLEvJX2ZpuvUIRIT4v6cV9CqYjM0dJxb0KpiExpNfKehVMBlLynxT0KtgMuZMznpKc8q5Gd+ln9Gnp9dr4MOzrdGTefODRgW9CibhyrVn+wSbMfm2j3GWsd4bmnVGekErPG4eTM0z13ODiIiIiIiIiOhxMLjxjJNmqLrT4Ope5L78Vr58+SzXZ/78+fm+PkRERERERESmW4BvIqTvR1ZNTaWPSH6THijSH8UQTR8RIiIiIiKi5142vQQp9zG48YyTplxyeVb4+prubBtERERERERknBhKIiIiIiIiIiKjxswNIiIiIiIiolxmZsapYPMTMzeIiIiIiIiIyKgxuEFERERERERERo1lKURERERERES5zIyzpeQrjjYRERERERERGTUGN4iIiIiIiIjIqLEshYiIiIiIiCiXmZlztpT8xMwNIiIiIiIiIjJqDG4QERERERERkVFjWQoRERERERFRbuNsKfmKo01ERERERERERo3BDSIiIiIiIiIyaixLISIiIiIiIsplnC0lfzFzg4iIiIiIiIiMGoMbRERERERERGTUWJZCRERERERElMvMzJhLkJ842kRERERERERk1BjcICIiIiIiIiKjxrIUIiIiIiIiotzG2VLyFTM3iIiIiIiIiMioMbhBREREREREREaNZSlEREREREREuczMnLkE+YmjTURERERERERGjcENIiIiIiIiIjJqLEshIiIiIiIiymVmnC0lXzFzg4iIiIiIiIiMGoMbRERERERERGTUWJZCRERERERElNvMmEuQnzjaRERERERERGTUGNwgIiIiIiIiIqPGshQiIiIiIiKiXMbZUvIXMzeIiIiIiIiIyKgxc4Mok4SipQp6FUxG48mvFPQqmIStA5YW9CqYjNQN3xT0KpiM5ITEgl4Fk3AmrFhBr4LJaNjBq6BXwWR09fi3oFfBJNwMKF/Qq2BCvAt6BcgIMLhBRERERERElNvMWSiRnzjaRERERERERGTUGNwgIiIiIiIiIqPGshQiIiIiIiKiXGZmxtlS8hMzN4iIiIiIiIjIqDG4QURERERERERGjWUpRERERERERLmNs6XkK442ERERERERERk1BjeIiIiIiIiIyKixLIWIiIiIiIgol5mZc7aU/MTMDSIiIiIiIiIyagxuEBEREREREZFRY1kKERERERERUW4zYy5BfuJoExEREREREZFRY3CDiIiIiIiIiIway1KIiIiIiIiIchtnS8lXzNwgIiIiIiIiIqPG4AYRERERERERGTWWpRARERERERHlMjPOlpKvONpEREREREREZNQY3CAiIiIiIiIio8ayFCIiIiIiIqLcxtlS8hUzN4iIiIiIiIjIqDG4QURERERERERGjWUpRERERERERLnMzJy5BPmJo01ERERERERERo3BDSIiIiIiIiIyaixLISIiIiIiIsptZpwtJT8xc4OIiIiIiIiIjBqDG0RERERERERk1FiWQkRERERERJTbOFtKvuJoExEREREREZFRY3CDiIiIiIiIiIway1KIiIiIiIiIchtnS8lXzNwgIiIiIiIiIqP23AY3tm7dCjMzM4SHhxf0qhARERERERGRsZal3L9/HyNHjsQ///yDu3fvws3NDZUrV1a31a9fP0//dr169RAcHAwXFxfktSlTpuCHH37AnTt31OubNGkSatWqpb2/X79++Pfff3H79m04Ojqqdfvuu+8QFBT0yOe+evUq/P39ceTIEVSpUkXvvsaNG6vbJk6cqL2+bds29W8bGxuUKFECvXr1wpAhQ5CUlISiRYvik08+Udcz+/rrrzF58mTcvHkTVlZWWa5PSkqKeq1z5szBtWvXYGdnh1KlSqFPnz5455131DI9e/bE3Llz1b8tLS1RqFAhVKpUCd26dVP3met0Ffbz81PPs2fPHtSpU0d7+8CBA3H06FEVpBJffvklRo8ercby119/1S4ny1St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j9uSICvSzFZaLEyfPl1NsCGtGqTVhJSz5CXT7ahjIqTvh/SOMET6iOQ3ibxJfxRDMkfziIiIiIiI6NljY6AExRDpaymlJNLjUpdcl/6KhkhvRem1oVuCIhN7SKaHlLnIrKJ5gcGNZ5xEvPKjsWhO+fr6FvQqEBERERERUT6wtrZW2RebN2/W9tyQzAy5PmDAAIOPkdkzZXZLWU4zWcT58+dV0COvAhuCZSlEREREREREuU1mS3lWL49BpoGdMWMG5s6dizNnzuC9995DTEyMdvYUmX1Tt6RF7pfZUj766CMV1JCZVcaOHatmMs1LzNwgIiIiIiIiIoOkZ8b9+/cxcuRIVVpSpUoVrF+/XtuW4Pr169oMDVG8eHFs2LABH3/8MSpVqgQfHx8V6JDZUvISgxtERERERERElCUpQcmqDGXr1q0P3Va3bl3s3bsX+YnBDSIiIiIiIqLcZmZW0GvwXGHPDSIiIiIiIiIyagxuEBEREREREZFRY1kKERERERERUW7TabJJeY+jTURERERERERGjcENIiIiIiIiIjJqLEshIiIiIiIiym1mzCXITxxtIiIiIiIiIjJqDG4QERERERERkVFjWQoRERERERFRbjM3K+g1eK4wc4OIiIiIiIiIjBqDG0RERERERERk1FiWQkRERERERJTbOFtKvuJoExEREREREZFRY3CDiIiIiIiIiIway1KIiIiIiIiIcpsZZ0vJT8zcICIiIiIiIiKjxuAGERERERERERk1lqUQERERERER5TZz5hLkJ442ERERERERERk1BjeIiIiIiIiIyKixLIWIiIiIiIgot3G2lHzFzA0iIiIiIiIiMmoMbhARERERERGRUWNZChEREREREVFuM2MuQX7iaBMRERERERGRUWNwg4iIiIiIiIiMGstSiIiIiIiIiHKbOXMJ8hNHm4iIiIiIiIiMGoMbRERERERERGTUWJZCRERERERElNvMzAp6DZ4rZmlpaWkFvRJEz5LLly4V9CqYjO03Shb0KpiE1NSCXgPTUaRVmYJeBZPhd2ZrQa+CSfANPVjQq2Ay4hwLF/QqmAz7yOCCXgWTYHHvZkGvgsmwbT8Axih+w0w8q2xb9YapYVkKERERERERERk1lqUQERERERER5TYz5hLkJ442ERERERERERk1BjeIiIiIiIiIyKixLIWIiIiIiIgot3G2lHzFzA0iIiIiIiIiMmoMbhARERERERGRUWNZChEREREREVFuM2cuQX7iaBMRERERERGRUWNwg4iIiIiIiIiMGstSiIiIiIiIiHJZGmdLyVfM3CAiIiIiIiIio8bgBhEREREREREZNZalEBEREREREeU2M+YS5CeONhEREREREREZNQY3iIiIiIiIiMiosSyFiIiIiIiIKLexLCVfcbSJiIiIiIiIyKgxuEFERERERERERo1lKURERERERES5LM3MrKBX4bnCzA0iIiIiIiIiMmoMbhARERERERGRUWNZChEREREREVFu42wp+YqjTURERERERERGjcENIiIiIiIiIjJqLEshIiIiIiIiym2cLSVfMXODiIiIiIiIiIwagxtEREREREREZNRYlkJERERERESU28yZS5CfONpEREREREREZNQY3CAiIiIiIiIio8ayFCIiIiIiIqJclsbZUvIVMzeIiIiIiIiIyKgxuEFERERERERERo1lKURERERERES5zYy5BPmJo23A1q1bYWZmhvDw8IJeFaMwZ84cuLq6aq9/+eWXqFKlSoGuExERERERET0/ntnMjfv372PkyJH4559/cPfuXbi5uaFy5crqtvr16+fp365Xrx6Cg4Ph4uKCvDZlyhT88MMPuHPnjnp9kyZNQq1atbT3T58+HQsWLMDhw4cRFRWFsLAwvUDCo0iQRsPZ2RkVKlTA119/jaZNm+baa3jttdfw4osvPtFjY2Nj1fosXrwYt27dgpOTE8qVK4dBgwap8fD398/28bNnz4afnx+aNGmifb3yHAEBAWjRogU+/vhjeHt741m3Zs0aLF22TL2/Af7+eO+991CmTBmDy+7atQuLFi3C7eBgJCcnw8fHB506dkSzZs20y6SlpeGPP//E+vXrERMTo8Z0QP/+allTdui/+di3aSaiI+6jcLEgtOw6AkX9K2W5/JlD67B91c+ICL2FQoX90LjTJwis2Ejdl5KShO0rJ+LSye0ID7kBGztH+JWth8YdB8PJtUg+vqqCcXhr+ljGRKaPZfPXRqCoX9ZjefbQOuxYkz6WbjKWHT9ByQrpYynOHdmIozsW4s71U4iPCUfPL1aiSPGyMGWFGtRAwODecKlWAbZFC+Ng5/dxd/Xm7B/TsBbK/TgEjuVKIf5GMC6Om4ab81boLeP7XncEDOoNGy9PRB4/i1MD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hjGm/46ZG0RERERERERk0hjcICIiIiIiIiKTxrIUIiIiIiIiouLG0VJKFI82EREREREREZk0BjeIiIiIiIiIyKSxLIWIiIiIiIiomGnA0VJKEjM3iIiIiIiIiMikMbhBRERERERERCaNZSlERERERERExUzD0VJKFI82EREREREREZk0BjeIiIiIiIiIyKSxLIWIiIiIiIiouLEspUTxaBMRERERERGRSWNwg4iIiIiIiIgKNWPGDAQHB8Pe3h6NGzfGvn37UBSLFy+GhYUFevTogfuNwQ0iIiIiIiKiYqaxsCi109345ZdfMGLECIwdOxaHDh1C7dq10bFjR0RGRt5xu8uXL+Ptt99G8+bNURIY3CAiIiIiIiIio6ZMmYKhQ4di0KBBqFatGr755hs4Ojri+++/N74BgJycHPTr1w/jxo1DaGgoSgKDG0REREREREQPkYyMDCQmJhpMsqygzMxMHDx4EO3atdMvs7S0VPO7d+8u9P7Hjx8PX19fDB48GCWFwQ0iIiIiIiKiYqaxsCy108SJE+Hm5mYwybKCoqOjVRaGn5+fwXKZv3nzptHnvXPnTsydOxdz5sxBSeJQsEREREREREQPkVGjRqk+GvnZ2dnd8/0mJSXhueeeU4ENb29vlCQGN4iIiIiIiIgeInZ2dkUKZkiAwsrKCrdu3TJYLvP+/v63rX/hwgXVSPTxxx/XL8vNzVX/Wltb48yZM6hQoQLuB5alEBERERERERU3GZWktE5FZGtri/r162Pz5s0GwQqZb9q06W3rV6lSBceOHcPhw4f1U7du3dC6dWv1/8DAQNwvzNwgIiIiIiIiIqOkfGXAgAFo0KABGjVqhKlTpyIlJUWNniL69++PsmXLqp4d9vb2qFGjhsH27u7u6t+Cy4sbgxtEREREREREZFTv3r0RFRWFMWPGqCaiderUwbp16/RNRq9evapGUHnQGNwgIiIiIiIiKmYyKom5eO2119RkzNatW++47Y8//oiSYD5Hm4iIiIiIiIgeSgxuEBEREREREZFJY1kKERERERERUTHToOijktC9Y+YGEREREREREZk0BjeIiIiIiIiIyKSxLIWIiIiIiIiomJnTaCmmgEebiIiIiIiIiEwaMzeICojL8XjQu2A2fpy++0HvglnIzsh80LtgNr49dedx2KnoLldt9aB3wSyEfNfvQe+C2VgfOvpB74LZ+GXh6Qe9C2YhOyP0Qe+C2Vjb/UHvAZkCBjeIiIiIiIiIipsFR0spSSxLISIiIiIiIiKTxuAGEREREREREZk0lqUQERERERERFTMNcwlKFI82EREREREREZk0BjeIiIiIiIiIyKSxLIWIiIiIiIiomGk4WkqJYuYGEREREREREZk0BjeIiIiIiIiIyKSxLIWIiIiIiIiomGksmEtQkni0iYiIiIiIiMikMbhBRERERERERCaNZSlERERERERExUwDjpZSkpi5QUREREREREQmjcENIiIiIiIiIjJpLEshIiIiIiIiKmYcLaVk8WgTERERERERkUljcIOIiIiIiIiITBrLUoiIiIiIiIiKmcaCo6WUJGZuEBEREREREZFJY3CDiIiIiIiIiEway1KIiIiIiIiIipkGLEspSczcICIiIiIiIiKTxuAGEREREREREZk0lqUQERERERERFTONBXMJShKPNhERERERERGZNAY3iIiIiIiIiMiksSyFiIiIiIiIqJhxtJSSxcwNIiIiIiIiIjJpDG4QERERERERkUljWQoRERERERFRMeNoKSWLR5uIiIiIiIiITBqDG0RERERERERk0liWQkRERERERFTMOFpKyWLmBhERERERERGZNAY3jNi6dSssLCwQHx//oHfFJHz44YeoU6eOfn7gwIHo0aPHA90nIiIiIiIieniU2rKUqKgojBkzBn/88Qdu3boFDw8P1K5dWy175JFH7utjN2vWDBEREXBzc8P9NmPGDHz++ee4efOmen7Tpk1Do0aN1G2xsbEYO3YsNmzYgKtXr8LHx0cFDT766KMi7dvly5cREhKin/f09ET9+vXx6aefom7dusX2HN5++228/vrrxf46Z2VloXXr1nfc/s8//1TPc9CgQWre0tISrq6uCAsLw2OPPYbhw4eXyOt4rzb88St+X/4TEuJiUT6kIga8OAIVw6obXXfL+pXYsWUtwq9cVPMhFSujd/+XDNbft2srNq9dgUsXTiM5KRGffDUPwaFheFgM6h2Iru184exojeNnEjFl9iVcv5le6PrdOvihe0c/+PvYqfnL4WmY9+s17Ps7L8Dp6W6Dl54LQoNabnBwsEL4jTQsXHYd2/fGwlwN7heMxzv4w8XJGsdOJWLyzHO4FpFWpG2ffSoQLw0IxZKV1/D1dxf0y7t1LIP2LX0R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Wz3oXTALrb/r96B3wWwsD9UG8une/bLQPLMSS1r2P8Mi071b+2PxjKRY0s5fKL192SpWCIG5MameG0REREREREREBTG4YcKkGWr+YXDzT3Lbg3b16tVC908muZ2IiIiIiMgcaWBZaidzVCp7blDRSN+Pt99+2+htxdVnQvqK/NfeIgEBAUZHX8l/OxEREREREdG9YnDDhPn6+qqptNIN00tERERERER0PzG4QURERERERFTMNOBoKSXJPIttiIiIiIiIiOihweAGEREREREREZk0lqUQERERERERFTOWpZQsZm4QERERERERkUljcIOIiIiIiIiITBrLUoiIiIiIiIiKGctSShYzN4iIiIiIiIjIpDG4QUREREREREQmjWUpRERERERERMWMZSkli5kbRERERERERGTSGNwgIiIiIiIiIpPGshQiIiIiIiKiYqbRsCylJDFzg4iIiIiIiIhMGoMbRERERERERGTSWJZCREREREREVMw4WkrJYuYGEREREREREZk0BjeIiIiIiIiIyKSxLIWIiIiIiIiomLEspWQxc4OIiIiIiIiITBqDG0RERERERERk0liWQkRERERERFTMWJZSspi5QUREREREREQmjcENIiIiIiIiIjJpLEshIiIiIiIiKmYaDctSShIzN4iIiIiIiIjIpDG4QUREREREREQmjWUpRERERERERMUsl6OllChmbhARERERERGRSWNwg4iIiIiIiIhMGstSiIiIiIiIiIqZhmUpJYqZG0RERERERERk0hjcICIiIiIiIiKTxrIUIiIiIiIiomKm0bAspSRZaDQaTYk+IlEpl7pj6YPeBbNxPaDRg94Fs3AqrtyD3gWz0SZnzYPeBbNhefrvB70LZuHPIT896F0wG5dXnXnQu2A2EpNyHvQumIWjB64/6F0wGz9/Vh6m6NDZGJRW9cK8YG5YlkJEREREREREJo1lKURERERERETFjKOllCxmbhARERERERGRSWNwg4iIiIiIiIhMGstSiIiIiIiIiIoZR0spWczcICIiIiIiIqJCzZgxA8HBwbC3t0fjxo2xb9++QtedM2cOmjdvDg8PDzW1a9fujusXFwY3iIiIiIiIiMioX375BSNGjMDYsWNx6NAh1K5dGx07dkRkZKTR9bdu3YpnnnkGf/75J3bv3o3AwEB06NAB16/f3+GRGdwgIiIiIiIiug+jpZTW6W5MmTIFQ4cOxaBBg1CtWjV88803cHR0xPfff290/Z9++gmvvPIK6tSpgypVquC7775Dbm4uNm/ejPuJwQ0iIiIiIiKih0hGRgYSExMNJllWUGZmJg4ePKhKS3QsLS3VvGRlFEVqaiqysrLg6emJ+4nBDSIiIiIiIqKHyMSJE+Hm5mYwybKCoqOjkZOTAz8/P4PlMn/z5s0iPdbIkSMREBBgECC5HzhaChEREREREdFDNFrKqFGjVB+N/Ozs7Ir9cSZNmoTFixerPhzSjPR+YnCDiIiIiIiI6CFiZ2dXpGCGt7c3rKyscOvWLYPlMu/v73/HbSdPnqyCG5s2bUKtWrVwv7EshYiIiIiIiIhuY2tri/r16xs0A9U1B23atCkK89lnn+Gjjz7CunXr0KBBA5QEZm4QERERERERFbNcmIcRI0ZgwIABKkjRqFEjTJ06FSkpKWr0FNG/f3+ULVtW37Pj008/xZgxY7Bo0SIEBwfre3M4Ozur6X5hcIOIiIiIiIiIjOrduzeioqJUwEICFTLEq2Rk6JqMXr16VY2gojNr1iw1yspTTz1lcD9jx47Fhx9+iPuFwQ0iIiIiIiIiKtRrr72mJmOkWWh+ly9fxoPA4AYRERERERHRQzRaijliQ1EiIiIiIiIiMmkMbhARERERERGRSWNZChEREREREVEx04BlKSWJmRtEREREREREZNIY3CAiIiIiIiIik8ayFCIiIiIiIqJixtFSShYzN4iIiIiIiIjIpDG4QUREREREREQmjWUpRERERERERMWMo6WULGZuEBEREREREZFJY3CDiIiIiIiIiEway1KIiIiIiIiIilmu5kHvwcOFmRtEREREREREZNIY3CAiIiIiIiIik8ayFCIiIiIiIqJixtFSShYzN4iIiIiIiIjIpDG4QUREREREREQmjWUpRERERERERMVMo2FZSkli5oYRW7duhYWFBeLj4x/0rpiEDz/8EHXq1NHPDxw4ED169Hig+0REREREREQPj1KbuREVFYUxY8bgjz/+wK1bt+Dh4YHatWurZY888sh9fexmzZohIiICbm5uuN9mzJiBzz//HDdv3lTPb9q0aWjUqJH+9hdffBGbNm3CjRs34OzsrPbt008/RZUqVf71vi9fvoyQkBD9vKenJ+rXr6+2r1u3brE9h7fffhuvv/56sb/O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hFx6Zkhj0Vnbj6hyFBm6dUbv1vBy1gZ/biamGHxO+rs6qaFev9h0EE9/9wd8XRzRt2FlDGxaTb/O0n/6bwz9yXDIznFdm6ghYs2VW/0aaLp5gX6+2mTt9234/OU4OngU7Mr4wCEwL8iWdvmaCmRU+2IUgl/vj/RrN3Hsxf8heuNO/ToRS9fC1scTYWOHwc7fB4lHTmFf1yHILNBk1BzVbztUBSG2/DIGGWmJCAitj+4vfmeQaZEQHY605LyyybB6XZCWEos9a79GSmIUfMpWVds4umg/Y6PCT6jsDzF/QnuDxxs4ejNcvcrBHO05rYGNFdC5vqUa2SQ8GliyPRc5+RIEJMHKId81qVPh2rKU5jUs4GRvgch47Ta6JqO5GmDJjly0qmWJXo9aqsCHZIr8vk+DC4b9+83G6q1JsLO1xJCenmrUkzOXMzBpbiSy8rWIkSCFi1NekKx9M+130piXDC+gzfolxqD8pFVDJ1WucjTfaCxEpYmFJn/DBaICpLGnZLlINsTDInXH0ge9C2bjeoD5BlNK0qk48/wh+yC0yVnzoHfBbFieNq+SgwflzyE/PehdMBuXV5150LtgNhKTCi9LoKI7euD6g94Fs/HzZ3kZZ6Zk45GitxIoae1rm1e5m8n13CAiIiIiIiIiKojBDRMmzVDzD4Obf5LbHrSrV68Wun8yye1ERERERERE98p8C3QfAtL34+233zZ6W3H1mZC+Iv+1t0hAQIDR0Vfy305ERERERGSONGYxLo/pYHDDhElzw+JoLHq/6IbpJSIiIiIiIrqfWJZCRERERERERCaNmRtERERERERExUyGI6aSw8wNIiIiIiIiIjJpDG4QERERERERkUljWQoRERERERFRMdNoOFpKSWLmBhERERERERGZNAY3iIiIiIiIiMiksSyFiIiIiIiIqJhpOFpKiWLmBhERERERERGZNAY3iIiIiIiIiMiksSyFiIiIiIiIqJjlgqOllCRmbhARERERERGRSWNwg4iIiIiIiIhMGstSiIiIiIiIiIoZR0spWczcICIiIiIiIiKTxuAGEREREREREZk0lqUQERERERERFTONhqOllCRmbhARERERERGRSWNwg4iIiIiIiIhMGstSiIiIiIiIiIpZLkdLKVHM3CAiIiIiIiIik8bgBhERERERERGZNJalEBERERERERUzDctSShQzN4iIiIiIiIjIpDG4QUREREREREQmjWUpRERERERERMVMA4sHvQsPFWZuEBEREREREZFJY3CDiIiIiIiIiEway1KIiIiIiIiIilkuR0spUczcICIiIiIiIiKTxuAGEREREREREZk0lqUQERERERERFTMNy1JKFDM3iIiIiIiIiMikMXODqIBpt3o+6F0wG6s/2/Ggd8EstOjh/6B3wWw0beL7oHfBbKwPHf2gd8EsJKwa86B3wWwEd6v8oHfBbNR/o+GD3gWz4PDMwAe9C2ak/IPeATIBDG4QERERERERFTOWpZQslqUQERERERERkUljcIOIiIiIiIiITBrLUoiIiIiIiIiKWa7G4kHvwkOFmRtEREREREREZNIY3CAiIiIiIiIik8bgBhERERERERGZNPbcICIiIiIiIipmHAq2ZDFzg4iIiIiIiIhMGoMbRERERERERGTSWJZCREREREREVMxYllKymLlBRERERERERCaNwQ0iIiIiIiIiMmksSyEiIiIiIiIqZrksSylRzNwgIiIiIiIiIpPG4AYRERERERERmTSWpRAREREREREVM43G4kHvwkOFmRtEREREREREZNIY3CAiIiIiIiIik8ayFCIiIiIiIqJipuFoKSWKmRtEREREREREZNIY3CAiIiIiIiIik8ayFCIiIiIiIqJilsuylBLFzA0iIiIiIiIiMmkMbhARERERERGRSWNZChEREREREVEx42gpJYuZG0RERERERERk0hjcICIiIiIiIiKTxrIUIiIiIiIiomLGspSSxcwNIiIiIiIiIirUjBkzEBwcDHt7ezRu3Bj79u0rfGUAS5cuRZUqVdT6NWvWxJo1a3C/MbhBREREREREREb98ssvGDFiBMaOHYtDhw6hdu3a6NixIyIjI42uv2vXLjzzzDMYPHgw/v77b/To0UNNx48fx/3E4AYRERERERFRMcvVlN7pbkyZMgVDhw7FoEGDUK1aNXzzzTdwdHTE999/b3T9r776Cp06dcI777yDqlWr4qOPPkK9evUwffp03E8MbhARERERERE9RDIyMpCYmGgwybKCMjMzcfDgQbRr106/zNLSUs3v3r3b6H3L8vzrC8n0KGz94sLgBhEREREREdFDZOLEiXBzczOYZFlB0dHRyMnJgZ+fn8Fymb9586bR+5bld7N+ceFoKUREREREREQP0Wgp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iIiIiIiIiIqZmVZ/lFrsuUFEREREREREJo3BDSIiIiIiIiIyaSxLISIiIiIiIipmubkPeg8eLszcICIiIiIiIiKTxuAGEREREREREZk0lqUQERERERERFTOOllKymLlBRERERERERCaNwQ0iIiIiIiIiMmksSyEiIiIiIiIqZrksSylRzNwgIiIiIiIiIpPG4AYRERERERERmTSWpRAREREREREVM46WUrKYuUFEREREREREJo3BDSIiIiIiIiIyaSxLISIiIiIiIipmmlI9XIoFzA0zN4iIiIiIiIjIpDG4QUREREREREQmjWUpRERERERERMWsVFelmCFmbhARERERERGRSWNwg4iIiIiIiIhMGstSiIiIiIiIiIqZhmUpJYqZG0RERERERERk0hjcICIiIiIiIiKTxrIUIiIiIiIiomKWy+FSShQzN4iIiIiIiIjIpDG4QUREREREREQmjWUpRERERERERMWMo6WULGZuEBEREREREZFJY3CDiIiIiIiIiEway1KIiIiIiIiIihnLUkoWMzeIiIiIiIiIyKQxuEFEREREREREJo1lKUQFuDoz5ldcnnu95YPeBbPQx3vTg94Fs2GdmPygd8Fs/LLw9IPeBbPQrG3Yg94Fs1H/jYYPehfMxsGp+x/0LpiFRnY2D3oXzEe9djBFuaxLKVE8iyMiIiIiIiIik8bgBhERERERERGZNJalEBERERERERUzTe6D3oOHCzM3iIiIiIiIiMikMbhBRERERERERCaNZSlERERERERExUzD0VJKFDM3iIiIiIiIiMikMbhBRERERERERCaNZSlERERERERExSyXo6WUKGZuEBEREREREZFJY3CDiIiIiIiIiEway1KIiIiIiIiIihlHSylZzNwgIiIiIiIiIpPG4AYRERERERERmTSWpRAREREREREVs1xWpZQoZm4QERERERERkUljcIOIiIiIiIiITBrLUoiIiIiIiIiKmYZ1KSWKmRtEREREREREZNIY3CAiIiIiIiIik8ayFCIiIiIiIqJipmFVSoli5gYRERERERERmTQGN4iIiIiIiIjIpLEshYiIiIiIiKiY5XK0lBLFzA0iIiIiIiIiMmkMbhARERERERGRSWNZChEREREREVEx03C4lBLFzA0iIiIiIiIiMmkMbhARERERERGRSWNZChEREREREVEx0+Q+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load csv results\n", + "hrv_results_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\n", + "pupil_results_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\n", + "duration_results_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "# combine with suffixes\n", + "combined_results = pd.concat([\n", + " hrv_results_df.set_index('Participant').add_suffix('_HRV_SDNN'),\n", + " pupil_results_df.set_index('Participant').add_suffix('_Pupil_STD'),\n", + " duration_results_df.set_index('Participant').add_suffix('_Duration_STD'),\n", + "], axis=1)\n", + "\n", + "# correlation matrix\n", + "correlation_matrix = combined_results.corr(method='spearman')\n", + "\n", + "# plot heatmap\n", + "plt.figure(figsize=(12, 10))\n", + "sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=\".2f\")\n", + "plt.title('Correlation Matrix of HRV SDNN, Pupil Dilation STD, and Duration STD')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "7e1d1e66-c067-4f04-aa2d-75f049f98e1e", + "metadata": { + "execution": { + "iopub.execute_input": "2026-07-05T00:17:24.968771Z", + "iopub.status.busy": "2026-07-05T00:17:24.968679Z", + "iopub.status.idle": "2026-07-05T00:17:25.063506Z", + "shell.execute_reply": "2026-07-05T00:17:25.063193Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Participant P01, Session 1, HRV SDNN: 80.14\n", + "Participant P01, Session 1, Pupil Dilation STD: 1.25\n", + "Participant P01, Session 2, HRV SDNN: 65.39\n", + "Participant P01, Session 2, Pupil Dilation STD: 0.61\n", + "Participant P01, Session 3, HRV SDNN: 65.39\n", + "Participant P01, Session 3, Pupil Dilation STD: 0.80\n", + "Participant P02, Session 1, HRV SDNN: 46.20\n", + "Participant P02, Session 1, Pupil Dilation STD: 0.49\n", + "Participant P02, Session 2, HRV SDNN: 47.81\n", + "Participant P02, Session 2, Pupil Dilation STD: 1.12\n", + "Participant P02, Session 3, HRV SDNN: 47.40\n", + "Participant P02, Session 3, Pupil Dilation STD: 0.48\n", + "Participant P03, Session 1, HRV SDNN: 54.98\n", + "Participant P03, Session 1, Pupil Dilation STD: 0.38\n", + "Participant P03, Session 2, HRV SDNN: 56.83\n", + "Participant P03, Session 2, Pupil Dilation STD: 0.65\n", + "Participant P03, Session 3, HRV SDNN: 39.02\n", + "Participant P03, Session 3, Pupil Dilation STD: 0.55\n", + "Participant P04, Session 1, HRV SDNN: 41.38\n", + "Participant P04, Session 1, Pupil Dilation STD: 0.42\n", + "Participant P04, Session 2, HRV SDNN: 39.89\n", + "Participant P04, Session 2, Pupil Dilation STD: 0.39\n", + "Participant P04, Session 3, HRV SDNN: 55.02\n", + "Participant P04, Session 3, Pupil Dilation STD: 0.23\n", + "Participant P05, Session 1, HRV SDNN: 34.73\n", + "Participant P05, Session 1, Pupil Dilation STD: 0.67\n", + "Participant P05, Session 2, HRV SDNN: 32.62\n", + "Participant P05, Session 2, Pupil Dilation STD: 1.09\n", + "Participant P05, Session 3, HRV SDNN: 37.63\n", + "Participant P05, Session 3, Pupil Dilation STD: 0.58\n", + "Participant P06, Session 1, HRV SDNN: 41.64\n", + "Participant P06, Session 1, Pupil Dilation STD: 0.27\n", + "Participant P06, Session 2, HRV SDNN: 122.35\n", + "Participant P06, Session 2, Pupil Dilation STD: 0.31\n", + "Participant P06, Session 3, HRV SDNN: 117.05\n", + "Participant P06, Session 3, Pupil Dilation STD: 0.50\n", + "Participant P07, Session 1, HRV SDNN: 42.21\n", + "Participant P07, Session 1, Pupil Dilation STD: 0.93\n", + "Participant P07, Session 2, HRV SDNN: 59.67\n", + "Participant P07, Session 2, Pupil Dilation STD: 0.20\n", + "Participant P07, Session 3, HRV SDNN: 50.04\n", + "Participant P07, Session 3, Pupil Dilation STD: 0.31\n", + "Participant P08, Session 1, HRV SDNN: 188.91\n", + "Participant P08, Session 1, Pupil Dilation STD: 1.21\n", + "Participant P08, Session 2, HRV SDNN: 56.44\n", + "Participant P08, Session 2, Pupil Dilation STD: 0.87\n", + "Participant P08, Session 3, HRV SDNN: 58.87\n", + "Participant P08, Session 3, Pupil Dilation STD: 1.08\n", + "Participant P09, Session 1, HRV SDNN: 38.50\n", + "Participant P09, Session 1, Pupil Dilation STD: 0.73\n", + "Participant P09, Session 2, HRV SDNN: 41.89\n", + "Participant P09, Session 2, Pupil Dilation STD: 0.58\n", + "Participant P09, Session 3, HRV SDNN: 47.27\n", + "Participant P09, Session 3, Pupil Dilation STD: 0.39\n", + "Participant P10, Session 1, HRV SDNN: 43.43\n", + "Participant P10, Session 1, Pupil Dilation STD: 0.31\n", + "Participant P10, Session 2, HRV SDNN: 50.13\n", + "Participant P10, Session 2, Pupil Dilation STD: 0.20\n", + "Participant P10, Session 3, HRV SDNN: 55.75\n", + "Participant P10, Session 3, Pupil Dilation STD: 0.26\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load hrv + pupil\n", + "hrv_results_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\n", + "pupil_results_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\n", + "\n", + "# indexed lookup\n", + "hrv_idx = hrv_results_df.set_index('Participant')\n", + "pupil_idx = pupil_results_df.set_index('Participant')\n", + "\n", + "for pid in hrv_idx.index:\n", + " for s in [1, 2, 3]:\n", + " col = f'Session {s:02d}'\n", + " print(f\"Participant {pid}, Session {s}, HRV SDNN: {hrv_idx.loc[pid, col]:.2f}\")\n", + " print(f\"Participant {pid}, Session {s}, Pupil Dilation STD: {pupil_idx.loc[pid, col]:.2f}\")\n", + "\n", + "# combine with suffixes\n", + "combined_results = pd.concat([\n", + " hrv_results_df.set_index('Participant').add_suffix('_HRV_SDNN'),\n", + " pupil_results_df.set_index('Participant').add_suffix('_Pupil_STD'),\n", + "], axis=1)\n", + "\n", + "# correlation matrix\n", + "correlation_matrix = combined_results.corr(method='spearman')\n", + "\n", + "# plot heatmap\n", + "plt.figure(figsize=(10, 8))\n", + "sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=\".2f\")\n", + "plt.title('Correlation Matrix of HRV SDNN and Pupil Dilation STD')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "panyy1gp0ur", + "metadata": { + "execution": { + "iopub.execute_input": "2026-07-05T00:17:25.064761Z", + "iopub.status.busy": "2026-07-05T00:17:25.064660Z", + "iopub.status.idle": "2026-07-05T00:17:25.251706Z", + "shell.execute_reply": "2026-07-05T00:17:25.251365Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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iIiIiIiIiIhMgsFGIiIiIiIiIiIiMgkGG4mIiIiIiIiIiMgk2LORiIiIiIiIiIjyDI0Zc+dyM14dIiIiIiIiIiIiMgkGG4mIiIiIiIiIiMgkWEZNRERERERERER5h5lZTh8BZYCZjURERERERERERGQSDDYSERERERERERGRSTDYSERERERERERERCbBno1ERERERERERJRnaMyYO5eb8eoQERERERERERGRSTDYSERERERERERERCbBMmoiIiIiIiIiIsozNDDL6UOgDDCzkYiIiIiIiIiIiEyCwUYiIiIiIiIiIiIyCZZRExERERERERFRnsHRqHM3Xh0iIiIiIiIiIiIyCQYbiYiIiIiIiIiIyCRYRk30iHwt2+T0IdATXLjnlNOHQE+g0eT0EdCTdN3zbU4fAmXCrvof5PQh0BM0mNYupw+BniDMsVBOHwI9wZkijXL6EOgJXErG5vQh0BPUyekDINLDYCMREREREREREeUdZmY5fQSUAZZRExERERERERERkUkw2EhEREREREREREQmwTJqIiIiIiIiIiLKMzTMncvVeHWIiIiIiIiIiIjIJBhsJCIiIiIiIiIiIpNgGTUREREREREREeUZGo5Gnasxs5GIiIiIiIiIiIhMgsFGIiIiIiIiIiIiMgkGG4mIiIiIiIiIiMgk2LORiIiIiIiIiIjyDI0Zc+dyM14dIiIiIiIiIiIiMgkGG4mIiIiIiIiIiMgkWEZNRERERERERER5hgZmOX0IlAFmNhIREREREREREZFJMNhIREREREREREREJsEyaiIiIiIiIiIiyjM4GnXuxqtDREREREREREREJsFgIxEREREREREREZkEg41ERERERERERERkEuzZSEREREREREREeYbGzCynD4EywMxGIiIiIiIiIiIiMgkGG4mIiIiIiIiIiMgkWEZNRERERERERER5hgYso87NmNlIREREREREREREJsFgIxEREREREREREZkEg41ERERERERERERkEuzZSEREREREREREeYbGjLlzuRmvDhEREREREREREZkEg41ERERERERERERkEiyjJiIiIiIiIiKiPEMDs5w+BMoAMxuJiIiIiIiIiIjIJBhsJCIiIiIiIiIiIpNgGTUREREREREREeUZHI06d+PVISIiIiIiIiIiIpNgsJGIiIiIiIiIiIhMgsFGIiIi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R9Ua8KXKbCQiIiIiIiIiIjJGkzu7AprEsGHDDMby0GdskGSpTn20QlWfZDdKda5Mz8uLe3VeAjKwjZQiG5tkWU67efNmuscnkywnIiIiIiIiIqIXBzMb8zCJSqc3SI2p+hRKX8qs9qaUHgDGRrfWX05ERERERERERC8OBhvzMC8vLzXlVpaWlo8NbENERERERERERC8uBhuJiIiIiIiIiCjP0MAspw+BMsCejURERERERERERGQSDDYSERERERERERGRSbCMmoiIiIiIiIiI8gyWUeduzGwkIiIiIiIiIiIik2CwkYiIiIiIiIiIiEyCwUYiIiIiIiIiIiIyCfZsJCIiIiIiIiKiPIM9G3M3ZjYSERERERERERGRSTDYSERERERERERERCbBMmoiIiIiIiIiIsozWEaduzGzkYiIiIiIiIiIiEyCwUYiIiIiIiIiIiIyCZZRExERERERERFRnqHRsIw6N2NmIxEREREREREREZkEg41ERERERERERERkEgw2EhERERERERERkUmwZyMREREREREREeUZGrBnY27GzEYiIiIiIiIiIiIyCQYbiYiIiIiIiIiIyCRYRk1ERERERERERHkGy6hzN2Y2EhERERERERERkUkw2EhEREREREREREQmwTJqIiIiIiIiIiLKM1hGnbsxs5GIiIiIiIiIiIhMgsFGIiIiIiIiIiIiMgkGG4mIiIiIiIiIiMgk2LORiIiIiIiIiIjyDI2GPRtzM2Y2EhERERERERERkUkw2EhEREREREREREQmwTJqIiIiIiIiIiLKM1LAMurcjJmNREREREREREREZBIMNhIREREREREREZFJsIyaiIiIiIiIiIjyDA3LqHM1ZjYSERERERERERGRSTDYSERERERERERERCbBYCMRERERERERERGZBHs2EhERERERERFRnqHRsGdjbmam0Wg0OX0QRLnJ8ab1cvoQ6AmKff9NTh8CPUGipV1OHwI9QfJPk3L6ECgTnEoUzelDoCfY/d66nD4EegK/C3/n9CHQE5gjJacPgZ7AKTE4pw+BnqBg6cp4mRy/lHd+Jqv6u+NlwzJqIiIiIiIiIiIiMgmWURMRERERERERUZ6hAcuoczNmNhIREREREREREZFJMNhIREREREREREREJsFgIxEREREREREREZkEezYSEREREREREVGeodGwZ2NuxsxGIiIiIiIiIiIiMgkGG4mIiIiIiIiIiMgkWEZNRERERERERER5hgYso87NmNlIREREREREREREJsFgIxEREREREREREZkEy6iJiIiIiIiIiCjP4GjUuRszG4mIiIiIiIiIiMgkGGwkIiIiIiIiIiIik2CwkYiIiIiIiIiIiEyCPRuJiIiIiIiIiCjPSMnpA6AMMbORiIiIiIiIiIiITILBRiIiIiIiIiIiIjIJllETEREREREREVGeodGY5fQhUAaY2UhEREREREREREQmwWAjERERERERERERmQTLqImIiIiIiIiIKM/QgGXUuRkzG4mIiIiIiIiIiMgkGGwkIiIiIiIiIiIik2CwkYiIiIiIiIiIiEyCPRuJiIiIiIiIiCjP0GjYszE3Y2YjERERERERERERmQSDjURERERERERERGQSLKMmIiIiIiIiIqI8QwOWUedmzGwkIiIiIiIiIiIik2CwkYiIiIiIiIiIiEyCZdRERERERERERJRnpGhy+ggoI8xsJCIiIiIiIiIiIpNgsJGIiIiIiIiIiIhMgsFGIiIiIiIiIiIiMgn2bCQiIiIiIiIiojxDA7OcPgTKADMbiYiIiIiIiIiIyCQYbCQiIiIiIiIiIiKTYBk1ERERERERERHlGRoNy6hzM2Y2EhERERERERERkUkw2GjEP//8AzMzM4SFheX0oeQJn3/+OSpXrqyb79u3Lzp06JCjx0RERERERERERM9fri2jDgwMxNixY7Fx40bcv38frq6uqFSpknrslVdeydbnrlu3Lu7evQtnZ2dkt1mzZuHbb7/FvXv31PnNnDkTNWvW1C1/++238ddff+HOnTvIly+fOrbJkyejdOnST9z39evX4evrq5t3c3NDtWrV1PZVqlQx2Tm8//77GD58uMmvc2JiIho3bpzh9jt37lTn+eabb6p5c3NzODk5wd/fH6+++ipGjhz5XK6jqXm074T8XXvAys0NsVeu4NbM7xBz8Xy663t26gLPdh1h7ZUfSeFhCN39D+7MnwNNYoJaXrD3WyjY5y2DbeJu3sC5N3sZPGadv4Ba78Y3Ex57joyWkaFVm3fgtz83IyQsHCV8iuK9fr1QtqSf0XWv3ryN+cvW4MLV67gXGIyRb/ZAt9daGKyzesvfWLN1J+4GBql53yKF8FaXdqhTteJzOZ8X0ZqNW7Fs7XqEhIaj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ojwjRZN3pokTJ6oyZf1JHnsWBw4cUAFBbaBRNGvWTJVTHzp0KNP7CQ8PV2N+6AcaxdChQ+Hh4YGaNWtiwYIF0Dzl8N/MbCQiIiIiIiIiIsoGY8aMwXvvvWfw2LNkNYp79+49NoaHBAzd3NzUsswICgpS/Rql9PrRwYibNGkCe3t71d9xyJAhiIqKwogRIzJ9fAw2EhERERERERERZQObpyiZHj16NCZPnvzEEupnFRERgVdffVX1bvz8888Nln322We6/1epUgXR0dH49ttvGWwkIiIiIiIiIiLKS0aNGoW+fftmuI6fn5/qp/jgwQODx6Xvoow4/aRei5GRkWrwF0dHR6xZswZWVlYZrl+rVi2VASl9JzMbNGWwkYiIiIiIiIiI8gyNxgwvIk9PTzU9SZ06dRAWFoZjx46hWrVq6rG///4bKSkpKjiYUUZjy5YtVdBw3bp1sLW1feJznThxAq6urk9V+s1gIxERERERERERUR5RpkwZlZ04YMAAzJ49G4mJiRg2bBi6d++uG4n69u3baNq0KZYsWaIGepFAY4sWLRATE4Nff/1VzcskJMBpYWGB9evX4/79+6hdu7YKRG7fvh0TJkzA+++//1THx2AjERERERERERFRHvLbb7+pAKMEFGUU6s6dO2PGjBm65RKAvHjxogouiuPHj+tGqi5RooTBvq5duwYfHx9VUj1r1iy8++67agRqWW/atGkqqPk0GGwkIiIiIiIiIqI8Q6PJ6SPIeW5ubli6dGm6yyV4KAFDrUaNGhnMGyPZkjI9K/Nn3gMRERERERERERERg41ERERERERERERkKiyjJiIiIiIiIiKiPCMFL+Zo1C8KZjYSERERERERERGRSTDYSERERERERERERCbBYCMRERERERERERGZBHs2EhERERERERFRnqHR5PQRUEaY2UhEREREREREREQmwWAjERERERERERERmQTLqImIiIiIiIiIKM/QaMxy+hAoA8xsJCIiIiIiIiIiIpNgsJGIiIiIiIiIiIhMgsFGIiIiIiIiIiIiMgn2bCQiIiIiIiIiojwjRZPTR0AZYWYjERERERERERERmQSDjURERERERERERGQSLKMmIiIiIiIiIqI8Q8My6lyNmY1ERERERERERERkEgw2EhERERERERERkUmwjJqIiIiIiIiIiPIMDcxy+hAoA8xsJCIiIiIiIiIiIpNgsJGIiIiIiIiIiIhMgsFGIiIiIiIiIiIiMgn2bCQiIiIiIiIiojwjRZPTR0AZYWYjERERERERERERmQSDjURERERERERERGQSLKMmIiIiIiIiIqI8Q8My6lyNmY1ERERERERERERkEmYaDePBRPqCz+zP6UOgJ/jlap2cPgR6Am9P/mnJ7VrZ7MjpQ6BMCHcslNOHQE8QZe6c04dAT3C1dJOcPgR6Av+uxXP6EOgJCg94I6cPgZ7ArlEPvExWHExBXtGl9suX58cyaiIiIiIiIiIiyjOYNpe7vXzhVSIiIiIiIiIiIsoWDDYSERERERERERGRSTDYSERERERERERERCbBno1ERERERERERJRnpGjMcvoQKAPMbCQiIiIiIiIiIiKTYLCRiIiIiIiIiIiITIJl1ERERERERERElGdoNDl9BJQRZjYSERERERERERGRSTDYSERERERERERERCbBMmoiIiIiIiIiIsozWEaduzGzkYiIiIiIiIiIiEyCwUYiIiIiIiIiIiIyCQYbiYiIiIiIiIiIyCTYs5GIiIiIiIiIiPKMFPZszNWY2UhEREREREREREQmwWAjERERERERERERmQTLqImIiIiIiIiIKM/QaMxy+hAoA8xsJCIiIiIiIiIiIpNgsJGIiIiIiIiIiIhMgsFGIiIiIiIiIiIiMgn2bCQiIiIiIiIiojxDo8npI6CMMLORiIiIiIiIiIiITILBRiIiIiIiIiIiIjIJllETEREREREREVGekcIy6lyNmY1ERERERERERERkEgw2EhERERERERERkUmwjJqIiIiIiIiIiPIMjkaduzGzkYiIiIiIiIiIiEyCwUYiIiIiIiIiIiIyCQYbiYiIiIiIiIiIyCTYs5GIiIiIiIiIiPIM9mzM3ZjZSERERERERERERCbBYCMRERERERERERGZBMuoiYiIiIiIiIgoz0hhGXWuxsxGIiIiIiIiIiIiMgkGG4mIiIiIiIiIiMgkWEZNRERERERERER5Bkejzt2Y2UhEREREREREREQmwWAjERERERERERERmQSDjURERERERERERPRyBRv/+ecfmJmZISwsLKcP5YXWqFEjvPPOOzl9GERERERERERERqWk5J3pZfRUA8QEBgZi7Nix2LhxI+7fvw9XV1dUqlRJPfbKK69k31ECqFu3Lu7evQtn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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy import stats\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load data\n", + "hrv_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv').set_index('Participant')\n", + "pupil_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv').set_index('Participant')\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv').set_index('Participant')\n", + "\n", + "# combine all\n", + "combined = pd.concat([\n", + " hrv_df.add_suffix('_HRV_SDNN'),\n", + " pupil_df.add_suffix('_Pupil_STD'),\n", + " duration_df.add_suffix('_Duration_STD'),\n", + "], axis=1)\n", + "\n", + "cols = combined.columns\n", + "n = len(cols)\n", + "\n", + "# correlation with p-values\n", + "r_matrix = np.zeros((n, n))\n", + "p_matrix = np.zeros((n, n))\n", + "\n", + "for i in range(n):\n", + " for j in range(n):\n", + " r, p = stats.pearsonr(combined.iloc[:, i], combined.iloc[:, j])\n", + " r_matrix[i, j] = r\n", + " p_matrix[i, j] = p\n", + "\n", + "r_df = pd.DataFrame(r_matrix, index=cols, columns=cols)\n", + "p_df = pd.DataFrame(p_matrix, index=cols, columns=cols)\n", + "\n", + "# annotation with significance stars\n", + "annot = np.empty_like(r_matrix, dtype=object)\n", + "for i in range(n):\n", + " for j in range(n):\n", + " stars = \"***\" if p_df.iloc[i, j] < 0.001 else \"**\" if p_df.iloc[i, j] < 0.01 else \"*\" if p_df.iloc[i, j] < 0.05 else \"\"\n", + " annot[i, j] = f\"{r_df.iloc[i, j]:.2f}{stars}\"\n", + "\n", + "# plot heatmap\n", + "plt.figure(figsize=(14, 11))\n", + "sns.heatmap(r_df, annot=annot, fmt='', cmap='coolwarm', vmin=-1, vmax=1, center=0)\n", + "plt.title('Correlation Matrix with Significance (* p<.05, ** p<.01, *** p<.001)')\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0f4855fd", + "metadata": { + "execution": { + "iopub.execute_input": "2026-07-05T00:17:25.253046Z", + "iopub.status.busy": "2026-07-05T00:17:25.252940Z", + "iopub.status.idle": "2026-07-05T00:17:25.433215Z", + "shell.execute_reply": "2026-07-05T00:17:25.432802Z" + }, + "mms_tag": "group_corr_fdr" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "36 unique pairs tested | significant at p<.05: 6 raw -> 2 after FDR correction\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABRsAAARBCAYAAACl2VeVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdBZiUVRfA8bNLLEsvzVK7dHcqIh0iLSktSCgGioJBS0krCoKEgpTSjSBS0t3SXcsGteR8z7l8MzuzzAYyywb/n88rO/PemXl7Zs6cc6+bxWKxCAAAAAAAAAA8J/fnfQIAAAAAAAAAUAQbAQAAAAAAALgEwUYAAAAAAAAALkGwEQAAAAAAAIBLEGwEAAAAAAAA4BIEGwEAAAAAAAC4BMFGAAAAAAAAAC5BsBEAAAAAAACASxBsBAAAAAAAAOASBBsBAP/Z1KlTxc3NTU6fPu2y59Tn0ufU544r1q1bZ9ZJ/41s299///2FLFts4uzY6Nu3r7kvNtLl1uWPieehMxUrVjSTvStXrshbb70lqVOnNsswevToZzre44o5c+ZIqlSp5NatW9G9KABeoGbNmkmTJk2iezEAIMYh2AgAMcyJEyekU6dOkj17dkmUKJEkT55cXn31VRkzZozcvXtX4orffvvNBCZeVlG1/tbAk7OpZ8+etnY+Pj62+93d3SVlypRSqFAheffdd2Xr1q1Onzv08+mx+frrr8vSpUslrnrZj9OIfPzxx7Jy5Urp1auX/Prrr1KzZk152Tx69Ej69Okj3bp1k6RJkz41XwO0UR0IdoWAgABz/qdNm1aSJEkilSpVkl27dj3Vzv7aYT917tz5uZchom2l1zdXBOhfhJ9//lny5ctn3sdz5col33333VNtjh49as6hV155xbRz5Y8GGuxv27ZtuG10X4ZHt3Vs+OHv8ePHMmzYMPH19TXbsXDhwjJz5kynbQ8fPmyuU3qu6g8ErVq1kmvXrj3V7ptvvpG6detK+vTpw/1h6PPPP5c//vhD9u7d6/L1AoDYLH50LwAAIIQGbRo3biweHh7SunVrKViwoNy/f182btwoPXr0kIMHD8pPP/0kcSWIc+DAAfnoo48c7s+WLZsJqiZIkEDiigoVKph1SpgwYYTr7yr9+/c3X7zs6fFkr2jRovLJJ5+Yv2/evGm+hM2dO1cmTpxovgCPHDnyqeetVq2aOTYtFoucOXNGfvzxR6lTp44sX75catSoIS/aV1995RBEdbWo3k+uoF+WNbtGrxtRadWqVU/dt3btWqlXr558+umntvty58791PEely1evNgEjTRQZ7V+/XopXbq0CXzYW7NmjQnQx48fP8YFa2rXrm0CJvpekyZNGvnhhx9M8G/nzp0mWBbWtcN+v/8XEW2rixcvyu3bt03gzp7e7+fnZ34kiWkmTJhggq+NGjWS7t27y4YNG+SDDz6QO3fumOCU1T///CNjx46V/Pnzm/Xbs2fPc71uYGCguY6XLVv2qUCyHqNlypSRP//80wSS48WL59BGfzTQa7he77y8vCRTpkwO8/Xxeo2JKEAZHb788ksZMmSIdOzYUUqVKiULFy6UFi1amCChXhutzp8/b96PU6RIIYMGDTKZyMOHD5f9+/fLtm3bHK5Z+t6SIUMGKVasmNk2YdH5JUuWlBEjRsgvv/wS5esKALGGBQAQI5w8edKSNGlSS968eS0XL158av6///5rGT169HO/zuPHjy137txxOu/u3buWR48eRfq5pkyZYtG3klOnTj3zctSuXduSLVs2y8sqrPX/66+/zDadO3fuf3pe6z7Zvn17uO30tXUZQtNjo379+uY5fvjhB4d5et97773ncN+hQ4fM/bVq1bJENT3O9LV0HV+UqDxOdV369Oljic3c3NyeOiZeNnXr1rWUL1/e4b7u3buba7mez6+//rpl27ZtlhYtWlhKlixpOX/+/AtbNr3e79u3L8J2s2fPfuq6c/XqVUvKlCktzZs3j9S147+KaFutWbPGvOaAAQMsP/30k6V3796WH3/80dw3a9Ysy4t05swZi7+/f7ht9BqaOnXqp7bR22+/bUmSJInlxo0btvv8/PwsQUFB5u9vv/32P7+fWu3du9eSO3duywcffGBZvHixpU2bNpbff//d4uvraxk1apQ5Hpo0aWK27Z49e8w21M8e1atXt1SrVs1y8+ZNy2+//WbJkiWL2ca6rXWb67bX51i7dq3lRTp8+LDl/v374bbRYyRBggQO1yFdz9dee82SOXNmy8OHD233d+nSxeLp6Wn2o9Xq1avNdp8wYYLD81r3w7Vr1yK8Vg8fPtzsW91+AIAnCDYCQAzRuXNn84F206ZNkWr/4MEDS//+/S3Zs2e3JEyY0Hxp6NWrlyU4ONjpF8MVK1ZYSpQo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WX0K9Ay1svoEiFJhsJGIiIiIiIiIiHIOE5OsPgNKB8uoiYiIiIiIiIiIyCgYbCQiIiIiIiIiIiKjYBk1ERERERERERHlGBrmzmVrHB0iIiIiIiIiIiIyCgYbiYiIiIiIiIiIyChYRk1ERERERERERDmGhrNRZ2vMbCQiIiIiIiIiIiKjYLCRiIiIiIiIiIiIjILBRiIiIiIiIiIiIjIK9mwkIiIiIiIiIqIcQ2PC3LnsjKNDRERERERERERERsFgIxERERERERERERkFy6iJiIiIiIiIiCjH0MAkq0+B0sHMRiIiIiIiIiIiIjIKBhuJiIiIiIiIiIjIKFhGTUREREREREREOQZno87eODpERERERERERERkFAw2EhERERERERERkVEw2EhERERERERERERGwZ6NRERERERERESUY2hMTLL6FCgdzGwkIiIiIiIiIiIio2CwkYiIiIiIiIiIiIyCZdRERERERERERJRjaMAy6uyMmY1ERERERERERERkFAw2EhERERERERERkVEw2EhERERERERERERGwZ6NRERERERERESUY2hMmDuXnXF0iIiIiIiIiIiIyCgYbCQiIiIiIiIiIiKjYBk1ERERERERERHlGBqYZPUpUDqY2UhERERERERERERGwWAjERERERERERERGQXLqImIiIiIiIiIKMfgbNTZG0eHiIiIiIiIiIiIjILBRiIiIiIiIiIiIjIKBhuJiIiIiIiIiIjIKNizkYiIiIiIiIiIcgwNTLL6FCgdzGwkIiIiIiIiIiIio2CwkYiIiIiIiIiIiIyCZdRERERERERERJRjaEyYO5edcXQM+Oeff2BiYoKQkJCsPpUc4ZtvvkHFihV167169UK7du2y9JyIiIiIiIiIiOjVy7aZjf7+/hg9ejQ2btyIhw8fwsXFBRUqVFCPvfHGG5n6tWvXro379+/DyckJmW3GjBn46aef8ODBA3V906dPR/Xq1dVzQUFBGDNmDLZt24bbt2/Dw8NDBfG+//77DJ3bzZs34ePjo1t3dXVFlSpVMHHiRFSqVMlo1/Dpp59i8ODBRh/n+Ph4NGzYMN39d+/era7z/fffV+umpqZwdHSEr68v3nzzTQwdOvSVjOOr9NfuI1i4dT8CQyPgWzAvRnR9E2V9ChjcdvXe49hw6BSu3nuo1ksV9sLg9k31tq/U92uD+378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JSrjo5GzYGGZcs8Q8PAOIsJT7hkObP9L/fvrd8mJJFpd+41FjQbJlW0NWr2HhPhYrF00EVGRYfAq5Iv+X86Fe17OIv4iWrXvgdiYaMyfOQ5RkRHwLVUBw0dPg2WqcXr04C7Cw1I+AL5x9SImft1Pt/7nvOSYwBsN30TfoclzJVSp2RA9+43CxlULsOS3yWpm6kEjJsK3ND/wJ+MbNmyYimXIRMiS4CUzSadOSpMYV/78+XU9HyXmUb9+fZU4JvN8SOtAScCbMye5bYbESCTZTmI9MnGyBB+lfZ2Xl5euyjYzmGhSN+wjeoJM1CLfmFI2/bqI2pvySRdlT38lsq9kdsffLNlfJ9t1WX0KlAF76n6W1adAz1BvSpusPgV6hpAW+sEeyn7ORSTP0EzZl7N1dFafAj1DrVK5J8kmI65eu4GcolhR/Z6fzyKVtD/99JMuKW3atGkqUUs0aNBAJZ6lnlRXKkS/+uorVfErAUWpFm3VKjnjXUjYT+bFkACkxHbq1KmDmTNnqtaAr1VmIxERERERERERkSGa7NkV0CgGDRqkN5dHaoYmSZbq1CcrVFOT7EapzpXlVcm9o/MakIltpBTZ0CLPZbXbt2+neX6yyPNERERERERERJR7MLMxB5OodFqT1BirT6H0pXzR3pTSA8DQ7NapnyciIiIiIiIiotyDwcYczNPTUy3Zlbm5+VMT2xARERERERERUe7FYCMREREREREREeUYGphk9SlQOtizkYiIiIiIiIiIiIyCwUYiIiIiIiIiIiIyCpZRExERERERERFRjsEy6uyNmY1ERERERERERERkFAw2EhERERERERERkVEw2EhERERERERERERGwZ6NRERERERERESUY7BnY/bGzEYiIiIiIiIiIiIyCgYbiYiIiIiIiIiIyChYRk1ERERERERERDkGy6izN2Y2EhERERERERERkVEw2EhERERERERERERGwTJqIiIiIiIiIiLKMTQallFnZ8xsJCIiIiIiIiIiIqNgsJGIiIiIiIiIiIiMgsFGIiIiIiIiIiIiMgr2bCQiIiIiIiIiohxDA/ZszM6Y2UhERERERERERERGwWAjERERERERERERGQXLqImIiIiIiIiIKMdgGXX2xsxGIiIiIiIiIiIiMgoGG4mIiIiIiIiIiMgoWEZNREREREREREQ5BsuoszdmNhIREREREREREZFRMNhIRERERERERERERsFgIxERERERERERERkFezYSEREREREREVGOodGwZ2N2xsxGIiIiIiIiIiIiMgoGG4mIiIiIiIiIiMgoWEZNREREREREREQ5RhJYRp2dMbORiIiIiIiIiIiIjILBRiIiIiIiIiIiIjIKllETEREREREREVGOoWEZdbbGzEYiIiIiIiIiIiIyCgYbiYiIiIiIiIiIyCgYbCQiIiIiIiIiIiKjYM9GIiIiIiIiIiLKMTQa9mzMzkw0Go0mq0+CKDs52bhOVp8CPUPhX37M6lOgZ4g3t8nqU6BnSPzfhKw+BcoAx2KFsvoU6Bn2DluX1adAz1Dk0q6sPgV6BlMkZfUp0DM4xgdm9SnQM+QrWRGvk5NXcs73ZGVfN7xuWEZNRERERERERERERsEyaiIiIiIiIiIiyjE0YBl1dsbMRiIiIiIiIiIiIjIKBhuJiIiIiIiIiIjIKBhsJCIiIiIiIiIiIqNgz0YiIiIiIiIiIsoxNBr2bMzOmNlIRERERERERERERsFgIxERERERERERERkFy6iJiIiIiIiIiCjH0IBl1NkZMxuJiIiIiIiIiIjIKBhsJCIiIiIiIiIiIqNgGTUREREREREREeUYnI06e2NmIxERERERERERERkFg41ERERERERERERkFAw2EhERERERERERkVGwZyMREREREREREeUYSVl9ApQuZjYSERERERERERGRUTDYSEREREREREREREbBMmoiIiIiIiIiIsoxNBqTrD4FSgczG4mIiIiIiIiIiMgoGGwkIiIiIiIiIiIio2AZNRERERERERER5RgasIw6O2NmIxERERERERERERkFg41ERERERERERERkFAw2EhERERERERERkVGwZyMREREREREREeUYGg17NmZnzGwkIiIiIiIiIiIio2CwkYiIiIiIiIiIiIyCZdRERERERERERJRjaMAy6uyMmY1ERERERERERERkFAw2EhERERERERERkVGwjJqIiIiIiIiIiHKMJE1WnwGlh5mNREREREREREREZBQMNhIREREREREREZFRMNhIRERERERERERERsGejURERERERERElGNoYJLVp0DpYGYjERERERERERERGQWDjURERERERERERGQULKMmIiIiIiIiIqIcQ6NhGXV2xsxGIiIiIiIiIiIiMgoGGw34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VUtqVlZWanlRFy9exJYtW3Ds2DFUrVpVPTZ9+nS0atVKBRMNta0rW7YsVq1apVsvWrQofvjhB7z77rtISEhQ1ampg4t58+Z94fPjBDFERERERERERJRjJGlyzjJ+/HhVppx6kcdexqFDh1RAUBtoFE2aNFHl1EeOHMnwcUJDQ9WcH6kDjWLgwIFwd3dH9erVMW/ePGiec/pvZjYSERERERERERFlglGjRmHYsGF6j71MVqN48ODBU3N4SMDQ1dVVPZcRAQEBql+jlF4/ORlxo0aNYGtrq/o7DhgwABERERgyZEiGz4/BRiIiIiIiIiIiokxg9Rwl0yNHjsTEiROfWUL9ssLCwvDmm2+q3o3ffPON3nNff/217v+VKlVCZGQkfvrpJwYbiYiIiIiIiIiIcpLhw4ejV69e6W5TpEgR1U/x0aNHeo9L30WZcfpZvRbDw8PV5C8ODg5Ys2YNLCws0t2+Ro0aKgNS+k5mNGjKYCMREREREREREeUYGo0JciMPDw+1PEutWrUQEhKCEydOoEqVKuqxXbt2ISkpSQUH08tobN68uQoarlu3DtbW1s/8WqdOnYKLi8tzlX4z2EhERERERERERJRDlCpVSmUn9u3bF7NmzUJ8fDwGDRqELl266Gaivnv3Lho3boxFixapiV4k0NisWTNERUXhjz/+UOuyCAlwmpmZYf369Xj48CFq1qypApHbt2/HuHHj8Omnnz7X+THYSERERERERERElIMsWbJEBRgloCizUHfo0AHTpk3TPS8ByMuXL6vgojh58qRupupixYrpHevGjRvw9vZWJdUzZszAJ598omaglu2mTJmigprPg8FGIiIiIiIiIiLKMTSarD6DrOfq6oqlS5em+bwEDyVgqNWgQQO9dUMkW1KWl2X60kcgIiIiIiIiIiIiYrCRiIiIiIiIiIiIjIVl1ERERERERERElGMkIXfORp1bMLORiIiIiIiIiIiIjILBRiIiIiIiIiIiIjIKBhuJiIiIiIiIiIjIKNizkYiIiIiIiIiIcgyNJqvPgNLDzEYiIiIiIiIiIiIyCgYbiYiIiIiIiIiIyChYRk1ERERERERERDmGRmOS1adA6WBmIxERERERERERERkFg41ERERERERERERkFAw2EhERERERERERkVGwZyMREREREREREeUYSZqsPgNKDzMbiYiIiIiIiIiIyCgYbCQiIiIiIiIiIiKjYBk1ERERERERERHlGBqWUWdrzGwkIiIiIiIiIiIio2CwkYiIiIiIiIiIiIyCZdRERERERERERJRjaGCS1adA6WBmIxERERERERERERkFg41ERERERERERERkFAw2EhERERERERERkVGwZyMREREREREREeUYSZqsPgNKDzMbiYiIiIiIiIiIyCgYbCQiIiIiIiIiIiKjYBk1ERERERERERHlGBqWUWdrzGwkIiIiIiIiIiIiozDRaBgPJkot8NzBrD4FeobF12tl9SnQM3h58FdLdtfCamdWnwJlQKhD/qw+BXqGCFOnrD4FeobrJRtl9SnQM/h2KprVp0DPUKDve1l9CvQMNg264nWy4nAScoqONV+/PD+WURMRERERERERUY7BtLns7fULrxIREREREREREVGmYLCRiIiIiIiIiIiIjILBRiIiIiIiIiIiIjIK9mwkIiIiIiIiIqIcI0ljktWnQOlgZiMREREREREREREZBYONREREREREREREZBQsoyYiIiIiIiIiohxDo8nqM6D0MLORiIiIiIiIiIiIjILBRiIiIiIiIiIiIjIKllETEREREREREVGOwTLq7I2ZjURERERERERERGQUDDYSERERERERERGRUTDYSEREREREREREREbBno1ERERERERERJRjJLFnY7bGzEYiIiIiIiIiIiIyCgYbiYiIiIiIiIiIyChYRk1ERERERERERDmGRmOS1adA6WBmIxERERERERERERkFg41ERERERERERERkFAw2EhERERERERERkVGwZyMREREREREREeUYGk1WnwGlh5mNREREREREREREZBQMNhIREREREREREZFRsIyaiIiIiIiIiIhyjCSWUWdrzGwkIiIiIiIiIiIio2CwkYiIiIiIiIiIiIyCZdRERERERERERJRjcDbq7I2ZjURERERERERERGQUDDYSERERERERERGRUTDYSEREREREREREREbBno1ERERERERERJRjsGdj9sbMRiIiIiIiIiIiIjIKBhuJiIiIiIiIiIjIKFhGTUREREREREREOUYSy6izNWY2EhERERERERERkVEw2EhERERERERERERGwTJqIiIiIiIiIiLKMTgbdfbGzEYiIiIiIiIiIiIyCgYbiYiIiIiIiIiIyCgYbCQiIiIiIiIiIqLXK9j4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M/h2YkZsdlegb3KWOmVfNg0Mt2zKrWZsRo4x0HCHmVyNU5gSERERERERERGRUTDYaGRS8ixlvIYW6Uf5uknrtZBl3759WX16RERERERERJTDSJFuTlleRy89GzXpkwlZOnXqZPA5mYTldZPe7NnSN5KIiIiIiIiIiHIPBhuNTGajzuiM1K+DYsWKZfUpEBERERERERHRK8JgIxERERERERER5RivaXVyjsGejURERERERERERGQUDDYSERERERERERGRUTDYSEREREREREREREbBno1ERERERERERJRjJCVl9RlQepjZSEREREREREREREbBYCMREREREREREREZBcuoiYiIiIiIiIgox9BosvoMKD3MbCQiIiIiIiIiIiKjYLCRiIiIiIiIiIiIjILBRiIiIiIiIiIiohwkKCgI3bt3h6OjI5ydndG7d29ERESku0+DBg1gYmKit/Tr109vm9u3b+PNN9+Era0tPD098dlnnyEhIeG5zo09G4mIiIiIiIiIKMdIYs9GSKDx/v372L59O+Lj4/H+++/jww8/xNKlS9Pdr2/fvvjuu+906xJU1EpMTFSBxrx58+LgwYPq+D169ICFhQXGjRuX4XNjsJGIiIiIiIiIiCiHuHjxIrZs2YJjx46hatWq6rHp06ejVatWmDRpEry8vNLcV4KLEkw0ZNu2bbhw4QJ27NiBPHnyoGLFivj+++8xYsQIfPPNN7C0tMzQ+bGMmoiIiIiIiIiIKBPExsYiLCxMb5HHXsahQ4dU6bQ20CiaNGkCU1NTHDlyJN19lyxZAnd3d5QtWxajRo1CVFSU3nHLlSunAo1azZs3V+d8/vz5DJ8fg41ERERERERERJRjaDQ5Zxk/fjycnJz0FnnsZTx48ED1U0zN3Nwcrq6u6rm0dOvWDX/88Qd2796tAo2LFy/Gu+++q3fc1IFGoV1P77hPYhk1ERERERERERFRJhg1ahSGDRum95iVlZXBbUeOHImJEyc+s4T6RUlPRy3JYMyXLx8aN26Ma9euoWjRojAWBhuJiIiIiIiIiIgygZWVVZrBxScNHz4cvXr1SnebIkWKqJ6Ljx490ntcZoyWGarT6sdoSI0aNdS/V69eVcFG2ffo0aN62zx8+FD9+zzHZbCRiIiIiIiIiIhyDE2Omo7aJMNbenh4qOVZatWqhZCQEJw4cQJVqlRRj+3a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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import sys, pathlib\n", + "sys.path.insert(0, str(pathlib.Path.cwd().parent)) # repo root -> import mms\n", + "import mms\n", + "import pandas as pd, numpy as np, matplotlib.pyplot as plt, seaborn as sns\n", + "\n", + "combined = pd.concat([\n", + " mms.io.load_group_summary('HRV_SDNN').set_index('Participant').add_suffix('_HRV_SDNN'),\n", + " mms.io.load_group_summary('Pupil_Dilation_STD').set_index('Participant').add_suffix('_Pupil_STD'),\n", + " mms.io.load_group_summary('Psychometric_Test_Duration_STD').set_index('Participant').add_suffix('_Duration_STD'),\n", + "], axis=1)\n", + "\n", + "res = mms.stats.corr_matrix_fdr(combined)\n", + "r, p_raw, p_fdr = res['r'], res['p_raw'], res['p_fdr']\n", + "\n", + "def stars(p):\n", + " return '***' if p < .001 else '**' if p < .01 else '*' if p < .05 else ''\n", + "\n", + "annot = np.empty(r.shape, dtype=object)\n", + "for i in range(r.shape[0]):\n", + " for j in range(r.shape[1]):\n", + " annot[i, j] = f\"{r.iloc[i, j]:.2f}{stars(p_fdr.iloc[i, j])}\"\n", + "\n", + "iu = np.triu_indices_from(p_fdr.values, k=1)\n", + "n_raw = int((p_raw.values[iu] < .05).sum())\n", + "n_fdr = int((p_fdr.values[iu] < .05).sum())\n", + "print(f'{res[\"n_tests\"]} unique pairs tested | significant at p<.05: '\n", + " f'{n_raw} raw -> {n_fdr} after FDR correction')\n", + "\n", + "plt.figure(figsize=(14, 11))\n", + "sns.heatmap(r, annot=annot, fmt='', cmap='coolwarm', vmin=-1, vmax=1, center=0)\n", + "plt.title('Correlations with FDR-adjusted significance (* p<.05, ** p<.01, *** p<.001)')\n", + "plt.tight_layout(); plt.show(); plt.close()\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/group/group_duration.ipynb b/group/group_duration.ipynb new file mode 100755 index 0000000..81f7721 --- /dev/null +++ b/group/group_duration.ipynb @@ -0,0 +1,92 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e7320eeb", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Group Duration\n", + "\n", + "Group-level response-duration variability across sessions.\n", + "\n", + "**Reads:** `data/group_results/ (10-participant summaries)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9cf4e728-1f2f-4b52-a344-7913e354a0e1", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load duration data\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "participants = duration_df['Participant'].tolist()\n", + "\n", + "# build stats dict\n", + "stats = {}\n", + "for _, row in duration_df.iterrows():\n", + " pid = row['Participant']\n", + " session_data = pd.DataFrame({\n", + " 'Session': ['S01', 'S02', 'S03'],\n", + " 'STD of Duration (s)': [row['Session 01'], row['Session 02'], row['Session 03']]\n", + " })\n", + " stats[pid] = session_data\n", + "\n", + "# plot STD duration\n", + "def plot_std_duration(stats, title):\n", + " fig, ax = plt.subplots()\n", + " colors = mpl.colormaps['tab10']\n", + " \n", + " for i, p_str in enumerate(stats):\n", + " x = stats[p_str]['Session']\n", + " y_std = stats[p_str]['STD of Duration (s)']\n", + " ax.plot(x, y_std, marker='o', label=f'{p_str} - STD of Duration (s)', color=colors(i))\n", + " \n", + " plt.title(title)\n", + " plt.ylabel('Time (seconds)')\n", + " plt.xlabel('Session')\n", + " plt.legend()\n", + " plt.grid(True)\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "plot_std_duration(stats, 'STD of Duration by Session (10 Participants)')\n", + "\n", + "for p_str in stats:\n", + " print(f\"Statistics for {p_str}:\\n\", stats[p_str])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/group/group_eye.ipynb b/group/group_eye.ipynb new file mode 100755 index 0000000..1019679 --- /dev/null +++ b/group/group_eye.ipynb @@ -0,0 +1,79 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "150c0415", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Group Eye\n", + "\n", + "Group-level pupil-dilation variability across sessions.\n", + "\n", + "**Reads:** `data/group_results/ (10-participant summaries)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f648e1a5-8777-489e-a303-e578f4284bef", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load pupil data\n", + "results_df = pd.read_csv(f'{OUTPUT}/Pupil_Dilation_STD.csv')\n", + "\n", + "print(results_df)\n", + "\n", + "# plot standard deviations\n", + "ax = results_df.set_index('Participant').plot(figsize=(15, 8), marker='o')\n", + "\n", + "plt.title('Standard Deviation of Pupil Dilation for Each Participant Across Three Sessions')\n", + "plt.ylabel('Standard Deviation of Pupil Dilation')\n", + "plt.xlabel('Participant')\n", + "plt.xticks(rotation=45)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "\n", + "# reference lines\n", + "ax.axhline(y=0.1, color='blue', linestyle=':', label='Normal')\n", + "ax.axhline(y=0.2, color='purple', linestyle=':', label='Moderate Variation')\n", + "ax.axhline(y=0.3, color='green', linestyle=':', label='High Variation')\n", + "\n", + "# merge legend handles\n", + "handles, labels = ax.get_legend_handles_labels()\n", + "ax.legend(handles, labels, title='Session / Pupil Dilation Levels')\n", + "plt.show()\n", + "plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/group/group_hrv.ipynb b/group/group_hrv.ipynb new file mode 100755 index 0000000..2f52ee9 --- /dev/null +++ b/group/group_hrv.ipynb @@ -0,0 +1,79 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "edb0e4c5", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Group Hrv\n", + "\n", + "Group-level HRV (SDNN) across sessions.\n", + "\n", + "**Reads:** `data/group_results/ (10-participant summaries)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "873a74e8-b192-4cd1-9181-f42b24e340c3", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load hrv data\n", + "results_df = pd.read_csv(f'{OUTPUT}/HRV_SDNN.csv')\n", + "\n", + "print(results_df)\n", + "\n", + "# plot standard deviations\n", + "ax = results_df.set_index('Participant').plot(figsize=(15, 8), marker='o')\n", + "\n", + "plt.title('Standard Deviation of HRV (SDNN) for Each Participant Across Three Sessions')\n", + "plt.ylabel('Standard Deviation of HRV (SDNN) (ms)')\n", + "plt.xlabel('Participant')\n", + "plt.xticks(rotation=45)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "\n", + "# reference lines\n", + "ax.axhline(y=50, color='blue', linestyle=':', label='Normal SDNN')\n", + "ax.axhline(y=100, color='purple', linestyle=':', label='Moderate SDNN')\n", + "ax.axhline(y=150, color='green', linestyle=':', label='High SDNN')\n", + "\n", + "# merge legend handles\n", + "handles, labels = ax.get_legend_handles_labels()\n", + "ax.legend(handles, labels, title='Session / HRV Levels')\n", + "plt.show()\n", + "plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/group/group_sd.ipynb b/group/group_sd.ipynb new file mode 100755 index 0000000..1a9b786 --- /dev/null +++ b/group/group_sd.ipynb @@ -0,0 +1,79 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1b5ef414", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Group Sd\n", + "\n", + "Group-level standard-deviation metrics across modalities.\n", + "\n", + "**Reads:** `data/group_results/ (10-participant summaries)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f49bbf98-6722-473e-98f8-035c65362383", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load duration data\n", + "results_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "print(results_df)\n", + "\n", + "# plot standard deviations\n", + "ax = results_df.set_index('Participant').plot(figsize=(15, 8), marker='o')\n", + "\n", + "plt.title('Standard Deviation of Psychometric Test Duration for Each Participant Across Three Sessions')\n", + "plt.ylabel('Standard Deviation of Test Duration (seconds)')\n", + "plt.xlabel('Participant')\n", + "plt.xticks(rotation=45)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "\n", + "# reference lines\n", + "ax.axhline(y=30, color='blue', linestyle=':', label='Normal')\n", + "ax.axhline(y=60, color='purple', linestyle=':', label='Moderate Variation')\n", + "ax.axhline(y=90, color='green', linestyle=':', label='High Variation')\n", + "\n", + "# merge legend handles\n", + "handles, labels = ax.get_legend_handles_labels()\n", + "ax.legend(handles, labels, title='Session / Duration Levels')\n", + "plt.show()\n", + "plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/group/group_time.ipynb b/group/group_time.ipynb new file mode 100755 index 0000000..655e890 --- /dev/null +++ b/group/group_time.ipynb @@ -0,0 +1,197 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e887cfe9", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Group Time\n", + "\n", + "Group-level response-timing analysis.\n", + "\n", + "**Reads:** `data/group_results/ (10-participant summaries)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "03c87567-033a-4a6a-9cbf-9bb6ef4dd361", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load duration data\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "# build session stats\n", + "rows = []\n", + "for _, row in duration_df.iterrows():\n", + " for s_idx, s_name in enumerate(['Session 01', 'Session 02', 'Session 03'], 1):\n", + " rows.append({\n", + " 'Participant': row['Participant'],\n", + " 'Session': f'Session {s_idx:02d}',\n", + " 'Count': '-',\n", + " 'Duration STD (s)': round(row[s_name], 2)\n", + " })\n", + "\n", + "session_stats = pd.DataFrame(rows)\n", + "\n", + "print(\"Duration STD During 3 Sessions for Each Participant\")\n", + "print(session_stats.to_string(index=False))\n", + "\n", + "# convert to numeric\n", + "session_stats['Duration STD (s)'] = pd.to_numeric(session_stats['Duration STD (s)'])\n", + "\n", + "# visualize results bar\n", + "plt.figure(figsize=(15, 8))\n", + "sns.barplot(x='Session', y='Duration STD (s)', hue='Participant', data=session_stats, errorbar=None)\n", + "plt.title('Duration STD for Each Session by Participant')\n", + "plt.ylabel('Duration STD (s)')\n", + "plt.xlabel('Session')\n", + "plt.legend(title='Participant', bbox_to_anchor=(1.05, 1), loc='upper left')\n", + "sns.despine(trim=True)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# plot per participant\n", + "sns.catplot(x='Session', y='Duration STD (s)', col='Participant', data=session_stats, kind='bar', col_wrap=4, height=4, aspect=1)\n", + "plt.subplots_adjust(top=0.9)\n", + "plt.suptitle('Duration STD for Each Session by Participant')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "520fa50f-44ab-4525-bc34-18e9d263d65e", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.cluster import KMeans\n", + "\n", + "OUTPUT = '../data/group_results'\n", + "\n", + "# load duration data\n", + "duration_df = pd.read_csv(f'{OUTPUT}/Psychometric_Test_Duration_STD.csv')\n", + "\n", + "# pivot by session\n", + "mean_durations = duration_df.set_index('Participant')\n", + "mean_durations.columns = ['Session 01', 'Session 02', 'Session 03']\n", + "\n", + "# standardize data\n", + "scaler = StandardScaler()\n", + "mean_durations_scaled = scaler.fit_transform(mean_durations)\n", + "\n", + "# kmeans clustering\n", + "kmeans = KMeans(n_clusters=3, n_init=10, random_state=42)\n", + "clusters = kmeans.fit_predict(mean_durations_scaled)\n", + "\n", + "# add cluster labels\n", + "mean_durations['Cluster'] = clusters\n", + "\n", + "# build session stats\n", + "rows = []\n", + "for _, row in duration_df.iterrows():\n", + " for s_idx, s_name in enumerate(['Session 01', 'Session 02', 'Session 03'], 1):\n", + " rows.append({\n", + " 'Participant': row['Participant'],\n", + " 'Session': f'Session {s_idx:02d}',\n", + " 'Count': '-',\n", + " 'Duration STD (s)': round(row[s_name], 2)\n", + " })\n", + "\n", + "session_stats = pd.DataFrame(rows)\n", + "\n", + "print(\"Duration STD During 3 Sessions for Each Participant\")\n", + "print(session_stats.to_string(index=False))\n", + "\n", + "# convert to numeric\n", + "session_stats['Duration STD (s)'] = pd.to_numeric(session_stats['Duration STD (s)'])\n", + "\n", + "# plot clusters heatmap\n", + "plt.figure(figsize=(10, 6))\n", + "sns.heatmap(mean_durations.drop('Cluster', axis=1).assign(Cluster=clusters).sort_values('Cluster').drop('Cluster', axis=1), annot=True, cmap='coolwarm', center=0)\n", + "plt.title('Participant Clusters Based on Answer Duration Patterns')\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# cluster assignments\n", + "print(\"Cluster Assignments:\")\n", + "print(mean_durations[['Cluster']].reset_index())\n", + "\n", + "# visualize clusters\n", + "plt.figure(figsize=(15, 8))\n", + "for cluster in range(kmeans.n_clusters):\n", + " participants_in_cluster = mean_durations[mean_durations['Cluster'] == cluster].index\n", + " cluster_data = mean_durations.loc[participants_in_cluster].drop('Cluster', axis=1).T\n", + " for i, participant in enumerate(cluster_data.columns):\n", + " label = f'Cluster {cluster+1}' if i == 0 else '_nolegend_'\n", + " sns.lineplot(data=cluster_data[participant], label=label, marker='o')\n", + "\n", + "plt.title('Duration STD Across Sessions by Clusters')\n", + "plt.ylabel('Duration STD (s)')\n", + "plt.xlabel('Session')\n", + "plt.legend(title='Cluster', bbox_to_anchor=(1.05, 1), loc='upper left')\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# visualize results bar\n", + "plt.figure(figsize=(15, 8))\n", + "sns.barplot(x='Session', y='Duration STD (s)', hue='Participant', data=session_stats, errorbar=None)\n", + "plt.title('Duration STD for Each Session by Participant')\n", + "plt.ylabel('Duration STD (s)')\n", + "plt.xlabel('Session')\n", + "plt.legend(title='Participant', bbox_to_anchor=(1.05, 1), loc='upper left')\n", + "sns.despine(trim=True)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# plot per participant\n", + "sns.catplot(x='Session', y='Duration STD (s)', col='Participant', data=session_stats, kind='bar', col_wrap=4, height=4, aspect=1)\n", + "plt.subplots_adjust(top=0.9)\n", + "plt.suptitle('Duration STD for Each Session by Participant')\n", + "plt.show()\n", + "plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/individual/CSV.ipynb b/individual/CSV.ipynb deleted file mode 100755 index b0ce0b1..0000000 --- a/individual/CSV.ipynb +++ /dev/null @@ -1,153 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "id": "6wbwph8o288", - "source": "import pandas as pd\nimport numpy as np\n\nRAW = '../data/individual/raw'\nDATA = '../data/individual/processed'\nPSY = '../data/individual/psychometric'", - "metadata": {}, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2d1cae14-78bf-4aef-ac58-82fa96b1363c", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/hr.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/hr.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "14a8ada0-f7a1-4fb1-ab07-13c1ae0a0a7c", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/hr_01.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/hr_01.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4da28eb8-3d63-49d8-835e-fbf6d2796130", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/hr_02.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/hr_02.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b100977d-19df-43f1-9559-d8d9815e531f", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/hr_03.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/hr_03.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "127d676f-bc31-4518-b223-7de3195c7172", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/ibi.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/ibi.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9be74ecd-6214-4a1a-9aa2-4e67066a0223", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/ibi_01.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/ibi_01.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b056e60d-77c0-4fd1-b33e-74e28cce7a99", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/ibi_02.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/ibi_02.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "683b9f77-5c4f-46d2-a8f2-269123d437a9", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/ibi_03.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/ibi_03.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "90b59a53-e30d-4137-916d-08b66f3d06e6", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/sed.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/sed.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3885999c-d149-4689-bd63-2f692d6a689a", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/sed_01.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/sed_01.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e68c8763-e49c-4282-9e72-f24a9c8f6ff5", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/sed_02.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/sed_02.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e36ed587-ffe5-4430-97f7-3d2a949ab064", - "metadata": {}, - "outputs": [], - "source": "# load txt file\nfile_path = f'{RAW}/sed_03.txt'\ndf = pd.read_csv(file_path, delimiter=';')\n\n# save as CSV\ncsv_file_path = f'{DATA}/sed_03.csv'\ndf.to_csv(csv_file_path, index=False)\n\ncsv_file_path" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "070320ae-b287-485b-8a88-d202460949ca", - "metadata": {}, - "outputs": [], - "source": "# load CSV files\nsed_df = pd.read_csv(f'{DATA}/sed_01.csv')\n\n# rename columns\nsed_df = sed_df.rename(columns={\n 'gazeDir.x': 'gaze_x',\n 'gazeDir.y': 'gaze_y',\n 'gazeDir.z': 'gaze_z'\n})\n\n# validate data\nif sed_df[['reltime', 'gaze_x', 'gaze_y', 'gaze_z']].isnull().any().any():\n raise ValueError(\"Input data contains missing values. Please clean the data and try again.\")\n\n# gaze stability threshold\ngaze_threshold = 0.01\n\n# gaze direction diff\nsed_df['gaze_diff'] = np.sqrt((sed_df['gaze_x'].diff() ** 2) +\n (sed_df['gaze_y'].diff() ** 2) +\n (sed_df['gaze_z'].diff() ** 2))\n\n# identify fixation points\nsed_df['fixation'] = sed_df['gaze_diff'] < gaze_threshold\n\n# label fixation groups\nsed_df['fixation_id'] = (sed_df['fixation'] != sed_df['fixation'].shift()).cumsum()\n\n# filter fixations\nfixation_df = sed_df[sed_df['fixation']]\n\n# fixation duration\nfixation_duration = fixation_df.groupby('fixation_id')['reltime'].agg(['min', 'max'])\nfixation_duration['duration'] = fixation_duration['max'] - fixation_duration['min']\nfixation_duration = fixation_duration[['duration']]\n\n# merge durations\nsed_df = sed_df.merge(fixation_duration, left_on='fixation_id', right_index=True, how='left')\n\n# save data\noutput_path = f'{DATA}/sed_fix_01.csv'\nsed_df.to_csv(output_path, index=False)\n\nprint(f\"File saved successfully to {output_path}\")" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0bf1fe6a-2b34-45f3-9bf5-61814b7c9377", - "metadata": {}, - "outputs": [], - "source": "# load CSV files\nsed_df = pd.read_csv(f'{DATA}/sed_02.csv')\n\n# rename columns\nsed_df = sed_df.rename(columns={\n 'gazeDir.x': 'gaze_x',\n 'gazeDir.y': 'gaze_y',\n 'gazeDir.z': 'gaze_z'\n})\n\n# validate data\nif sed_df[['reltime', 'gaze_x', 'gaze_y', 'gaze_z']].isnull().any().any():\n raise ValueError(\"Input data contains missing values. Please clean the data and try again.\")\n\n# gaze stability threshold\ngaze_threshold = 0.01\n\n# gaze direction diff\nsed_df['gaze_diff'] = np.sqrt((sed_df['gaze_x'].diff() ** 2) +\n (sed_df['gaze_y'].diff() ** 2) +\n (sed_df['gaze_z'].diff() ** 2))\n\n# identify fixation points\nsed_df['fixation'] = sed_df['gaze_diff'] < gaze_threshold\n\n# label fixation groups\nsed_df['fixation_id'] = (sed_df['fixation'] != sed_df['fixation'].shift()).cumsum()\n\n# filter fixations\nfixation_df = sed_df[sed_df['fixation']]\n\n# fixation duration\nfixation_duration = fixation_df.groupby('fixation_id')['reltime'].agg(['min', 'max'])\nfixation_duration['duration'] = fixation_duration['max'] - fixation_duration['min']\nfixation_duration = fixation_duration[['duration']]\n\n# merge durations\nsed_df = sed_df.merge(fixation_duration, left_on='fixation_id', right_index=True, how='left')\n\n# save data\noutput_path = f'{DATA}/sed_fix_02.csv'\nsed_df.to_csv(output_path, index=False)\n\nprint(f\"File saved successfully to {output_path}\")" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bcb734b9-6537-4487-a85d-60c76a97f8e4", - "metadata": {}, - "outputs": [], - "source": "# load CSV files\nsed_df = pd.read_csv(f'{DATA}/sed_03.csv')\n\n# rename columns\nsed_df = sed_df.rename(columns={\n 'gazeDir.x': 'gaze_x',\n 'gazeDir.y': 'gaze_y',\n 'gazeDir.z': 'gaze_z'\n})\n\n# validate data\nif sed_df[['reltime', 'gaze_x', 'gaze_y', 'gaze_z']].isnull().any().any():\n raise ValueError(\"Input data contains missing values. Please clean the data and try again.\")\n\n# gaze stability threshold\ngaze_threshold = 0.01\n\n# gaze direction diff\nsed_df['gaze_diff'] = np.sqrt((sed_df['gaze_x'].diff() ** 2) +\n (sed_df['gaze_y'].diff() ** 2) +\n (sed_df['gaze_z'].diff() ** 2))\n\n# identify fixation points\nsed_df['fixation'] = sed_df['gaze_diff'] < gaze_threshold\n\n# label fixation groups\nsed_df['fixation_id'] = (sed_df['fixation'] != sed_df['fixation'].shift()).cumsum()\n\n# filter fixations\nfixation_df = sed_df[sed_df['fixation']]\n\n# fixation duration\nfixation_duration = fixation_df.groupby('fixation_id')['reltime'].agg(['min', 'max'])\nfixation_duration['duration'] = fixation_duration['max'] - fixation_duration['min']\nfixation_duration = fixation_duration[['duration']]\n\n# merge durations\nsed_df = sed_df.merge(fixation_duration, left_on='fixation_id', right_index=True, how='left')\n\n# save data\noutput_path = f'{DATA}/sed_fix_03.csv'\nsed_df.to_csv(output_path, index=False)\n\nprint(f\"File saved successfully to {output_path}\")" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/individual/Co Fixation.ipynb b/individual/Co Fixation.ipynb deleted file mode 100755 index dd12b87..0000000 --- a/individual/Co Fixation.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "b3cf26d0-e0a7-4f4b-8221-3b8d7dedcd2d", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nDATA = '../data/individual/processed'\n\n# load eye data\nsed_data_01 = pd.read_csv(f'{DATA}/sed_fix_01.csv')\nsed_data_02 = pd.read_csv(f'{DATA}/sed_fix_02.csv')\nsed_data_03 = pd.read_csv(f'{DATA}/sed_fix_03.csv')\n\n# session labels\nsed_data_01['session'] = 'Session 01'\nsed_data_02['session'] = 'Session 02'\nsed_data_03['session'] = 'Session 03'\n\n# combine datasets\nall_sed_data = pd.concat([sed_data_01, sed_data_02, sed_data_03], ignore_index=True)\n\n# plot fixation comparison\nplt.figure(figsize=(14, 7))\nsns.boxplot(data=all_sed_data, x='session', y='duration')\nplt.title('Comparison of Fixation Durations Across Sessions')\nplt.xlabel('Session')\nplt.ylabel('Fixation Duration (s)')\nplt.grid(True)\nplt.tight_layout()\nplt.show()\nplt.close()\n\n# descriptive statistics\nfixation_duration_stats = all_sed_data[['session', 'duration']].groupby('session').describe()\nfixation_duration_stats" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/individual/Correlation.ipynb b/individual/Correlation.ipynb index e07c7fe..d7c60db 100755 --- a/individual/Correlation.ipynb +++ b/individual/Correlation.ipynb @@ -1,5 +1,20 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "924f78b7", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Correlation\n", + "\n", + "Cross-modal correlations (HR, HRV, eye, psychometric) for the individual.\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, { "cell_type": "code", "execution_count": null, @@ -116,11 +131,102 @@ "id": "367b0638-43fa-4dd8-90a2-51c1d3e1906f", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nfrom scipy.stats import pearsonr\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nDATA = '../data/individual/processed'\nPSY = '../data/individual/psychometric'\n\nhr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\nhr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\nhr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n\npsychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\npsychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\npsychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n\n# high confidence only\nhr_01 = hr_01[hr_01['confidence'] == 1.0].copy()\nhr_02 = hr_02[hr_02['confidence'] == 1.0].copy()\nhr_03 = hr_03[hr_03['confidence'] == 1.0].copy()\n\ndef parse_utc(df, cols):\n # convert once, no mutation\n df = df.copy()\n for col in cols:\n df[col] = pd.to_datetime(df[col], utc=True, errors='coerce').dt.tz_convert(None)\n return df\n\nhr_01 = parse_utc(hr_01, ['datetime'])\nhr_02 = parse_utc(hr_02, ['datetime'])\nhr_03 = parse_utc(hr_03, ['datetime'])\n\npsychometric_01 = parse_utc(psychometric_01, ['Question Start Time', 'Question Answer Time'])\npsychometric_02 = parse_utc(psychometric_02, ['Question Start Time', 'Question Answer Time'])\npsychometric_03 = parse_utc(psychometric_03, ['Question Start Time', 'Question Answer Time'])\n\npsychometric_01['answer_duration'] = (psychometric_01['Question Answer Time'] - psychometric_01['Question Start Time']).dt.total_seconds()\npsychometric_02['answer_duration'] = (psychometric_02['Question Answer Time'] - psychometric_02['Question Start Time']).dt.total_seconds()\npsychometric_03['answer_duration'] = (psychometric_03['Question Answer Time'] - psychometric_03['Question Start Time']).dt.total_seconds()\n\ndef merge_hr_psychometric(hr, psy):\n return pd.merge_asof(\n hr.sort_values('datetime'),\n psy[['Question Start Time', 'answer_duration', 'Answer']].sort_values('Question Start Time'),\n left_on='datetime', right_on='Question Start Time',\n direction='nearest', tolerance=pd.Timedelta('30s')\n ).dropna(subset=['heart_rate', 'answer_duration', 'Answer'])\n\nmerged_01 = merge_hr_psychometric(hr_01, psychometric_01)\nmerged_02 = merge_hr_psychometric(hr_02, psychometric_02)\nmerged_03 = merge_hr_psychometric(hr_03, psychometric_03)\n\ndef session_correlations(merged):\n hr = merged['heart_rate']\n dur = merged['answer_duration']\n score = pd.to_numeric(merged['Answer'], errors='coerce')\n return pearsonr(hr, dur)[0], pearsonr(hr, score.dropna())[0]\n\ncorr_01 = session_correlations(merged_01)\ncorr_02 = session_correlations(merged_02)\ncorr_03 = session_correlations(merged_03)\n\ncorrelations_extended = pd.DataFrame({\n 'Session': ['Session 01', 'Session 02', 'Session 03'],\n 'Correlation Duration': [corr_01[0], corr_02[0], corr_03[0]],\n 'Correlation Score': [corr_01[1], corr_02[1], corr_03[1]]\n})\n\nprint(\"Heart Rate vs. Answer Duration and Answer Score Correlations\")\nprint(correlations_extended)\n\npsychometric_01['Session'] = 'Session 01'\npsychometric_02['Session'] = 'Session 02'\npsychometric_03['Session'] = 'Session 03'\n\nall_sessions = pd.concat([psychometric_01, psychometric_02, psychometric_03])\n\nplt.figure(figsize=(12, 6))\nsns.boxplot(data=all_sessions, x='Session', y='answer_duration')\nplt.title('Comparison of Answer Duration Across Sessions')\nplt.ylabel('Answer Duration (seconds)')\nplt.xlabel('Session')\nplt.show()\nplt.close()\n\nprint(\"Comparison of Answer Duration Across Sessions\")\nprint(all_sessions[['Session', 'answer_duration']].groupby('Session').describe())\n" + "source": [ + "import pandas as pd\n", + "from scipy.stats import pearsonr\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "DATA = '../data/individual/processed'\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "hr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\n", + "hr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\n", + "hr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n", + "\n", + "psychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", + "psychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", + "psychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", + "\n", + "# high confidence only\n", + "hr_01 = hr_01[hr_01['confidence'] == 1.0].copy()\n", + "hr_02 = hr_02[hr_02['confidence'] == 1.0].copy()\n", + "hr_03 = hr_03[hr_03['confidence'] == 1.0].copy()\n", + "\n", + "def parse_utc(df, cols):\n", + " # convert once, no mutation\n", + " df = df.copy()\n", + " for col in cols:\n", + " df[col] = pd.to_datetime(df[col], utc=True, errors='coerce').dt.tz_convert(None)\n", + " return df\n", + "\n", + "hr_01 = parse_utc(hr_01, ['datetime'])\n", + "hr_02 = parse_utc(hr_02, ['datetime'])\n", + "hr_03 = parse_utc(hr_03, ['datetime'])\n", + "\n", + "psychometric_01 = parse_utc(psychometric_01, ['Question Start Time', 'Question Answer Time'])\n", + "psychometric_02 = parse_utc(psychometric_02, ['Question Start Time', 'Question Answer Time'])\n", + "psychometric_03 = parse_utc(psychometric_03, ['Question Start Time', 'Question Answer Time'])\n", + "\n", + "psychometric_01['answer_duration'] = (psychometric_01['Question Answer Time'] - psychometric_01['Question Start Time']).dt.total_seconds()\n", + "psychometric_02['answer_duration'] = (psychometric_02['Question Answer Time'] - psychometric_02['Question Start Time']).dt.total_seconds()\n", + "psychometric_03['answer_duration'] = (psychometric_03['Question Answer Time'] - psychometric_03['Question Start Time']).dt.total_seconds()\n", + "\n", + "def merge_hr_psychometric(hr, psy):\n", + " return pd.merge_asof(\n", + " hr.sort_values('datetime'),\n", + " psy[['Question Start Time', 'answer_duration', 'Answer']].sort_values('Question Start Time'),\n", + " left_on='datetime', right_on='Question Start Time',\n", + " direction='nearest', tolerance=pd.Timedelta('30s')\n", + " ).dropna(subset=['heart_rate', 'answer_duration', 'Answer'])\n", + "\n", + "merged_01 = merge_hr_psychometric(hr_01, psychometric_01)\n", + "merged_02 = merge_hr_psychometric(hr_02, psychometric_02)\n", + "merged_03 = merge_hr_psychometric(hr_03, psychometric_03)\n", + "\n", + "def session_correlations(merged):\n", + " hr = merged['heart_rate']\n", + " dur = merged['answer_duration']\n", + " score = pd.to_numeric(merged['Answer'], errors='coerce')\n", + " return pearsonr(hr, dur)[0], pearsonr(hr, score.dropna())[0]\n", + "\n", + "corr_01 = session_correlations(merged_01)\n", + "corr_02 = session_correlations(merged_02)\n", + "corr_03 = session_correlations(merged_03)\n", + "\n", + "correlations_extended = pd.DataFrame({\n", + " 'Session': ['Session 01', 'Session 02', 'Session 03'],\n", + " 'Correlation Duration': [corr_01[0], corr_02[0], corr_03[0]],\n", + " 'Correlation Score': [corr_01[1], corr_02[1], corr_03[1]]\n", + "})\n", + "\n", + "print(\"Heart Rate vs. Answer Duration and Answer Score Correlations\")\n", + "print(correlations_extended)\n", + "\n", + "psychometric_01['Session'] = 'Session 01'\n", + "psychometric_02['Session'] = 'Session 02'\n", + "psychometric_03['Session'] = 'Session 03'\n", + "\n", + "all_sessions = pd.concat([psychometric_01, psychometric_02, psychometric_03])\n", + "\n", + "plt.figure(figsize=(12, 6))\n", + "sns.boxplot(data=all_sessions, x='Session', y='answer_duration')\n", + "plt.title('Comparison of Answer Duration Across Sessions')\n", + "plt.ylabel('Answer Duration (seconds)')\n", + "plt.xlabel('Session')\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "print(\"Comparison of Answer Duration Across Sessions\")\n", + "print(all_sessions[['Session', 'answer_duration']].groupby('Session').describe())\n" + ] }, { "cell_type": "code", + "execution_count": null, "id": "4kxj7xlncdw", + "metadata": {}, + "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", @@ -174,22 +280,74 @@ "\n", "print(f\"\\nMerged {len(merged)} question-level observations across eye + HRV modalities\")\n", "print(f\"Available biometric features: {available}\")" - ], - "metadata": {}, - "execution_count": null, - "outputs": [] + ] }, { "cell_type": "code", + "execution_count": null, "id": "ranizs76zx", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy import stats\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nDATA = '../data/individual/processed'\n\n# reload merged data\nqq2 = pd.read_csv(f'{DATA}/QQ2.csv')\nqqhrv = pd.read_csv(f'{DATA}/QQHRV.csv')\nmerged = qq2.merge(qqhrv, on=['Test', 'Type', 'Start Time', 'End Time'],\n how='inner', suffixes=('', '_hrv'))\n\nbio_cols = ['Average Pupil Dilation', 'Average Left Blink Rate', 'Average Right Blink Rate', 'RMSSD', 'SDNN']\navailable = [c for c in bio_cols if c in merged.columns]\n\n# per-session correlations\nprint(\"=== Per-Session Cross-Modal Correlations ===\\n\")\ntest_col = 'Test'\nfor session in sorted(merged[test_col].unique()):\n session_data = merged[merged[test_col] == session][available].dropna()\n if len(session_data) < 5:\n continue\n print(f\"--- {session} (n={len(session_data)}) ---\")\n for i in range(len(available)):\n for j in range(i+1, len(available)):\n r, p = stats.spearmanr(session_data[available[i]], session_data[available[j]])\n if p < 0.05:\n print(f\" {available[i]} vs {available[j]}: r={r:.3f}, p={p:.4f} *\")\n print()\n\n# scatter matrix\nfig, axes = plt.subplots(len(available), len(available), figsize=(14, 14))\nfor i in range(len(available)):\n for j in range(len(available)):\n ax = axes[i, j]\n if i == j:\n ax.hist(merged[available[i]].dropna(), bins=20, alpha=0.7, color='steelblue')\n else:\n ax.scatter(merged[available[j]], merged[available[i]], alpha=0.3, s=10)\n if i == len(available) - 1:\n ax.set_xlabel(available[j], fontsize=7, rotation=45)\n if j == 0:\n ax.set_ylabel(available[i], fontsize=7)\n ax.tick_params(labelsize=6)\n\nplt.suptitle('Cross-Modal Scatter Matrix', y=1.01)\nplt.tight_layout()\nplt.show()\nplt.close()", "metadata": {}, - "execution_count": null, - "outputs": [] + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy import stats\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "DATA = '../data/individual/processed'\n", + "\n", + "# reload merged data\n", + "qq2 = pd.read_csv(f'{DATA}/QQ2.csv')\n", + "qqhrv = pd.read_csv(f'{DATA}/QQHRV.csv')\n", + "merged = qq2.merge(qqhrv, on=['Test', 'Type', 'Start Time', 'End Time'],\n", + " how='inner', suffixes=('', '_hrv'))\n", + "\n", + "bio_cols = ['Average Pupil Dilation', 'Average Left Blink Rate', 'Average Right Blink Rate', 'RMSSD', 'SDNN']\n", + "available = [c for c in bio_cols if c in merged.columns]\n", + "\n", + "# per-session correlations\n", + "print(\"=== Per-Session Cross-Modal Correlations ===\\n\")\n", + "test_col = 'Test'\n", + "for session in sorted(merged[test_col].unique()):\n", + " session_data = merged[merged[test_col] == session][available].dropna()\n", + " if len(session_data) < 5:\n", + " continue\n", + " print(f\"--- {session} (n={len(session_data)}) ---\")\n", + " for i in range(len(available)):\n", + " for j in range(i+1, len(available)):\n", + " r, p = stats.spearmanr(session_data[available[i]], session_data[available[j]])\n", + " if p < 0.05:\n", + " print(f\" {available[i]} vs {available[j]}: r={r:.3f}, p={p:.4f} *\")\n", + " print()\n", + "\n", + "# scatter matrix\n", + "fig, axes = plt.subplots(len(available), len(available), figsize=(14, 14))\n", + "for i in range(len(available)):\n", + " for j in range(len(available)):\n", + " ax = axes[i, j]\n", + " if i == j:\n", + " ax.hist(merged[available[i]].dropna(), bins=20, alpha=0.7, color='steelblue')\n", + " else:\n", + " ax.scatter(merged[available[j]], merged[available[i]], alpha=0.3, s=10)\n", + " if i == len(available) - 1:\n", + " ax.set_xlabel(available[j], fontsize=7, rotation=45)\n", + " if j == 0:\n", + " ax.set_ylabel(available[i], fontsize=7)\n", + " ax.tick_params(labelsize=6)\n", + "\n", + "plt.suptitle('Cross-Modal Scatter Matrix', y=1.01)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", + "execution_count": null, "id": "ba781kr2hbq", + "metadata": {}, + "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", @@ -290,17 +448,14 @@ " plt.close()\n", "else:\n", " print(\"\\nNo Score column found for regression\")\n" - ], - "metadata": {}, - "execution_count": null, - "outputs": [] + ] } ], "metadata": { "kernelspec": { - "display_name": "pdf_processing", + "display_name": "Python 3", "language": "python", - "name": "pdf_processing" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -317,4 +472,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/individual/Eye Movement.ipynb b/individual/Eye Movement.ipynb deleted file mode 100755 index fced9c7..0000000 --- a/individual/Eye Movement.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "c2901313-92da-47ad-8239-ad3baa85839c", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\n\nDATA = '../data/individual/processed'\n\nbaseline_eye_tracking = pd.read_csv(f'{DATA}/sed.csv')\nbaseline_eye_tracking = baseline_eye_tracking.rename(columns={\n 'datetime': 'timestamp',\n 'pupil': 'pupil_dilation',\n 'leftEyeOpen': 'left_blink',\n 'rightEyeOpen': 'right_blink'\n})\n\nbaseline_eye_tracking['timestamp'] = pd.to_datetime(baseline_eye_tracking['timestamp'], utc=True, errors='coerce').dt.tz_convert(None)\nbaseline_eye_tracking = baseline_eye_tracking.dropna(subset=['timestamp'])\n\nstart_time = baseline_eye_tracking['timestamp'].min()\nend_time = baseline_eye_tracking['timestamp'].max()\ntotal_duration_minutes = (end_time - start_time).total_seconds() / 60\n\naverage_pupil_dilation = baseline_eye_tracking['pupil_dilation'].mean()\n\nBLINK_THRESHOLD = 1.0\nMIN_CLOSED_FRAMES = 3 # ~100ms at 30Hz\n\ndef count_blinks(series, threshold, min_frames):\n # sustained closure onset\n closed = (series <= threshold).astype(int)\n sustained = closed.rolling(min_frames).sum() == min_frames\n return int((sustained & ~sustained.shift(1, fill_value=False)).sum())\n\nleft_blink_count = count_blinks(baseline_eye_tracking['left_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES)\nright_blink_count = count_blinks(baseline_eye_tracking['right_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES)\n\nif total_duration_minutes <= 0:\n left_blink_rate, right_blink_rate = 0.0, 0.0\nelse:\n left_blink_rate = left_blink_count / total_duration_minutes\n right_blink_rate = right_blink_count / total_duration_minutes\n\nprint(f\"Baseline Metrics:\\n\")\nprint(f\" Start Time: {start_time}\")\nprint(f\" End Time: {end_time}\")\nprint(f\" Total Duration: {total_duration_minutes:.2f} minutes\")\nprint(f\" Average Pupil Dilation: {average_pupil_dilation:.2f}\")\nprint(f\" Left Blink Rate: {left_blink_rate:.2f} blinks/min\")\nprint(f\" Right Blink Rate: {right_blink_rate:.2f} blinks/min\")\n" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/individual/Fixation.ipynb b/individual/Fixation.ipynb index e03b1a8..ec70f5b 100755 --- a/individual/Fixation.ipynb +++ b/individual/Fixation.ipynb @@ -1,5 +1,20 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "d48a80a7", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Fixation\n", + "\n", + "Fixation-duration analysis.\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, { "cell_type": "code", "execution_count": null, @@ -124,14 +139,73 @@ "id": "62f4a174", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport matplotlib.dates as mdates\nimport numpy as np\n\nDATA = '../data/individual/processed'\nPSY = '../data/individual/psychometric'\n\nquestion_types_count = {'HADS': 14, 'STAI-T': 20, 'STAI-S': 20, 'BFI': 10, 'FQ': 24}\n\ndef plot_fixation_duration_for_category(sed_data, psy_data, category_name, expected_questions, session_num, window_size=20):\n category_data = psy_data[psy_data['Type'] == category_name].copy()\n\n segments, question_times = [], []\n for _, row in category_data.iterrows():\n mask = (sed_data['datetime'] >= row['Question Start Time']) & (sed_data['datetime'] <= row['Question Answer Time'])\n seg = sed_data.loc[mask]\n if not seg.empty:\n segments.append(seg)\n question_times.append(row['Question Answer Time'])\n\n category_eye = pd.concat(segments, ignore_index=True) if segments else pd.DataFrame()\n if len(question_times) != expected_questions:\n print(f\"Warning: {category_name} has {len(question_times)} questions, expected {expected_questions}\")\n\n category_eye = category_eye.sort_values('datetime').reset_index(drop=True)\n category_eye['smoothed_fixation_duration'] = category_eye['duration'].rolling(window=window_size).mean()\n category_eye = category_eye[np.isfinite(category_eye['smoothed_fixation_duration'])]\n\n plt.figure(figsize=(12, 6))\n plt.plot(category_eye['datetime'], category_eye['smoothed_fixation_duration'], label='Fixation Duration', color='b')\n\n for i, time in enumerate(question_times, start=1):\n if not category_eye.empty:\n nearest_idx = (category_eye['datetime'] - time).abs().idxmin()\n fd = category_eye.loc[nearest_idx, 'smoothed_fixation_duration']\n plt.scatter(category_eye.loc[nearest_idx, 'datetime'], fd, color='red', s=50, zorder=5)\n plt.text(category_eye.loc[nearest_idx, 'datetime'], fd + 0.1, f'Q{i}', fontsize=9, rotation=45, ha='right')\n\n plt.xlabel('Time')\n plt.ylabel('Fixation Duration')\n plt.title(f'Fixation Duration During {category_name} - Session {session_num:02d}')\n plt.xticks(rotation=45)\n plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))\n plt.legend()\n plt.grid(True)\n plt.tight_layout()\n plt.show()\n plt.close()\n\nfor i in range(1, 4):\n sed = pd.read_csv(f'{DATA}/sed_fix_{i:02d}.csv')\n sed['datetime'] = pd.to_datetime(sed['datetime'], format='%Y/%m/%d %H:%M:%S.%f', utc=True, errors='coerce').dt.tz_convert(None)\n psy = pd.read_csv(f'{PSY}/Psychometric_Test_Results_{i:02d}.csv')\n psy['Question Start Time'] = pd.to_datetime(psy['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n psy['Question Answer Time'] = pd.to_datetime(psy['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n for category, expected in question_types_count.items():\n plot_fixation_duration_for_category(sed, psy, category, expected, i)" + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.dates as mdates\n", + "import numpy as np\n", + "\n", + "DATA = '../data/individual/processed'\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "question_types_count = {'HADS': 14, 'STAI-T': 20, 'STAI-S': 20, 'BFI': 10, 'FQ': 24}\n", + "\n", + "def plot_fixation_duration_for_category(sed_data, psy_data, category_name, expected_questions, session_num, window_size=20):\n", + " category_data = psy_data[psy_data['Type'] == category_name].copy()\n", + "\n", + " segments, question_times = [], []\n", + " for _, row in category_data.iterrows():\n", + " mask = (sed_data['datetime'] >= row['Question Start Time']) & (sed_data['datetime'] <= row['Question Answer Time'])\n", + " seg = sed_data.loc[mask]\n", + " if not seg.empty:\n", + " segments.append(seg)\n", + " question_times.append(row['Question Answer Time'])\n", + "\n", + " category_eye = pd.concat(segments, ignore_index=True) if segments else pd.DataFrame()\n", + " if len(question_times) != expected_questions:\n", + " print(f\"Warning: {category_name} has {len(question_times)} questions, expected {expected_questions}\")\n", + "\n", + " category_eye = category_eye.sort_values('datetime').reset_index(drop=True)\n", + " category_eye['smoothed_fixation_duration'] = category_eye['duration'].rolling(window=window_size).mean()\n", + " category_eye = category_eye[np.isfinite(category_eye['smoothed_fixation_duration'])]\n", + "\n", + " plt.figure(figsize=(12, 6))\n", + " plt.plot(category_eye['datetime'], category_eye['smoothed_fixation_duration'], label='Fixation Duration', color='b')\n", + "\n", + " for i, time in enumerate(question_times, start=1):\n", + " if not category_eye.empty:\n", + " nearest_idx = (category_eye['datetime'] - time).abs().idxmin()\n", + " fd = category_eye.loc[nearest_idx, 'smoothed_fixation_duration']\n", + " plt.scatter(category_eye.loc[nearest_idx, 'datetime'], fd, color='red', s=50, zorder=5)\n", + " plt.text(category_eye.loc[nearest_idx, 'datetime'], fd + 0.1, f'Q{i}', fontsize=9, rotation=45, ha='right')\n", + "\n", + " plt.xlabel('Time')\n", + " plt.ylabel('Fixation Duration')\n", + " plt.title(f'Fixation Duration During {category_name} - Session {session_num:02d}')\n", + " plt.xticks(rotation=45)\n", + " plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))\n", + " plt.legend()\n", + " plt.grid(True)\n", + " plt.tight_layout()\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "for i in range(1, 4):\n", + " sed = pd.read_csv(f'{DATA}/sed_fix_{i:02d}.csv')\n", + " sed['datetime'] = pd.to_datetime(sed['datetime'], format='%Y/%m/%d %H:%M:%S.%f', utc=True, errors='coerce').dt.tz_convert(None)\n", + " psy = pd.read_csv(f'{PSY}/Psychometric_Test_Results_{i:02d}.csv')\n", + " psy['Question Start Time'] = pd.to_datetime(psy['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " psy['Question Answer Time'] = pd.to_datetime(psy['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " for category, expected in question_types_count.items():\n", + " plot_fixation_duration_for_category(sed, psy, category, expected, i)" + ] } ], "metadata": { "kernelspec": { - "display_name": "pdf_processing", + "display_name": "Python 3", "language": "python", - "name": "pdf_processing" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -148,4 +222,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/individual/HADS EYE.ipynb b/individual/HADS EYE.ipynb deleted file mode 100755 index 73586d3..0000000 --- a/individual/HADS EYE.ipynb +++ /dev/null @@ -1,41 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "id": "z9ozevy0iye", - "source": "import pandas as pd\n\nDATA = '../data/individual/processed'\nPSY = '../data/individual/psychometric'\n\ncolumns_mapping = {\n 'datetime': 'timestamp',\n 'pupil': 'pupil_dilation',\n 'leftEyeOpen': 'left_blink',\n 'rightEyeOpen': 'right_blink'\n}\n\nbaseline_eye_tracking = pd.read_csv(f'{DATA}/sed.csv').rename(columns=columns_mapping)\neye_tracking_01 = pd.read_csv(f'{DATA}/sed_01.csv').rename(columns=columns_mapping)\neye_tracking_02 = pd.read_csv(f'{DATA}/sed_02.csv').rename(columns=columns_mapping)\neye_tracking_03 = pd.read_csv(f'{DATA}/sed_03.csv').rename(columns=columns_mapping)\n\npsychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\npsychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\npsychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n\ndef clean_eye_tracking_data(eye_tracking_data):\n df = eye_tracking_data.copy()\n df['timestamp'] = pd.to_datetime(\n df['timestamp'], utc=True, errors='coerce'\n ).dt.tz_convert(None)\n return df.dropna(subset=['timestamp'])\n\nbaseline_eye_tracking = clean_eye_tracking_data(baseline_eye_tracking)\neye_tracking_01 = clean_eye_tracking_data(eye_tracking_01)\neye_tracking_02 = clean_eye_tracking_data(eye_tracking_02)\neye_tracking_03 = clean_eye_tracking_data(eye_tracking_03)\n\npsychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n\npsychometric_01 = psychometric_01.dropna(subset=['Question Start Time'])\npsychometric_02 = psychometric_02.dropna(subset=['Question Start Time'])\npsychometric_03 = psychometric_03.dropna(subset=['Question Start Time'])\n\ndef filter_eye_tracking_data(eye_tracking_data, question):\n return eye_tracking_data[\n (eye_tracking_data['timestamp'] >= question['Question Start Time']) &\n (eye_tracking_data['timestamp'] <= question['Question Answer Time'])\n ]\n\nBLINK_THRESHOLD = 1.0\nMIN_CLOSED_FRAMES = 3 # ~100ms at 30Hz\n\ndef count_blinks(series, threshold, min_frames):\n # sustained closure onset\n closed = (series <= threshold).astype(int)\n sustained = closed.rolling(min_frames).sum() == min_frames\n return int((sustained & ~sustained.shift(1, fill_value=False)).sum())\n\ndef calculate_eye_tracking_metrics(eye_tracking_data):\n average_pupil_dilation = eye_tracking_data['pupil_dilation'].mean()\n total_duration_minutes = (\n (eye_tracking_data['timestamp'].max() - eye_tracking_data['timestamp'].min())\n .total_seconds() / 60\n )\n if total_duration_minutes <= 0:\n return average_pupil_dilation, 0.0, 0.0\n left_blink_rate = count_blinks(eye_tracking_data['left_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n right_blink_rate = count_blinks(eye_tracking_data['right_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n return average_pupil_dilation, left_blink_rate, right_blink_rate\n\nbaseline_metrics = calculate_eye_tracking_metrics(baseline_eye_tracking)\n\ndef detect_significant_increase(test_metrics, baseline_metrics):\n return (\n test_metrics[0] > baseline_metrics[0],\n test_metrics[1] > baseline_metrics[1],\n test_metrics[2] > baseline_metrics[2]\n )\n\ndef filter_correct_questions(df, types_count):\n filtered_df = pd.DataFrame()\n for q_type, count in types_count.items():\n filtered_df = pd.concat([filtered_df, df[df['Type'] == q_type].head(count)])\n return filtered_df\n", - "metadata": {}, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d3e73cc4-0548-4a9f-af48-063c5f7fef4d", - "metadata": {}, - "outputs": [], - "source": "# Validate – correcting total number of questions per type\ntypes_count = {\n 'HADS': 14,\n 'STAI-S': 20,\n 'STAI-T': 20,\n 'BFI': 10,\n 'FQ': 24\n}\n\nquestions_01 = filter_correct_questions(psychometric_01, types_count)\nquestions_02 = filter_correct_questions(psychometric_02, types_count)\nquestions_03 = filter_correct_questions(psychometric_03, types_count)\n\n# Calculate metrics with baseline comparison (rounded, with per-metric flags)\ndef calculate_metrics_validated(questions, eye_tracking_data, baseline_metrics):\n results = []\n for _, question in questions.iterrows():\n filtered_data = filter_eye_tracking_data(eye_tracking_data, question)\n if not filtered_data.empty:\n metrics = calculate_eye_tracking_metrics(filtered_data)\n significant_increases = detect_significant_increase(metrics, baseline_metrics)\n results.append({\n 'Type': question['Type'],\n 'Question': question['Question'],\n 'Start Time': question['Question Start Time'],\n 'End Time': question['Question Answer Time'],\n 'Score': question['Answer'],\n 'Average Pupil Dilation': round(metrics[0], 2),\n 'Average Left Blink Rate': round(metrics[1], 2),\n 'Average Right Blink Rate': round(metrics[2], 2),\n 'Sign of Anxiety': 'Yes' if any(significant_increases) else 'No',\n 'Pupil Dilation Increase': 'Yes' if significant_increases[0] else 'No',\n 'Left Blink Rate Increase': 'Yes' if significant_increases[1] else 'No',\n 'Right Blink Rate Increase': 'Yes' if significant_increases[2] else 'No'\n })\n return pd.DataFrame(results)\n\nresults_01 = calculate_metrics_validated(questions_01, eye_tracking_01, baseline_metrics)\nresults_02 = calculate_metrics_validated(questions_02, eye_tracking_02, baseline_metrics)\nresults_03 = calculate_metrics_validated(questions_03, eye_tracking_03, baseline_metrics)\n\n# Combine and validate row count\nresults_01['Test'] = 'Test 01'\nresults_02['Test'] = 'Test 02'\nresults_03['Test'] = 'Test 03'\n\ncombined_results = pd.concat([results_01, results_02, results_03], ignore_index=True)\n\nexpected_rows = sum(types_count.values()) * 3\nif len(combined_results) != expected_rows:\n raise ValueError(f\"Expected {expected_rows} rows, got {len(combined_results)}\")\n\n# Save data\ncombined_results.to_csv(f'{DATA}/QQ2.csv', index=False)\n\ncombined_results.head()" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/individual/HADS HRV.ipynb b/individual/HADS HRV.ipynb deleted file mode 100755 index 8d59892..0000000 --- a/individual/HADS HRV.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "9c18ab09-a0af-43b8-b908-7d1727472548", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\n\nDATA = '../data/individual/processed'\nPSY = '../data/individual/psychometric'\n\ndef calculate_hrv_metrics(ibi_data):\n valid_ibi = pd.Series(ibi_data)\n diff_nn = np.diff(valid_ibi)\n rmssd = np.sqrt(np.mean(np.square(diff_nn)))\n sdnn = np.std(valid_ibi, ddof=1)\n return rmssd, sdnn\n\nibi_baseline = pd.read_csv(f'{DATA}/ibi.csv')\nibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\nibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\nibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n\n# physiological bounds\nibi_baseline = ibi_baseline[(ibi_baseline['ibi'] > 300) & (ibi_baseline['ibi'] < 2000)]\nrmssd_baseline, sdnn_baseline = calculate_hrv_metrics(ibi_baseline['ibi'])\nbaseline_metrics = (rmssd_baseline, sdnn_baseline)\n\npsychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\npsychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\npsychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n\npsychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n\npsychometric_01 = psychometric_01.dropna(subset=['Question Start Time'])\npsychometric_02 = psychometric_02.dropna(subset=['Question Start Time'])\npsychometric_03 = psychometric_03.dropna(subset=['Question Start Time'])\n\ntypes_count = {'HADS': 14, 'STAI-S': 20, 'STAI-T': 20, 'BFI': 10, 'FQ': 24}\n\ndef filter_correct_questions(df, types_count):\n filtered_df = pd.DataFrame()\n for q_type, count in types_count.items():\n filtered_df = pd.concat([filtered_df, df[df['Type'] == q_type].head(count)])\n return filtered_df\n\nquestions_01 = filter_correct_questions(psychometric_01, types_count)\nquestions_02 = filter_correct_questions(psychometric_02, types_count)\nquestions_03 = filter_correct_questions(psychometric_03, types_count)\n\ndef prepare_ibi(ibi_data):\n # convert once, avoid repeated mutation\n ibi = ibi_data.copy()\n ibi['datetime'] = pd.to_datetime(ibi['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n return ibi\n\nibi_01 = prepare_ibi(ibi_01)\nibi_02 = prepare_ibi(ibi_02)\nibi_03 = prepare_ibi(ibi_03)\n\ndef get_ibi_data(question, ibi_data):\n filtered = ibi_data[\n (ibi_data['datetime'] >= question['Question Start Time']) &\n (ibi_data['datetime'] <= question['Question Answer Time'])\n ]\n return filtered['ibi'].values\n\ndef detect_significant_decrease(test_metrics, baseline_metrics):\n return (\n test_metrics[0] < baseline_metrics[0],\n test_metrics[1] < baseline_metrics[1]\n )\n\ndef calculate_hrv_metrics_for_questions(questions, ibi_data, baseline_metrics):\n results = []\n for _, question in questions.iterrows():\n ibi_values = get_ibi_data(question, ibi_data)\n # physiological bounds\n ibi_values = ibi_values[(ibi_values > 300) & (ibi_values < 2000)]\n if len(ibi_values) > 1:\n rmssd, sdnn = calculate_hrv_metrics(ibi_values)\n sig = detect_significant_decrease((rmssd, sdnn), baseline_metrics)\n results.append({\n 'Type': question['Type'],\n 'Start Time': question['Question Start Time'],\n 'End Time': question['Question Answer Time'],\n 'Score': question['Answer'],\n 'RMSSD': round(rmssd, 2),\n 'SDNN': round(sdnn, 2),\n 'RMSSD Decrease': 'Yes' if sig[0] else 'No',\n 'SDNN Decrease': 'Yes' if sig[1] else 'No'\n })\n return pd.DataFrame(results)\n\nresults_01 = calculate_hrv_metrics_for_questions(questions_01, ibi_01, baseline_metrics)\nresults_02 = calculate_hrv_metrics_for_questions(questions_02, ibi_02, baseline_metrics)\nresults_03 = calculate_hrv_metrics_for_questions(questions_03, ibi_03, baseline_metrics)\n\nresults_01['Test'] = 'Test 01'\nresults_02['Test'] = 'Test 02'\nresults_03['Test'] = 'Test 03'\n\ncombined_results = pd.concat([results_01, results_02, results_03], ignore_index=True)\ncombined_results = combined_results[['Test', 'Type', 'Start Time', 'End Time', 'Score', 'RMSSD', 'SDNN', 'RMSSD Decrease', 'SDNN Decrease']]\ncombined_results.to_csv(f'{DATA}/QQHRV.csv', index=False)\n\ncombined_results.head()\n" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/individual/Q.ipynb b/individual/Q.ipynb deleted file mode 100755 index 9b952a5..0000000 --- a/individual/Q.ipynb +++ /dev/null @@ -1,196 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "e36e3c42-a501-4e6c-8850-bc6c970c0c28", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport numpy as np\n\nDATA = '../data/individual/processed'\nPSY = '../data/individual/psychometric'\n\nhr_baseline = pd.read_csv(f'{DATA}/hr.csv')\nhr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\nhr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\nhr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n\nibi_baseline = pd.read_csv(f'{DATA}/ibi.csv')\nibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\nibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\nibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n\neye_tracking_baseline = pd.read_csv(f'{DATA}/sed.csv')\neye_tracking_01 = pd.read_csv(f'{DATA}/sed_01.csv')\neye_tracking_02 = pd.read_csv(f'{DATA}/sed_02.csv')\neye_tracking_03 = pd.read_csv(f'{DATA}/sed_03.csv')\n\npsychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\npsychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\npsychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n\ncolumns_mapping = {'datetime': 'timestamp', 'pupil': 'pupil_dilation', 'leftEyeOpen': 'left_blink', 'rightEyeOpen': 'right_blink'}\neye_tracking_baseline, eye_tracking_01, eye_tracking_02, eye_tracking_03 = [\n df.rename(columns=columns_mapping) for df in\n [eye_tracking_baseline, eye_tracking_01, eye_tracking_02, eye_tracking_03]\n]\n\ndef clean_eye(df):\n df['timestamp'] = pd.to_datetime(df['timestamp'], utc=True, errors='coerce').dt.tz_convert(None)\n return df.dropna(subset=['timestamp'])\n\ndef clean_hrv(df):\n df['datetime'] = pd.to_datetime(df['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n return df.dropna(subset=['datetime'])\n\neye_tracking_baseline = clean_eye(eye_tracking_baseline)\neye_tracking_01 = clean_eye(eye_tracking_01)\neye_tracking_02 = clean_eye(eye_tracking_02)\neye_tracking_03 = clean_eye(eye_tracking_03)\n\nhr_baseline = clean_hrv(hr_baseline)\nhr_01 = clean_hrv(hr_01)\nhr_02 = clean_hrv(hr_02)\nhr_03 = clean_hrv(hr_03)\nibi_baseline = clean_hrv(ibi_baseline)\nibi_01 = clean_hrv(ibi_01)\nibi_02 = clean_hrv(ibi_02)\nibi_03 = clean_hrv(ibi_03)\n\npsychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n\npsychometric_01 = psychometric_01.dropna(subset=['Question Start Time'])\npsychometric_02 = psychometric_02.dropna(subset=['Question Start Time'])\npsychometric_03 = psychometric_03.dropna(subset=['Question Start Time'])\n\ndef calculate_hrv_metrics(ibi_data):\n if len(ibi_data) == 0:\n return None, None\n valid_ibi = ibi_data[ibi_data > 0]\n rmssd = np.sqrt(np.mean(np.square(np.diff(valid_ibi))))\n sdnn = np.std(valid_ibi, ddof=1)\n return rmssd, sdnn\n\ndef calculate_blink_rate(blink_data, duration_s):\n if duration_s <= 0:\n return 0.0\n blink_count = ((blink_data > 1.0) & (blink_data.shift(-1) <= 1.0)).sum()\n return blink_count / (duration_s / 60)\n\nbaseline_avg_hr = hr_baseline['heart_rate'].mean()\nbaseline_duration_s = (eye_tracking_baseline['timestamp'].max() - eye_tracking_baseline['timestamp'].min()).total_seconds()\n\nbaseline_metrics = {\n 'rmssd': calculate_hrv_metrics(ibi_baseline['ibi'])[0],\n 'sdnn': calculate_hrv_metrics(ibi_baseline['ibi'])[1],\n 'pupil_dilation': eye_tracking_baseline['pupil_dilation'].mean(),\n 'left_blink_rate': calculate_blink_rate(eye_tracking_baseline['left_blink'], baseline_duration_s),\n 'right_blink_rate': calculate_blink_rate(eye_tracking_baseline['right_blink'], baseline_duration_s),\n}\n\ndef process_question_data(questions, hr_data, ibi_data, eye_tracking_data, baseline_avg_hr, baseline_metrics):\n results = []\n for _, question in questions.iterrows():\n start_time = question['Question Start Time']\n end_time = question['Question Answer Time']\n duration_s = (end_time - start_time).total_seconds()\n\n hr_segment = hr_data[(hr_data['datetime'] >= start_time) & (hr_data['datetime'] <= end_time)]\n ibi_segment = ibi_data[(ibi_data['datetime'] >= start_time) & (ibi_data['datetime'] <= end_time)]\n eye_segment = eye_tracking_data[(eye_tracking_data['timestamp'] >= start_time) & (eye_tracking_data['timestamp'] <= end_time)]\n\n avg_hr = hr_segment['heart_rate'].mean()\n rmssd, sdnn = calculate_hrv_metrics(ibi_segment['ibi'])\n avg_pupil = eye_segment['pupil_dilation'].mean()\n left_blink = calculate_blink_rate(eye_segment['left_blink'], duration_s)\n right_blink = calculate_blink_rate(eye_segment['right_blink'], duration_s)\n\n results.append({\n 'Question': question['Question'],\n 'Start Time': start_time.strftime('%H:%M:%S'),\n 'End Time': end_time.strftime('%H:%M:%S'),\n 'Duration (s)': duration_s,\n 'Average HR (BPM)': avg_hr,\n 'RMSSD (ms)': rmssd,\n 'SDNN (ms)': sdnn,\n 'Average Pupil Dilation': avg_pupil,\n 'Left Blink Rate': left_blink,\n 'Right Blink Rate': right_blink,\n })\n return results\n\ndef display_results(results, test_number):\n print(f\"\\nTest {test_number:02d}:\")\n for r in results:\n print(f\" {r['Question']}: {r['Start Time']} - {r['End Time']} ({r['Duration (s)']}s)\")\n hr_val = r['Average HR (BPM)']\n rmssd_val = r['RMSSD (ms)']\n sdnn_val = r['SDNN (ms)']\n print(f\" HR: {hr_val:.2f} BPM\" if hr_val is not None else \" HR: N/A\")\n print(f\" RMSSD: {rmssd_val:.2f} ms SDNN: {sdnn_val:.2f} ms\" if rmssd_val is not None else \" RMSSD: N/A SDNN: N/A\")\n print(f\" Pupil: {r['Average Pupil Dilation']:.2f} Left blink: {r['Left Blink Rate']:.2f} Right blink: {r['Right Blink Rate']:.2f}\")\n\nsessions = [\n (psychometric_01, hr_01, ibi_01, eye_tracking_01),\n (psychometric_02, hr_02, ibi_02, eye_tracking_02),\n (psychometric_03, hr_03, ibi_03, eye_tracking_03),\n]\n\nfor i, (psy, hr, ibi, eye) in enumerate(sessions, 1):\n results = process_question_data(psy[psy['Type'] == 'HADS'], hr, ibi, eye, baseline_avg_hr, baseline_metrics)\n display_results(results, i)" - }, - { - "cell_type": "code", - "id": "727w5p4jsuj", - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "\n", - "PSY = '../data/individual/psychometric'\n", - "\n", - "# load psychometric data\n", - "psy_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", - "psy_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", - "psy_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", - "\n", - "# clinical thresholds\n", - "thresholds = {\n", - " 'HADS': {'normal': 7, 'borderline': 10, 'label': '0-7 normal, 8-10 borderline, 11+ abnormal'},\n", - " 'STAI-S': {'normal': 39, 'borderline': 54, 'label': '20-39 low, 40-54 moderate, 55+ high'},\n", - " 'STAI-T': {'normal': 39, 'borderline': 54, 'label': '20-39 low, 40-54 moderate, 55+ high'},\n", - "}\n", - "\n", - "# total scores\n", - "print(\"=== Psychometric Total Scores ===\\n\")\n", - "for i, psy in enumerate([psy_01, psy_02, psy_03], 1):\n", - " print(f\"--- Session {i:02d} ---\")\n", - " for q_type in psy['Type'].unique():\n", - " subset = psy[psy['Type'] == q_type]\n", - " answers = pd.to_numeric(subset['Answer'], errors='coerce')\n", - " total = answers.sum()\n", - " n_items = len(answers.dropna())\n", - " mean_score = answers.mean()\n", - "\n", - " if q_type in thresholds:\n", - " t = thresholds[q_type]\n", - " if total <= t['normal']:\n", - " level = \"normal\"\n", - " elif total <= t['borderline']:\n", - " level = \"borderline\"\n", - " else:\n", - " level = \"elevated\"\n", - " print(f\" {q_type}: total={total}, mean={mean_score:.2f}, n={n_items} -> {level} ({t['label']})\")\n", - " else:\n", - " print(f\" {q_type}: total={total}, mean={mean_score:.2f}, n={n_items}\")\n", - " print()\n", - "\n", - "# session comparison\n", - "print(\"=== Score Changes Across Sessions ===\\n\")\n", - "for q_type in psy_01['Type'].unique():\n", - " scores = []\n", - " for psy in [psy_01, psy_02, psy_03]:\n", - " scores.append(pd.to_numeric(psy[psy['Type'] == q_type]['Answer'], errors='coerce').sum())\n", - " trend = \"increasing\" if scores[-1] > scores[0] else \"decreasing\" if scores[-1] < scores[0] else \"stable\"\n", - " print(f\"{q_type}: {scores} ({trend})\")" - ], - "metadata": {}, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "id": "7u8jua0ogx7", - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "\n", - "PSY = '../data/individual/psychometric'\n", - "\n", - "# load data\n", - "psy_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", - "psy_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", - "psy_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", - "\n", - "# extract item number\n", - "def get_item_num(test_str):\n", - " part = str(test_str).split('.')[-1]\n", - " return int(part) if part.isdigit() else 0\n", - "\n", - "# --- HADS subscale separation ---\n", - "print(\"=== HADS Subscale Analysis ===\\n\")\n", - "print(\"Anxiety items: 1,3,5,7,9,11,13 | Depression items: 2,4,6,8,10,12,14\")\n", - "print(\"Threshold: 0-7 normal, 8-10 borderline, 11+ clinical\\n\")\n", - "\n", - "for i, psy in enumerate([psy_01, psy_02, psy_03], 1):\n", - " hads = psy[psy['Type'] == 'HADS'].copy()\n", - " hads['item_num'] = hads['Test'].apply(get_item_num)\n", - " \n", - " anxiety_items = hads[hads['item_num'].isin([1, 3, 5, 7, 9, 11, 13])]\n", - " depression_items = hads[hads['item_num'].isin([2, 4, 6, 8, 10, 12, 14])]\n", - " \n", - " anx_total = pd.to_numeric(anxiety_items['Answer'], errors='coerce').sum()\n", - " dep_total = pd.to_numeric(depression_items['Answer'], errors='coerce').sum()\n", - " \n", - " anx_level = \"normal\" if anx_total <= 7 else \"borderline\" if anx_total <= 10 else \"clinical\"\n", - " dep_level = \"normal\" if dep_total <= 7 else \"borderline\" if dep_total <= 10 else \"clinical\"\n", - " \n", - " print(f\"Session {i:02d}: Anxiety={anx_total} ({anx_level}), Depression={dep_total} ({dep_level})\")\n", - "\n", - "# --- session trajectories ---\n", - "print(\"\\n=== Subscale Trajectories ===\\n\")\n", - "subscale_scores = {'HADS-A': [], 'HADS-D': [], 'STAI-S': [], 'STAI-T': []}\n", - "\n", - "for psy in [psy_01, psy_02, psy_03]:\n", - " hads = psy[psy['Type'] == 'HADS'].copy()\n", - " hads['item_num'] = hads['Test'].apply(get_item_num)\n", - " subscale_scores['HADS-A'].append(pd.to_numeric(hads[hads['item_num'].isin([1, 3, 5, 7, 9, 11, 13])]['Answer'], errors='coerce').sum())\n", - " subscale_scores['HADS-D'].append(pd.to_numeric(hads[hads['item_num'].isin([2, 4, 6, 8, 10, 12, 14])]['Answer'], errors='coerce').sum())\n", - " subscale_scores['STAI-S'].append(pd.to_numeric(psy[psy['Type'] == 'STAI-S']['Answer'], errors='coerce').sum())\n", - " subscale_scores['STAI-T'].append(pd.to_numeric(psy[psy['Type'] == 'STAI-T']['Answer'], errors='coerce').sum())\n", - "\n", - "for name, scores in subscale_scores.items():\n", - " trend = \"increasing\" if scores[-1] > scores[0] else \"decreasing\" if scores[-1] < scores[0] else \"stable\"\n", - " print(f\"{name}: {scores} ({trend})\")\n", - "\n", - "# --- radar chart ---\n", - "fig, axes = plt.subplots(1, 3, figsize=(18, 6), subplot_kw=dict(polar=True))\n", - "categories = list(subscale_scores.keys())\n", - "n_cats = len(categories)\n", - "angles = np.linspace(0, 2 * np.pi, n_cats, endpoint=False).tolist()\n", - "angles += angles[:1]\n", - "\n", - "# normalize for radar\n", - "max_vals = {'HADS-A': 21, 'HADS-D': 21, 'STAI-S': 80, 'STAI-T': 80}\n", - "colors = ['tab:blue', 'tab:orange', 'tab:green']\n", - "\n", - "for idx in range(3):\n", - " ax = axes[idx]\n", - " values = [subscale_scores[cat][idx] / max_vals[cat] * 100 for cat in categories]\n", - " values += values[:1]\n", - " \n", - " ax.plot(angles, values, 'o-', color=colors[idx], linewidth=2)\n", - " ax.fill(angles, values, alpha=0.25, color=colors[idx])\n", - " ax.set_thetagrids(np.degrees(angles[:-1]), categories)\n", - " ax.set_ylim(0, 100)\n", - " ax.set_title(f'Session {idx+1:02d}', pad=20)\n", - " ax.set_yticks([25, 50, 75])\n", - " ax.set_yticklabels(['25%', '50%', '75%'], fontsize=7)\n", - "\n", - "plt.suptitle('Psychometric Profile (% of max score)', y=1.05)\n", - "plt.tight_layout()\n", - "plt.show()\n", - "plt.close()\n", - "\n", - "# --- trajectory line plot ---\n", - "fig, ax = plt.subplots(figsize=(10, 6))\n", - "sessions = ['Session 01', 'Session 02', 'Session 03']\n", - "for name, scores in subscale_scores.items():\n", - " normalized = [s / max_vals[name] * 100 for s in scores]\n", - " ax.plot(sessions, normalized, 'o-', label=name, linewidth=2, markersize=8)\n", - "\n", - "ax.axhline(50, color='red', linestyle='--', alpha=0.5, label='50% threshold')\n", - "ax.set_ylabel('Score (% of maximum)')\n", - "ax.set_title('Psychometric Subscale Trajectories Across Sessions')\n", - "ax.legend()\n", - "ax.grid(axis='y', linestyle='--', alpha=0.5)\n", - "plt.tight_layout()\n", - "plt.show()\n", - "plt.close()" - ], - "metadata": {}, - "execution_count": null, - "outputs": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/individual/Time.ipynb b/individual/Time.ipynb deleted file mode 100755 index a47afb4..0000000 --- a/individual/Time.ipynb +++ /dev/null @@ -1,41 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "5e246c21-211e-4af2-aeec-c0a65651e49b", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nPSY = '../data/individual/psychometric'\n\n# load data\npsychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\npsychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\npsychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n\n# Convert datetimes\npsychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n\npsychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n\n# answer duration\npsychometric_01['answer_duration'] = (psychometric_01['Question Answer Time'] - psychometric_01['Question Start Time']).dt.total_seconds() / 60\npsychometric_02['answer_duration'] = (psychometric_02['Question Answer Time'] - psychometric_02['Question Start Time']).dt.total_seconds() / 60\npsychometric_03['answer_duration'] = (psychometric_03['Question Answer Time'] - psychometric_03['Question Start Time']).dt.total_seconds() / 60\n\npsychometric_01['Session'] = 'Session 01'\npsychometric_02['Session'] = 'Session 02'\npsychometric_03['Session'] = 'Session 03'\n\nall_sessions = pd.concat([psychometric_01, psychometric_02, psychometric_03])\n\nsession_stats = all_sessions.groupby('Session')['answer_duration'].agg(['count', 'sum', 'std']).reset_index()\nsession_stats = session_stats.rename(columns={'count': 'Count', 'sum': 'Total Timing (minutes)', 'std': 'Standard Deviation (minutes)'})\n\n# display results\nprint(\"Total Timing During 3 Sessions\")\nprint(session_stats)\n\n# Plot answer duration\nplt.figure(figsize=(12, 6))\nsns.boxplot(data=all_sessions, x='Session', y='answer_duration')\nplt.title('Comparison of Answer Duration Across Sessions')\nplt.ylabel('Answer Duration (minutes)')\nplt.xlabel('Session')\nplt.show()\nplt.close()" - }, - { - "cell_type": "code", - "id": "gky3nwyskrj", - "source": "import pandas as pd\nimport numpy as np\nfrom scipy import stats\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nPSY = '../data/individual/psychometric'\n\n# load data\npsy_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\npsy_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\npsy_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n\nfor df in [psy_01, psy_02, psy_03]:\n df['Question Start Time'] = pd.to_datetime(df['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n df['Question Answer Time'] = pd.to_datetime(df['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n df['duration_s'] = (df['Question Answer Time'] - df['Question Start Time']).dt.total_seconds()\n\nsessions = {\n 'Session 01': psy_01['duration_s'],\n 'Session 02': psy_02['duration_s'],\n 'Session 03': psy_03['duration_s']\n}\n\n# normality tests\nprint(\"=== Shapiro-Wilk Tests ===\\n\")\nfor name, dur in sessions.items():\n stat, p = stats.shapiro(dur)\n normal = \"normal\" if p > 0.05 else \"non-normal\"\n print(f\"{name}: W={stat:.4f}, p={p:.4f} ({normal})\")\n\n# Kruskal-Wallis\nprint(\"\\n=== Kruskal-Wallis Test ===\")\nh, p = stats.kruskal(*sessions.values())\nsig = \"*\" if p < 0.05 else \"ns\"\nprint(f\"H={h:.3f}, p={p:.4f} {sig}\")\n\n# by question type\nprint(\"\\n=== Duration by Question Type ===\\n\")\nfor q_type in psy_01['Type'].unique():\n means = []\n for df in [psy_01, psy_02, psy_03]:\n m = df[df['Type'] == q_type]['duration_s'].mean()\n means.append(m)\n print(f\"{q_type}: {[f'{m:.1f}s' for m in means]}\")\n\n# violin by type\nall_data = pd.concat([\n psy_01.assign(Session='01'),\n psy_02.assign(Session='02'),\n psy_03.assign(Session='03')\n])\n\nfig, ax = plt.subplots(figsize=(14, 6))\nsns.violinplot(data=all_data, x='Type', y='duration_s', hue='Session', ax=ax, inner='box', palette='Set2')\nax.set_ylabel('Duration (seconds)')\nax.set_xlabel('Question Type')\nax.set_title('Answer Duration by Question Type Across Sessions')\nplt.xticks(rotation=45)\nplt.tight_layout()\nplt.show()\nplt.close()", - "metadata": {}, - "execution_count": null, - "outputs": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/individual/eye01.ipynb b/individual/eye01.ipynb deleted file mode 100755 index d94296b..0000000 --- a/individual/eye01.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "37969e85-a51d-4957-ba30-a515aece242b", - "metadata": {}, - "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\n\nDATA = '../data/individual/processed'\n\nBLINK_THRESHOLD = 1.0\nMIN_CLOSED_FRAMES = 3 # ~100ms at 30Hz\n\ncolumns_mapping = {\n 'datetime': 'timestamp',\n 'pupil': 'pupil_dilation',\n 'leftEyeOpen': 'left_blink',\n 'rightEyeOpen': 'right_blink'\n}\n\ndef clean_eye_tracking_data(eye_tracking_data):\n df = eye_tracking_data.copy()\n df['timestamp'] = pd.to_datetime(df['timestamp'], utc=True, errors='coerce').dt.tz_convert(None)\n return df.dropna(subset=['timestamp'])\n\ndef count_blinks(series, threshold, min_frames):\n # sustained closure onset\n closed = (series <= threshold).astype(int)\n sustained = closed.rolling(min_frames).sum() == min_frames\n return int((sustained & ~sustained.shift(1, fill_value=False)).sum())\n\ndef calculate_eye_tracking_metrics(eye_tracking_data):\n start_time = eye_tracking_data['timestamp'].min()\n end_time = eye_tracking_data['timestamp'].max()\n total_duration_minutes = (end_time - start_time).total_seconds() / 60\n if total_duration_minutes <= 0:\n return start_time, end_time, total_duration_minutes, float('nan'), 0.0, 0.0\n\n average_pupil_dilation = eye_tracking_data['pupil_dilation'].mean()\n\n left_blink_rate = count_blinks(eye_tracking_data['left_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n right_blink_rate = count_blinks(eye_tracking_data['right_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n\n return start_time, end_time, total_duration_minutes, average_pupil_dilation, left_blink_rate, right_blink_rate\n\neye_tracking_baseline = clean_eye_tracking_data(pd.read_csv(f'{DATA}/sed.csv').rename(columns=columns_mapping))\neye_tracking_01 = clean_eye_tracking_data(pd.read_csv(f'{DATA}/sed_01.csv').rename(columns=columns_mapping))\neye_tracking_02 = clean_eye_tracking_data(pd.read_csv(f'{DATA}/sed_02.csv').rename(columns=columns_mapping))\neye_tracking_03 = clean_eye_tracking_data(pd.read_csv(f'{DATA}/sed_03.csv').rename(columns=columns_mapping))\n\nbaseline_metrics = calculate_eye_tracking_metrics(eye_tracking_baseline)\nmetrics_01 = calculate_eye_tracking_metrics(eye_tracking_01)\nmetrics_02 = calculate_eye_tracking_metrics(eye_tracking_02)\nmetrics_03 = calculate_eye_tracking_metrics(eye_tracking_03)\n\nresults = pd.DataFrame({\n 'Test': ['Baseline', 'Test 01', 'Test 02', 'Test 03'],\n 'Start Time': [baseline_metrics[0], metrics_01[0], metrics_02[0], metrics_03[0]],\n 'End Time': [baseline_metrics[1], metrics_01[1], metrics_02[1], metrics_03[1]],\n 'Total Duration (min)': [baseline_metrics[2], metrics_01[2], metrics_02[2], metrics_03[2]],\n 'Average Pupil Dilation': [baseline_metrics[3], metrics_01[3], metrics_02[3], metrics_03[3]],\n 'Left Blink Rate (blinks/min)': [baseline_metrics[4], metrics_01[4], metrics_02[4], metrics_03[4]],\n 'Right Blink Rate (blinks/min)': [baseline_metrics[5], metrics_01[5], metrics_02[5], metrics_03[5]]\n})\n\nprint(\"Eye-Tracking Metrics:\")\nfor _, row in results.iterrows():\n print(f\"{row['Test']} Metrics:\")\n print(f\" Start Time: {row['Start Time']}\")\n print(f\" End Time: {row['End Time']}\")\n print(f\" Total Duration: {row['Total Duration (min)']:.2f} minutes\")\n print(f\" Average Pupil Dilation: {row['Average Pupil Dilation']:.2f}\")\n print(f\" Left Blink Rate: {row['Left Blink Rate (blinks/min)']:.2f} blinks/min\")\n print(f\" Right Blink Rate: {row['Right Blink Rate (blinks/min)']:.2f} blinks/min\\n\")\n\nplt.figure(figsize=(12, 8))\n\nplt.subplot(3, 1, 1)\nplt.plot(results['Test'], results['Average Pupil Dilation'], marker='o', linestyle='-')\nplt.title('Average Pupil Dilation')\nplt.ylabel('Pupil Dilation')\n\nplt.subplot(3, 1, 2)\nplt.plot(results['Test'], results['Left Blink Rate (blinks/min)'], marker='o', linestyle='-', color='green')\nplt.title('Left Blink Rate')\nplt.ylabel('Blinks/min')\n\nplt.subplot(3, 1, 3)\nplt.plot(results['Test'], results['Right Blink Rate (blinks/min)'], marker='o', linestyle='-', color='red')\nplt.title('Right Blink Rate')\nplt.ylabel('Blinks/min')\n\nplt.tight_layout()\nplt.show()\nplt.close()\n" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/individual/eye02.ipynb b/individual/eye02.ipynb deleted file mode 100755 index 7e8d81b..0000000 --- a/individual/eye02.ipynb +++ /dev/null @@ -1,41 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "id": "8f1dvqvd3l", - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\n\nDATA = '../data/individual/processed'\nPSY = '../data/individual/psychometric'\n\ncolumns_mapping = {\n 'datetime': 'timestamp',\n 'pupil': 'pupil_dilation',\n 'leftEyeOpen': 'left_blink',\n 'rightEyeOpen': 'right_blink'\n}\n\nbaseline_eye_tracking = pd.read_csv(f'{DATA}/sed.csv').rename(columns=columns_mapping)\neye_tracking_01 = pd.read_csv(f'{DATA}/sed_01.csv').rename(columns=columns_mapping)\neye_tracking_02 = pd.read_csv(f'{DATA}/sed_02.csv').rename(columns=columns_mapping)\neye_tracking_03 = pd.read_csv(f'{DATA}/sed_03.csv').rename(columns=columns_mapping)\n\npsychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\npsychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\npsychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n\ndef clean_eye_tracking_data(eye_tracking_data):\n df = eye_tracking_data.copy()\n df['timestamp'] = pd.to_datetime(\n df['timestamp'], utc=True, errors='coerce'\n ).dt.tz_convert(None)\n return df.dropna(subset=['timestamp'])\n\nbaseline_eye_tracking = clean_eye_tracking_data(baseline_eye_tracking)\neye_tracking_01 = clean_eye_tracking_data(eye_tracking_01)\neye_tracking_02 = clean_eye_tracking_data(eye_tracking_02)\neye_tracking_03 = clean_eye_tracking_data(eye_tracking_03)\n\npsychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\npsychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n\npsychometric_01 = psychometric_01.dropna(subset=['Question Start Time'])\npsychometric_02 = psychometric_02.dropna(subset=['Question Start Time'])\npsychometric_03 = psychometric_03.dropna(subset=['Question Start Time'])\n\ndef filter_eye_tracking_data(eye_tracking_data, questions):\n start_time = questions['Question Start Time'].min()\n end_time = questions['Question Answer Time'].max()\n return eye_tracking_data[\n (eye_tracking_data['timestamp'] >= start_time) &\n (eye_tracking_data['timestamp'] <= end_time)\n ]\n\nBLINK_THRESHOLD = 1.0\nMIN_CLOSED_FRAMES = 3 # ~100ms at 30Hz\n\ndef count_blinks(series, threshold, min_frames):\n # sustained closure onset\n closed = (series <= threshold).astype(int)\n sustained = closed.rolling(min_frames).sum() == min_frames\n return int((sustained & ~sustained.shift(1, fill_value=False)).sum())\n\ndef calculate_eye_tracking_metrics(eye_tracking_data):\n average_pupil_dilation = eye_tracking_data['pupil_dilation'].mean()\n total_duration_minutes = (\n eye_tracking_data['timestamp'].max() - eye_tracking_data['timestamp'].min()\n ).total_seconds() / 60\n if total_duration_minutes <= 0:\n return average_pupil_dilation, 0.0, 0.0\n left_blink_rate = count_blinks(eye_tracking_data['left_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n right_blink_rate = count_blinks(eye_tracking_data['right_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n return average_pupil_dilation, left_blink_rate, right_blink_rate\n\ndef detect_significant_increase(test_metrics, baseline_metrics):\n return (\n test_metrics[0] > baseline_metrics[0],\n test_metrics[1] > baseline_metrics[1],\n test_metrics[2] > baseline_metrics[2]\n )\n\nbaseline_metrics = calculate_eye_tracking_metrics(baseline_eye_tracking)\n\nquestion_types = ['HADS', 'STAI-S', 'STAI-T', 'BFI', 'FQ']\n\nprint(\"Setup complete. All data loaded and cleaned.\")\n", - "metadata": {}, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bd1d5a27", - "metadata": {}, - "outputs": [], - "source": "psychometric_data = {\n qt: [\n psychometric_01[psychometric_01['Type'] == qt],\n psychometric_02[psychometric_02['Type'] == qt],\n psychometric_03[psychometric_03['Type'] == qt]\n ]\n for qt in question_types\n}\n\nresults = []\nfor question_type in question_types:\n for i, (questions, eye_data) in enumerate(zip(\n psychometric_data[question_type],\n [eye_tracking_01, eye_tracking_02, eye_tracking_03]), 1):\n filtered = filter_eye_tracking_data(eye_data, questions)\n metrics = calculate_eye_tracking_metrics(filtered)\n sig = detect_significant_increase(metrics, baseline_metrics)\n results.append({\n 'Test': f'Test {i:02d}',\n 'Type': question_type,\n 'Start Time': questions['Question Start Time'].min().strftime('%H:%M:%S'),\n 'End Time': questions['Question Answer Time'].max().strftime('%H:%M:%S'),\n 'Average Pupil Dilation': round(metrics[0], 2),\n 'Left Blink Rate': round(metrics[1], 2),\n 'Right Blink Rate': round(metrics[2], 2),\n 'Significant Increase (Pupil Dilation)': 'Yes' if sig[0] else 'No',\n 'Significant Increase (Left Blink Rate)': 'Yes' if sig[1] else 'No',\n 'Significant Increase (Right Blink Rate)': 'Yes' if sig[2] else 'No',\n })\n\nresults_df = pd.DataFrame(results)\nprint(results_df.to_string(index=False))\n\nfor metric, ylabel in [\n ('Average Pupil Dilation', 'Pupil Dilation'),\n ('Left Blink Rate', 'Left Blink Rate (blinks/min)'),\n ('Right Blink Rate', 'Right Blink Rate (blinks/min)')\n]:\n plt.figure(figsize=(14, 6))\n for qt in question_types:\n subset = results_df[results_df['Type'] == qt]\n plt.plot(subset['Test'], subset[metric], marker='o', label=qt)\n plt.title(f'{metric} by Test and Question Type')\n plt.xlabel('Test')\n plt.ylabel(ylabel)\n plt.legend(title='Question Type')\n plt.grid(True)\n plt.tight_layout()\n plt.show()\n plt.close()" - } - ], - "metadata": { - "kernelspec": { - "display_name": "pdf_processing", - "language": "python", - "name": "pdf_processing" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.21" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/individual/eye_01.ipynb b/individual/eye_01.ipynb new file mode 100755 index 0000000..8836758 --- /dev/null +++ b/individual/eye_01.ipynb @@ -0,0 +1,139 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e25cb298", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Eye 01\n", + "\n", + "Eye-tracking / pupil analysis (part 1).\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37969e85-a51d-4957-ba30-a515aece242b", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "DATA = '../data/individual/processed'\n", + "\n", + "BLINK_THRESHOLD = 1.0\n", + "MIN_CLOSED_FRAMES = 3 # ~100ms at 30Hz\n", + "\n", + "columns_mapping = {\n", + " 'datetime': 'timestamp',\n", + " 'pupil': 'pupil_dilation',\n", + " 'leftEyeOpen': 'left_blink',\n", + " 'rightEyeOpen': 'right_blink'\n", + "}\n", + "\n", + "def clean_eye_tracking_data(eye_tracking_data):\n", + " df = eye_tracking_data.copy()\n", + " df['timestamp'] = pd.to_datetime(df['timestamp'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " return df.dropna(subset=['timestamp'])\n", + "\n", + "def count_blinks(series, threshold, min_frames):\n", + " # sustained closure onset\n", + " closed = (series <= threshold).astype(int)\n", + " sustained = closed.rolling(min_frames).sum() == min_frames\n", + " return int((sustained & ~sustained.shift(1, fill_value=False)).sum())\n", + "\n", + "def calculate_eye_tracking_metrics(eye_tracking_data):\n", + " start_time = eye_tracking_data['timestamp'].min()\n", + " end_time = eye_tracking_data['timestamp'].max()\n", + " total_duration_minutes = (end_time - start_time).total_seconds() / 60\n", + " if total_duration_minutes <= 0:\n", + " return start_time, end_time, total_duration_minutes, float('nan'), 0.0, 0.0\n", + "\n", + " average_pupil_dilation = eye_tracking_data['pupil_dilation'].mean()\n", + "\n", + " left_blink_rate = count_blinks(eye_tracking_data['left_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n", + " right_blink_rate = count_blinks(eye_tracking_data['right_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n", + "\n", + " return start_time, end_time, total_duration_minutes, average_pupil_dilation, left_blink_rate, right_blink_rate\n", + "\n", + "eye_tracking_baseline = clean_eye_tracking_data(pd.read_csv(f'{DATA}/sed.csv').rename(columns=columns_mapping))\n", + "eye_tracking_01 = clean_eye_tracking_data(pd.read_csv(f'{DATA}/sed_01.csv').rename(columns=columns_mapping))\n", + "eye_tracking_02 = clean_eye_tracking_data(pd.read_csv(f'{DATA}/sed_02.csv').rename(columns=columns_mapping))\n", + "eye_tracking_03 = clean_eye_tracking_data(pd.read_csv(f'{DATA}/sed_03.csv').rename(columns=columns_mapping))\n", + "\n", + "baseline_metrics = calculate_eye_tracking_metrics(eye_tracking_baseline)\n", + "metrics_01 = calculate_eye_tracking_metrics(eye_tracking_01)\n", + "metrics_02 = calculate_eye_tracking_metrics(eye_tracking_02)\n", + "metrics_03 = calculate_eye_tracking_metrics(eye_tracking_03)\n", + "\n", + "results = pd.DataFrame({\n", + " 'Test': ['Baseline', 'Test 01', 'Test 02', 'Test 03'],\n", + " 'Start Time': [baseline_metrics[0], metrics_01[0], metrics_02[0], metrics_03[0]],\n", + " 'End Time': [baseline_metrics[1], metrics_01[1], metrics_02[1], metrics_03[1]],\n", + " 'Total Duration (min)': [baseline_metrics[2], metrics_01[2], metrics_02[2], metrics_03[2]],\n", + " 'Average Pupil Dilation': [baseline_metrics[3], metrics_01[3], metrics_02[3], metrics_03[3]],\n", + " 'Left Blink Rate (blinks/min)': [baseline_metrics[4], metrics_01[4], metrics_02[4], metrics_03[4]],\n", + " 'Right Blink Rate (blinks/min)': [baseline_metrics[5], metrics_01[5], metrics_02[5], metrics_03[5]]\n", + "})\n", + "\n", + "print(\"Eye-Tracking Metrics:\")\n", + "for _, row in results.iterrows():\n", + " print(f\"{row['Test']} Metrics:\")\n", + " print(f\" Start Time: {row['Start Time']}\")\n", + " print(f\" End Time: {row['End Time']}\")\n", + " print(f\" Total Duration: {row['Total Duration (min)']:.2f} minutes\")\n", + " print(f\" Average Pupil Dilation: {row['Average Pupil Dilation']:.2f}\")\n", + " print(f\" Left Blink Rate: {row['Left Blink Rate (blinks/min)']:.2f} blinks/min\")\n", + " print(f\" Right Blink Rate: {row['Right Blink Rate (blinks/min)']:.2f} blinks/min\\n\")\n", + "\n", + "plt.figure(figsize=(12, 8))\n", + "\n", + "plt.subplot(3, 1, 1)\n", + "plt.plot(results['Test'], results['Average Pupil Dilation'], marker='o', linestyle='-')\n", + "plt.title('Average Pupil Dilation')\n", + "plt.ylabel('Pupil Dilation')\n", + "\n", + "plt.subplot(3, 1, 2)\n", + "plt.plot(results['Test'], results['Left Blink Rate (blinks/min)'], marker='o', linestyle='-', color='green')\n", + "plt.title('Left Blink Rate')\n", + "plt.ylabel('Blinks/min')\n", + "\n", + "plt.subplot(3, 1, 3)\n", + "plt.plot(results['Test'], results['Right Blink Rate (blinks/min)'], marker='o', linestyle='-', color='red')\n", + "plt.title('Right Blink Rate')\n", + "plt.ylabel('Blinks/min')\n", + "\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/individual/eye_02.ipynb b/individual/eye_02.ipynb new file mode 100755 index 0000000..c03744c --- /dev/null +++ b/individual/eye_02.ipynb @@ -0,0 +1,193 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4055a01a", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Eye 02\n", + "\n", + "Eye-tracking / pupil analysis (part 2).\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f1dvqvd3l", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "DATA = '../data/individual/processed'\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "columns_mapping = {\n", + " 'datetime': 'timestamp',\n", + " 'pupil': 'pupil_dilation',\n", + " 'leftEyeOpen': 'left_blink',\n", + " 'rightEyeOpen': 'right_blink'\n", + "}\n", + "\n", + "baseline_eye_tracking = pd.read_csv(f'{DATA}/sed.csv').rename(columns=columns_mapping)\n", + "eye_tracking_01 = pd.read_csv(f'{DATA}/sed_01.csv').rename(columns=columns_mapping)\n", + "eye_tracking_02 = pd.read_csv(f'{DATA}/sed_02.csv').rename(columns=columns_mapping)\n", + "eye_tracking_03 = pd.read_csv(f'{DATA}/sed_03.csv').rename(columns=columns_mapping)\n", + "\n", + "psychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", + "psychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", + "psychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", + "\n", + "def clean_eye_tracking_data(eye_tracking_data):\n", + " df = eye_tracking_data.copy()\n", + " df['timestamp'] = pd.to_datetime(\n", + " df['timestamp'], utc=True, errors='coerce'\n", + " ).dt.tz_convert(None)\n", + " return df.dropna(subset=['timestamp'])\n", + "\n", + "baseline_eye_tracking = clean_eye_tracking_data(baseline_eye_tracking)\n", + "eye_tracking_01 = clean_eye_tracking_data(eye_tracking_01)\n", + "eye_tracking_02 = clean_eye_tracking_data(eye_tracking_02)\n", + "eye_tracking_03 = clean_eye_tracking_data(eye_tracking_03)\n", + "\n", + "psychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "\n", + "psychometric_01 = psychometric_01.dropna(subset=['Question Start Time'])\n", + "psychometric_02 = psychometric_02.dropna(subset=['Question Start Time'])\n", + "psychometric_03 = psychometric_03.dropna(subset=['Question Start Time'])\n", + "\n", + "def filter_eye_tracking_data(eye_tracking_data, questions):\n", + " start_time = questions['Question Start Time'].min()\n", + " end_time = questions['Question Answer Time'].max()\n", + " return eye_tracking_data[\n", + " (eye_tracking_data['timestamp'] >= start_time) &\n", + " (eye_tracking_data['timestamp'] <= end_time)\n", + " ]\n", + "\n", + "BLINK_THRESHOLD = 1.0\n", + "MIN_CLOSED_FRAMES = 3 # ~100ms at 30Hz\n", + "\n", + "def count_blinks(series, threshold, min_frames):\n", + " # sustained closure onset\n", + " closed = (series <= threshold).astype(int)\n", + " sustained = closed.rolling(min_frames).sum() == min_frames\n", + " return int((sustained & ~sustained.shift(1, fill_value=False)).sum())\n", + "\n", + "def calculate_eye_tracking_metrics(eye_tracking_data):\n", + " average_pupil_dilation = eye_tracking_data['pupil_dilation'].mean()\n", + " total_duration_minutes = (\n", + " eye_tracking_data['timestamp'].max() - eye_tracking_data['timestamp'].min()\n", + " ).total_seconds() / 60\n", + " if total_duration_minutes <= 0:\n", + " return average_pupil_dilation, 0.0, 0.0\n", + " left_blink_rate = count_blinks(eye_tracking_data['left_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n", + " right_blink_rate = count_blinks(eye_tracking_data['right_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n", + " return average_pupil_dilation, left_blink_rate, right_blink_rate\n", + "\n", + "def detect_significant_increase(test_metrics, baseline_metrics):\n", + " return (\n", + " test_metrics[0] > baseline_metrics[0],\n", + " test_metrics[1] > baseline_metrics[1],\n", + " test_metrics[2] > baseline_metrics[2]\n", + " )\n", + "\n", + "baseline_metrics = calculate_eye_tracking_metrics(baseline_eye_tracking)\n", + "\n", + "question_types = ['HADS', 'STAI-S', 'STAI-T', 'BFI', 'FQ']\n", + "\n", + "print(\"Setup complete. All data loaded and cleaned.\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd1d5a27", + "metadata": {}, + "outputs": [], + "source": [ + "psychometric_data = {\n", + " qt: [\n", + " psychometric_01[psychometric_01['Type'] == qt],\n", + " psychometric_02[psychometric_02['Type'] == qt],\n", + " psychometric_03[psychometric_03['Type'] == qt]\n", + " ]\n", + " for qt in question_types\n", + "}\n", + "\n", + "results = []\n", + "for question_type in question_types:\n", + " for i, (questions, eye_data) in enumerate(zip(\n", + " psychometric_data[question_type],\n", + " [eye_tracking_01, eye_tracking_02, eye_tracking_03]), 1):\n", + " filtered = filter_eye_tracking_data(eye_data, questions)\n", + " metrics = calculate_eye_tracking_metrics(filtered)\n", + " sig = detect_significant_increase(metrics, baseline_metrics)\n", + " results.append({\n", + " 'Test': f'Test {i:02d}',\n", + " 'Type': question_type,\n", + " 'Start Time': questions['Question Start Time'].min().strftime('%H:%M:%S'),\n", + " 'End Time': questions['Question Answer Time'].max().strftime('%H:%M:%S'),\n", + " 'Average Pupil Dilation': round(metrics[0], 2),\n", + " 'Left Blink Rate': round(metrics[1], 2),\n", + " 'Right Blink Rate': round(metrics[2], 2),\n", + " 'Significant Increase (Pupil Dilation)': 'Yes' if sig[0] else 'No',\n", + " 'Significant Increase (Left Blink Rate)': 'Yes' if sig[1] else 'No',\n", + " 'Significant Increase (Right Blink Rate)': 'Yes' if sig[2] else 'No',\n", + " })\n", + "\n", + "results_df = pd.DataFrame(results)\n", + "print(results_df.to_string(index=False))\n", + "\n", + "for metric, ylabel in [\n", + " ('Average Pupil Dilation', 'Pupil Dilation'),\n", + " ('Left Blink Rate', 'Left Blink Rate (blinks/min)'),\n", + " ('Right Blink Rate', 'Right Blink Rate (blinks/min)')\n", + "]:\n", + " plt.figure(figsize=(14, 6))\n", + " for qt in question_types:\n", + " subset = results_df[results_df['Type'] == qt]\n", + " plt.plot(subset['Test'], subset[metric], marker='o', label=qt)\n", + " plt.title(f'{metric} by Test and Question Type')\n", + " plt.xlabel('Test')\n", + " plt.ylabel(ylabel)\n", + " plt.legend(title='Question Type')\n", + " plt.grid(True)\n", + " plt.tight_layout()\n", + " plt.show()\n", + " plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/individual/eye_movement.ipynb b/individual/eye_movement.ipynb new file mode 100755 index 0000000..3063042 --- /dev/null +++ b/individual/eye_movement.ipynb @@ -0,0 +1,95 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "8747fb27", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Eye Movement\n", + "\n", + "Gaze / eye-movement analysis.\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2901313-92da-47ad-8239-ad3baa85839c", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "DATA = '../data/individual/processed'\n", + "\n", + "baseline_eye_tracking = pd.read_csv(f'{DATA}/sed.csv')\n", + "baseline_eye_tracking = baseline_eye_tracking.rename(columns={\n", + " 'datetime': 'timestamp',\n", + " 'pupil': 'pupil_dilation',\n", + " 'leftEyeOpen': 'left_blink',\n", + " 'rightEyeOpen': 'right_blink'\n", + "})\n", + "\n", + "baseline_eye_tracking['timestamp'] = pd.to_datetime(baseline_eye_tracking['timestamp'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "baseline_eye_tracking = baseline_eye_tracking.dropna(subset=['timestamp'])\n", + "\n", + "start_time = baseline_eye_tracking['timestamp'].min()\n", + "end_time = baseline_eye_tracking['timestamp'].max()\n", + "total_duration_minutes = (end_time - start_time).total_seconds() / 60\n", + "\n", + "average_pupil_dilation = baseline_eye_tracking['pupil_dilation'].mean()\n", + "\n", + "BLINK_THRESHOLD = 1.0\n", + "MIN_CLOSED_FRAMES = 3 # ~100ms at 30Hz\n", + "\n", + "def count_blinks(series, threshold, min_frames):\n", + " # sustained closure onset\n", + " closed = (series <= threshold).astype(int)\n", + " sustained = closed.rolling(min_frames).sum() == min_frames\n", + " return int((sustained & ~sustained.shift(1, fill_value=False)).sum())\n", + "\n", + "left_blink_count = count_blinks(baseline_eye_tracking['left_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES)\n", + "right_blink_count = count_blinks(baseline_eye_tracking['right_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES)\n", + "\n", + "if total_duration_minutes <= 0:\n", + " left_blink_rate, right_blink_rate = 0.0, 0.0\n", + "else:\n", + " left_blink_rate = left_blink_count / total_duration_minutes\n", + " right_blink_rate = right_blink_count / total_duration_minutes\n", + "\n", + "print(f\"Baseline Metrics:\\n\")\n", + "print(f\" Start Time: {start_time}\")\n", + "print(f\" End Time: {end_time}\")\n", + "print(f\" Total Duration: {total_duration_minutes:.2f} minutes\")\n", + "print(f\" Average Pupil Dilation: {average_pupil_dilation:.2f}\")\n", + "print(f\" Left Blink Rate: {left_blink_rate:.2f} blinks/min\")\n", + "print(f\" Right Blink Rate: {right_blink_rate:.2f} blinks/min\")\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/individual/fixation_across_sessions.ipynb b/individual/fixation_across_sessions.ipynb new file mode 100755 index 0000000..01c63b0 --- /dev/null +++ b/individual/fixation_across_sessions.ipynb @@ -0,0 +1,82 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "b38925e3", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Fixation Across Sessions\n", + "\n", + "Fixation-duration comparison across the three sessions.\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b3cf26d0-e0a7-4f4b-8221-3b8d7dedcd2d", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "DATA = '../data/individual/processed'\n", + "\n", + "# load eye data\n", + "sed_data_01 = pd.read_csv(f'{DATA}/sed_fix_01.csv')\n", + "sed_data_02 = pd.read_csv(f'{DATA}/sed_fix_02.csv')\n", + "sed_data_03 = pd.read_csv(f'{DATA}/sed_fix_03.csv')\n", + "\n", + "# session labels\n", + "sed_data_01['session'] = 'Session 01'\n", + "sed_data_02['session'] = 'Session 02'\n", + "sed_data_03['session'] = 'Session 03'\n", + "\n", + "# combine datasets\n", + "all_sed_data = pd.concat([sed_data_01, sed_data_02, sed_data_03], ignore_index=True)\n", + "\n", + "# plot fixation comparison\n", + "plt.figure(figsize=(14, 7))\n", + "sns.boxplot(data=all_sed_data, x='session', y='duration')\n", + "plt.title('Comparison of Fixation Durations Across Sessions')\n", + "plt.xlabel('Session')\n", + "plt.ylabel('Fixation Duration (s)')\n", + "plt.grid(True)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# descriptive statistics\n", + "fixation_duration_stats = all_sed_data[['session', 'duration']].groupby('session').describe()\n", + "fixation_duration_stats" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/individual/hads_eye.ipynb b/individual/hads_eye.ipynb new file mode 100755 index 0000000..875ef97 --- /dev/null +++ b/individual/hads_eye.ipynb @@ -0,0 +1,199 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "68318ac0", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Hads Eye\n", + "\n", + "HADS anxiety/depression scores vs eye-tracking measures.\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "z9ozevy0iye", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "DATA = '../data/individual/processed'\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "columns_mapping = {\n", + " 'datetime': 'timestamp',\n", + " 'pupil': 'pupil_dilation',\n", + " 'leftEyeOpen': 'left_blink',\n", + " 'rightEyeOpen': 'right_blink'\n", + "}\n", + "\n", + "baseline_eye_tracking = pd.read_csv(f'{DATA}/sed.csv').rename(columns=columns_mapping)\n", + "eye_tracking_01 = pd.read_csv(f'{DATA}/sed_01.csv').rename(columns=columns_mapping)\n", + "eye_tracking_02 = pd.read_csv(f'{DATA}/sed_02.csv').rename(columns=columns_mapping)\n", + "eye_tracking_03 = pd.read_csv(f'{DATA}/sed_03.csv').rename(columns=columns_mapping)\n", + "\n", + "psychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", + "psychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", + "psychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", + "\n", + "def clean_eye_tracking_data(eye_tracking_data):\n", + " df = eye_tracking_data.copy()\n", + " df['timestamp'] = pd.to_datetime(\n", + " df['timestamp'], utc=True, errors='coerce'\n", + " ).dt.tz_convert(None)\n", + " return df.dropna(subset=['timestamp'])\n", + "\n", + "baseline_eye_tracking = clean_eye_tracking_data(baseline_eye_tracking)\n", + "eye_tracking_01 = clean_eye_tracking_data(eye_tracking_01)\n", + "eye_tracking_02 = clean_eye_tracking_data(eye_tracking_02)\n", + "eye_tracking_03 = clean_eye_tracking_data(eye_tracking_03)\n", + "\n", + "psychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "\n", + "psychometric_01 = psychometric_01.dropna(subset=['Question Start Time'])\n", + "psychometric_02 = psychometric_02.dropna(subset=['Question Start Time'])\n", + "psychometric_03 = psychometric_03.dropna(subset=['Question Start Time'])\n", + "\n", + "def filter_eye_tracking_data(eye_tracking_data, question):\n", + " return eye_tracking_data[\n", + " (eye_tracking_data['timestamp'] >= question['Question Start Time']) &\n", + " (eye_tracking_data['timestamp'] <= question['Question Answer Time'])\n", + " ]\n", + "\n", + "BLINK_THRESHOLD = 1.0\n", + "MIN_CLOSED_FRAMES = 3 # ~100ms at 30Hz\n", + "\n", + "def count_blinks(series, threshold, min_frames):\n", + " # sustained closure onset\n", + " closed = (series <= threshold).astype(int)\n", + " sustained = closed.rolling(min_frames).sum() == min_frames\n", + " return int((sustained & ~sustained.shift(1, fill_value=False)).sum())\n", + "\n", + "def calculate_eye_tracking_metrics(eye_tracking_data):\n", + " average_pupil_dilation = eye_tracking_data['pupil_dilation'].mean()\n", + " total_duration_minutes = (\n", + " (eye_tracking_data['timestamp'].max() - eye_tracking_data['timestamp'].min())\n", + " .total_seconds() / 60\n", + " )\n", + " if total_duration_minutes <= 0:\n", + " return average_pupil_dilation, 0.0, 0.0\n", + " left_blink_rate = count_blinks(eye_tracking_data['left_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n", + " right_blink_rate = count_blinks(eye_tracking_data['right_blink'], BLINK_THRESHOLD, MIN_CLOSED_FRAMES) / total_duration_minutes\n", + " return average_pupil_dilation, left_blink_rate, right_blink_rate\n", + "\n", + "baseline_metrics = calculate_eye_tracking_metrics(baseline_eye_tracking)\n", + "\n", + "def detect_significant_increase(test_metrics, baseline_metrics):\n", + " return (\n", + " test_metrics[0] > baseline_metrics[0],\n", + " test_metrics[1] > baseline_metrics[1],\n", + " test_metrics[2] > baseline_metrics[2]\n", + " )\n", + "\n", + "def filter_correct_questions(df, types_count):\n", + " filtered_df = pd.DataFrame()\n", + " for q_type, count in types_count.items():\n", + " filtered_df = pd.concat([filtered_df, df[df['Type'] == q_type].head(count)])\n", + " return filtered_df\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3e73cc4-0548-4a9f-af48-063c5f7fef4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Validate – correcting total number of questions per type\n", + "types_count = {\n", + " 'HADS': 14,\n", + " 'STAI-S': 20,\n", + " 'STAI-T': 20,\n", + " 'BFI': 10,\n", + " 'FQ': 24\n", + "}\n", + "\n", + "questions_01 = filter_correct_questions(psychometric_01, types_count)\n", + "questions_02 = filter_correct_questions(psychometric_02, types_count)\n", + "questions_03 = filter_correct_questions(psychometric_03, types_count)\n", + "\n", + "# Calculate metrics with baseline comparison (rounded, with per-metric flags)\n", + "def calculate_metrics_validated(questions, eye_tracking_data, baseline_metrics):\n", + " results = []\n", + " for _, question in questions.iterrows():\n", + " filtered_data = filter_eye_tracking_data(eye_tracking_data, question)\n", + " if not filtered_data.empty:\n", + " metrics = calculate_eye_tracking_metrics(filtered_data)\n", + " significant_increases = detect_significant_increase(metrics, baseline_metrics)\n", + " results.append({\n", + " 'Type': question['Type'],\n", + " 'Question': question['Question'],\n", + " 'Start Time': question['Question Start Time'],\n", + " 'End Time': question['Question Answer Time'],\n", + " 'Score': question['Answer'],\n", + " 'Average Pupil Dilation': round(metrics[0], 2),\n", + " 'Average Left Blink Rate': round(metrics[1], 2),\n", + " 'Average Right Blink Rate': round(metrics[2], 2),\n", + " 'Sign of Anxiety': 'Yes' if any(significant_increases) else 'No',\n", + " 'Pupil Dilation Increase': 'Yes' if significant_increases[0] else 'No',\n", + " 'Left Blink Rate Increase': 'Yes' if significant_increases[1] else 'No',\n", + " 'Right Blink Rate Increase': 'Yes' if significant_increases[2] else 'No'\n", + " })\n", + " return pd.DataFrame(results)\n", + "\n", + "results_01 = calculate_metrics_validated(questions_01, eye_tracking_01, baseline_metrics)\n", + "results_02 = calculate_metrics_validated(questions_02, eye_tracking_02, baseline_metrics)\n", + "results_03 = calculate_metrics_validated(questions_03, eye_tracking_03, baseline_metrics)\n", + "\n", + "# Combine and validate row count\n", + "results_01['Test'] = 'Test 01'\n", + "results_02['Test'] = 'Test 02'\n", + "results_03['Test'] = 'Test 03'\n", + "\n", + "combined_results = pd.concat([results_01, results_02, results_03], ignore_index=True)\n", + "\n", + "expected_rows = sum(types_count.values()) * 3\n", + "if len(combined_results) != expected_rows:\n", + " raise ValueError(f\"Expected {expected_rows} rows, got {len(combined_results)}\")\n", + "\n", + "# Save data\n", + "combined_results.to_csv(f'{DATA}/QQ2.csv', index=False)\n", + "\n", + "combined_results.head()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/individual/hads_hrv.ipynb b/individual/hads_hrv.ipynb new file mode 100755 index 0000000..1477861 --- /dev/null +++ b/individual/hads_hrv.ipynb @@ -0,0 +1,156 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "95c5301d", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Hads Hrv\n", + "\n", + "HADS anxiety/depression scores vs HRV.\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c18ab09-a0af-43b8-b908-7d1727472548", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "DATA = '../data/individual/processed'\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "def calculate_hrv_metrics(ibi_data):\n", + " valid_ibi = pd.Series(ibi_data)\n", + " diff_nn = np.diff(valid_ibi)\n", + " rmssd = np.sqrt(np.mean(np.square(diff_nn)))\n", + " sdnn = np.std(valid_ibi, ddof=1)\n", + " return rmssd, sdnn\n", + "\n", + "ibi_baseline = pd.read_csv(f'{DATA}/ibi.csv')\n", + "ibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\n", + "ibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\n", + "ibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n", + "\n", + "# physiological bounds\n", + "ibi_baseline = ibi_baseline[(ibi_baseline['ibi'] > 300) & (ibi_baseline['ibi'] < 2000)]\n", + "rmssd_baseline, sdnn_baseline = calculate_hrv_metrics(ibi_baseline['ibi'])\n", + "baseline_metrics = (rmssd_baseline, sdnn_baseline)\n", + "\n", + "psychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", + "psychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", + "psychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", + "\n", + "psychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "\n", + "psychometric_01 = psychometric_01.dropna(subset=['Question Start Time'])\n", + "psychometric_02 = psychometric_02.dropna(subset=['Question Start Time'])\n", + "psychometric_03 = psychometric_03.dropna(subset=['Question Start Time'])\n", + "\n", + "types_count = {'HADS': 14, 'STAI-S': 20, 'STAI-T': 20, 'BFI': 10, 'FQ': 24}\n", + "\n", + "def filter_correct_questions(df, types_count):\n", + " filtered_df = pd.DataFrame()\n", + " for q_type, count in types_count.items():\n", + " filtered_df = pd.concat([filtered_df, df[df['Type'] == q_type].head(count)])\n", + " return filtered_df\n", + "\n", + "questions_01 = filter_correct_questions(psychometric_01, types_count)\n", + "questions_02 = filter_correct_questions(psychometric_02, types_count)\n", + "questions_03 = filter_correct_questions(psychometric_03, types_count)\n", + "\n", + "def prepare_ibi(ibi_data):\n", + " # convert once, avoid repeated mutation\n", + " ibi = ibi_data.copy()\n", + " ibi['datetime'] = pd.to_datetime(ibi['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " return ibi\n", + "\n", + "ibi_01 = prepare_ibi(ibi_01)\n", + "ibi_02 = prepare_ibi(ibi_02)\n", + "ibi_03 = prepare_ibi(ibi_03)\n", + "\n", + "def get_ibi_data(question, ibi_data):\n", + " filtered = ibi_data[\n", + " (ibi_data['datetime'] >= question['Question Start Time']) &\n", + " (ibi_data['datetime'] <= question['Question Answer Time'])\n", + " ]\n", + " return filtered['ibi'].values\n", + "\n", + "def detect_significant_decrease(test_metrics, baseline_metrics):\n", + " return (\n", + " test_metrics[0] < baseline_metrics[0],\n", + " test_metrics[1] < baseline_metrics[1]\n", + " )\n", + "\n", + "def calculate_hrv_metrics_for_questions(questions, ibi_data, baseline_metrics):\n", + " results = []\n", + " for _, question in questions.iterrows():\n", + " ibi_values = get_ibi_data(question, ibi_data)\n", + " # physiological bounds\n", + " ibi_values = ibi_values[(ibi_values > 300) & (ibi_values < 2000)]\n", + " if len(ibi_values) > 1:\n", + " rmssd, sdnn = calculate_hrv_metrics(ibi_values)\n", + " sig = detect_significant_decrease((rmssd, sdnn), baseline_metrics)\n", + " results.append({\n", + " 'Type': question['Type'],\n", + " 'Start Time': question['Question Start Time'],\n", + " 'End Time': question['Question Answer Time'],\n", + " 'Score': question['Answer'],\n", + " 'RMSSD': round(rmssd, 2),\n", + " 'SDNN': round(sdnn, 2),\n", + " 'RMSSD Decrease': 'Yes' if sig[0] else 'No',\n", + " 'SDNN Decrease': 'Yes' if sig[1] else 'No'\n", + " })\n", + " return pd.DataFrame(results)\n", + "\n", + "results_01 = calculate_hrv_metrics_for_questions(questions_01, ibi_01, baseline_metrics)\n", + "results_02 = calculate_hrv_metrics_for_questions(questions_02, ibi_02, baseline_metrics)\n", + "results_03 = calculate_hrv_metrics_for_questions(questions_03, ibi_03, baseline_metrics)\n", + "\n", + "results_01['Test'] = 'Test 01'\n", + "results_02['Test'] = 'Test 02'\n", + "results_03['Test'] = 'Test 03'\n", + "\n", + "combined_results = pd.concat([results_01, results_02, results_03], ignore_index=True)\n", + "combined_results = combined_results[['Test', 'Type', 'Start Time', 'End Time', 'Score', 'RMSSD', 'SDNN', 'RMSSD Decrease', 'SDNN Decrease']]\n", + "combined_results.to_csv(f'{DATA}/QQHRV.csv', index=False)\n", + "\n", + "combined_results.head()\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/individual/Co hr.ipynb b/individual/hr_across_sessions.ipynb similarity index 51% rename from individual/Co hr.ipynb rename to individual/hr_across_sessions.ipynb index 03d9acd..1f51a32 100755 --- a/individual/Co hr.ipynb +++ b/individual/hr_across_sessions.ipynb @@ -1,5 +1,20 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "ca611565", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Hr Across Sessions\n", + "\n", + "Heart rate compared across sessions (baseline + 3 sessions).\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, { "cell_type": "code", "execution_count": null, @@ -65,7 +80,57 @@ "id": "5a3ac04b-35a4-4796-b6cf-3f3a204e8b5d", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport numpy as np\n\nDATA = '../data/individual/processed'\n\n# physiological bounds\nIBI_MIN = 300\nIBI_MAX = 2000\n\ndef clean_ibi_data(ibi_data):\n return ibi_data[(ibi_data['ibi'] > IBI_MIN) & (ibi_data['ibi'] < IBI_MAX)]\n\nbaseline_ibi = clean_ibi_data(pd.read_csv(f'{DATA}/ibi.csv'))\nibi_01 = clean_ibi_data(pd.read_csv(f'{DATA}/ibi_01.csv'))\nibi_02 = clean_ibi_data(pd.read_csv(f'{DATA}/ibi_02.csv'))\nibi_03 = clean_ibi_data(pd.read_csv(f'{DATA}/ibi_03.csv'))\n\ndef calculate_rmssd(ibi_values):\n return np.sqrt(np.mean(np.diff(ibi_values) ** 2))\n\ndef calculate_sdnn(ibi_values):\n return np.std(ibi_values, ddof=1)\n\ndef hrv(ibi_df):\n vals = ibi_df['ibi'].dropna().values\n return calculate_rmssd(vals), calculate_sdnn(vals)\n\nrmssd_baseline, sdnn_baseline = hrv(baseline_ibi)\nrmssd_01, sdnn_01 = hrv(ibi_01)\nrmssd_02, sdnn_02 = hrv(ibi_02)\nrmssd_03, sdnn_03 = hrv(ibi_03)\n\nRMSSD_THRESHOLD = 20\nSDNN_THRESHOLD = 50\n\ndef anxiety_flags(rmssd, sdnn):\n return rmssd < RMSSD_THRESHOLD, sdnn < SDNN_THRESHOLD\n\nprint(f'Baseline RMSSD: {rmssd_baseline:.2f} ms, SDNN: {sdnn_baseline:.2f} ms')\nprint(f'Session 1 RMSSD: {rmssd_01:.2f} ms, SDNN: {sdnn_01:.2f} ms')\nprint(f'Session 2 RMSSD: {rmssd_02:.2f} ms, SDNN: {sdnn_02:.2f} ms')\nprint(f'Session 3 RMSSD: {rmssd_03:.2f} ms, SDNN: {sdnn_03:.2f} ms')\n\nfor label, rmssd, sdnn in [('Baseline', rmssd_baseline, sdnn_baseline),\n ('Session 1', rmssd_01, sdnn_01),\n ('Session 2', rmssd_02, sdnn_02),\n ('Session 3', rmssd_03, sdnn_03)]:\n ar, asd = anxiety_flags(rmssd, sdnn)\n print(f'{label} RMSSD Anxiety: {\"Yes\" if ar else \"No\"}, SDNN Anxiety: {\"Yes\" if asd else \"No\"}')\n" + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "DATA = '../data/individual/processed'\n", + "\n", + "# physiological bounds\n", + "IBI_MIN = 300\n", + "IBI_MAX = 2000\n", + "\n", + "def clean_ibi_data(ibi_data):\n", + " return ibi_data[(ibi_data['ibi'] > IBI_MIN) & (ibi_data['ibi'] < IBI_MAX)]\n", + "\n", + "baseline_ibi = clean_ibi_data(pd.read_csv(f'{DATA}/ibi.csv'))\n", + "ibi_01 = clean_ibi_data(pd.read_csv(f'{DATA}/ibi_01.csv'))\n", + "ibi_02 = clean_ibi_data(pd.read_csv(f'{DATA}/ibi_02.csv'))\n", + "ibi_03 = clean_ibi_data(pd.read_csv(f'{DATA}/ibi_03.csv'))\n", + "\n", + "def calculate_rmssd(ibi_values):\n", + " return np.sqrt(np.mean(np.diff(ibi_values) ** 2))\n", + "\n", + "def calculate_sdnn(ibi_values):\n", + " return np.std(ibi_values, ddof=1)\n", + "\n", + "def hrv(ibi_df):\n", + " vals = ibi_df['ibi'].dropna().values\n", + " return calculate_rmssd(vals), calculate_sdnn(vals)\n", + "\n", + "rmssd_baseline, sdnn_baseline = hrv(baseline_ibi)\n", + "rmssd_01, sdnn_01 = hrv(ibi_01)\n", + "rmssd_02, sdnn_02 = hrv(ibi_02)\n", + "rmssd_03, sdnn_03 = hrv(ibi_03)\n", + "\n", + "RMSSD_THRESHOLD = 20\n", + "SDNN_THRESHOLD = 50\n", + "\n", + "def anxiety_flags(rmssd, sdnn):\n", + " return rmssd < RMSSD_THRESHOLD, sdnn < SDNN_THRESHOLD\n", + "\n", + "print(f'Baseline RMSSD: {rmssd_baseline:.2f} ms, SDNN: {sdnn_baseline:.2f} ms')\n", + "print(f'Session 1 RMSSD: {rmssd_01:.2f} ms, SDNN: {sdnn_01:.2f} ms')\n", + "print(f'Session 2 RMSSD: {rmssd_02:.2f} ms, SDNN: {sdnn_02:.2f} ms')\n", + "print(f'Session 3 RMSSD: {rmssd_03:.2f} ms, SDNN: {sdnn_03:.2f} ms')\n", + "\n", + "for label, rmssd, sdnn in [('Baseline', rmssd_baseline, sdnn_baseline),\n", + " ('Session 1', rmssd_01, sdnn_01),\n", + " ('Session 2', rmssd_02, sdnn_02),\n", + " ('Session 3', rmssd_03, sdnn_03)]:\n", + " ar, asd = anxiety_flags(rmssd, sdnn)\n", + " print(f'{label} RMSSD Anxiety: {\"Yes\" if ar else \"No\"}, SDNN Anxiety: {\"Yes\" if asd else \"No\"}')\n" + ] }, { "cell_type": "code", @@ -157,14 +222,78 @@ "id": "4e92b8fe", "metadata": {}, "outputs": [], - "source": "import pandas as pd\nimport matplotlib.pyplot as plt\nimport matplotlib.dates as mdates\n\nDATA = '../data/individual/processed'\nPSY = '../data/individual/psychometric'\n\nquestion_types_count = {'HADS': 14, 'STAI-S': 20, 'STAI-T': 20, 'BFI': 10, 'FQ': 24}\n\nsessions = []\nfor i in range(1, 4):\n hr = pd.read_csv(f'{DATA}/hr_{i:02d}.csv')\n hr = hr[hr['confidence'] == 1.0].copy()\n hr['datetime'] = pd.to_datetime(hr['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n psy = pd.read_csv(f'{PSY}/Psychometric_Test_Results_{i:02d}.csv')\n psy['Question Start Time'] = pd.to_datetime(psy['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n psy['Question Answer Time'] = pd.to_datetime(psy['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n sessions.append((hr, psy))\n\ndef plot_heart_rate_for_category(hr_data, psy_data, category_name, expected_questions, session_num, window_size=10):\n category_data = psy_data[psy_data['Type'] == category_name].copy()\n\n segments, question_times = [], []\n for _, row in category_data.iterrows():\n mask = (hr_data['datetime'] >= row['Question Start Time']) & (hr_data['datetime'] <= row['Question Answer Time'])\n seg = hr_data.loc[mask]\n if not seg.empty:\n segments.append(seg)\n question_times.append(row['Question Answer Time'])\n\n if len(question_times) != expected_questions:\n print(f\"Warning: {category_name} has {len(question_times)} questions, expected {expected_questions}\")\n\n category_hr = pd.concat(segments, ignore_index=True) if segments else pd.DataFrame()\n category_hr = category_hr.sort_values('datetime').reset_index(drop=True)\n category_hr['smoothed_heart_rate'] = category_hr['heart_rate'].rolling(window=window_size).mean()\n\n plt.figure(figsize=(12, 6))\n plt.plot(category_hr['datetime'], category_hr['smoothed_heart_rate'], label='Heart Rate', color='b')\n\n for i, time in enumerate(question_times, start=1):\n nearest_idx = category_hr['datetime'].searchsorted(time)\n if nearest_idx < len(category_hr):\n hr_val = category_hr.iloc[nearest_idx]['smoothed_heart_rate']\n plt.scatter(time, hr_val, color='red')\n plt.text(time, hr_val + 1, f'Q{i}', rotation=45, ha='right')\n else:\n plt.axvline(x=time, color='red', linestyle='--', alpha=0.5)\n\n plt.xlabel('Time')\n plt.ylabel('Heart Rate (bpm)')\n plt.title(f'Heart Rate During {category_name} - Session {session_num:02d}')\n plt.xticks(rotation=45)\n plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))\n plt.legend()\n plt.grid(True)\n plt.tight_layout()\n plt.show()\n plt.close()\n\nfor i, (hr, psy) in enumerate(sessions, 1):\n for category, expected in question_types_count.items():\n plot_heart_rate_for_category(hr, psy, category, expected, i)" + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.dates as mdates\n", + "\n", + "DATA = '../data/individual/processed'\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "question_types_count = {'HADS': 14, 'STAI-S': 20, 'STAI-T': 20, 'BFI': 10, 'FQ': 24}\n", + "\n", + "sessions = []\n", + "for i in range(1, 4):\n", + " hr = pd.read_csv(f'{DATA}/hr_{i:02d}.csv')\n", + " hr = hr[hr['confidence'] == 1.0].copy()\n", + " hr['datetime'] = pd.to_datetime(hr['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " psy = pd.read_csv(f'{PSY}/Psychometric_Test_Results_{i:02d}.csv')\n", + " psy['Question Start Time'] = pd.to_datetime(psy['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " psy['Question Answer Time'] = pd.to_datetime(psy['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " sessions.append((hr, psy))\n", + "\n", + "def plot_heart_rate_for_category(hr_data, psy_data, category_name, expected_questions, session_num, window_size=10):\n", + " category_data = psy_data[psy_data['Type'] == category_name].copy()\n", + "\n", + " segments, question_times = [], []\n", + " for _, row in category_data.iterrows():\n", + " mask = (hr_data['datetime'] >= row['Question Start Time']) & (hr_data['datetime'] <= row['Question Answer Time'])\n", + " seg = hr_data.loc[mask]\n", + " if not seg.empty:\n", + " segments.append(seg)\n", + " question_times.append(row['Question Answer Time'])\n", + "\n", + " if len(question_times) != expected_questions:\n", + " print(f\"Warning: {category_name} has {len(question_times)} questions, expected {expected_questions}\")\n", + "\n", + " category_hr = pd.concat(segments, ignore_index=True) if segments else pd.DataFrame()\n", + " category_hr = category_hr.sort_values('datetime').reset_index(drop=True)\n", + " category_hr['smoothed_heart_rate'] = category_hr['heart_rate'].rolling(window=window_size).mean()\n", + "\n", + " plt.figure(figsize=(12, 6))\n", + " plt.plot(category_hr['datetime'], category_hr['smoothed_heart_rate'], label='Heart Rate', color='b')\n", + "\n", + " for i, time in enumerate(question_times, start=1):\n", + " nearest_idx = category_hr['datetime'].searchsorted(time)\n", + " if nearest_idx < len(category_hr):\n", + " hr_val = category_hr.iloc[nearest_idx]['smoothed_heart_rate']\n", + " plt.scatter(time, hr_val, color='red')\n", + " plt.text(time, hr_val + 1, f'Q{i}', rotation=45, ha='right')\n", + " else:\n", + " plt.axvline(x=time, color='red', linestyle='--', alpha=0.5)\n", + "\n", + " plt.xlabel('Time')\n", + " plt.ylabel('Heart Rate (bpm)')\n", + " plt.title(f'Heart Rate During {category_name} - Session {session_num:02d}')\n", + " plt.xticks(rotation=45)\n", + " plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))\n", + " plt.legend()\n", + " plt.grid(True)\n", + " plt.tight_layout()\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "for i, (hr, psy) in enumerate(sessions, 1):\n", + " for category, expected in question_types_count.items():\n", + " plot_heart_rate_for_category(hr, psy, category, expected, i)" + ] } ], "metadata": { "kernelspec": { - "display_name": "pdf_processing", + "display_name": "Python 3", "language": "python", - "name": "pdf_processing" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -181,4 +310,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/individual/Co hr02.ipynb b/individual/hr_across_sessions_02.ipynb similarity index 64% rename from individual/Co hr02.ipynb rename to individual/hr_across_sessions_02.ipynb index a0a5e52..9c84576 100755 --- a/individual/Co hr02.ipynb +++ b/individual/hr_across_sessions_02.ipynb @@ -1,5 +1,20 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "7d092edf", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Hr Across Sessions 02\n", + "\n", + "Heart rate across sessions (continued, part 2).\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, { "cell_type": "code", "execution_count": null, @@ -52,14 +67,35 @@ "id": "5ff4a24f-e9a8-4df8-8664-5f1e2f7f22c9", "metadata": {}, "outputs": [], - "source": "test_types = ['HADS', 'STAI-S', 'STAI-T', 'BFI', 'FQ']\nsessions = [(psychometric_01, hr_01), (psychometric_02, hr_02), (psychometric_03, hr_03)]\nyn = lambda x: 'Yes' if x else 'No'\n\nrows = []\nfor test_type in test_types:\n for i, (psych, hr) in enumerate(sessions, 1):\n qs = psych[psych['Type'] == test_type].copy()\n avg_hr, start, end = get_average_hr_and_times(qs, hr)\n rows.append((\n f'Test {i:02d}', test_type, start, end, avg_hr,\n yn(avg_hr > baseline_avg_hr), yn(avg_hr > 100)\n ))\n\nresults = pd.DataFrame(rows, columns=[\n 'Test', 'Type', 'Start Time', 'End Time',\n 'Average HR (BPM)', 'Anxiety (Individual)', 'Anxiety (General >100 BPM)'\n])\nprint(f'Baseline Average HR: {baseline_avg_hr:.2f} BPM\\n')\nprint(results.to_string(index=False))" + "source": [ + "test_types = ['HADS', 'STAI-S', 'STAI-T', 'BFI', 'FQ']\n", + "sessions = [(psychometric_01, hr_01), (psychometric_02, hr_02), (psychometric_03, hr_03)]\n", + "yn = lambda x: 'Yes' if x else 'No'\n", + "\n", + "rows = []\n", + "for test_type in test_types:\n", + " for i, (psych, hr) in enumerate(sessions, 1):\n", + " qs = psych[psych['Type'] == test_type].copy()\n", + " avg_hr, start, end = get_average_hr_and_times(qs, hr)\n", + " rows.append((\n", + " f'Test {i:02d}', test_type, start, end, avg_hr,\n", + " yn(avg_hr > baseline_avg_hr), yn(avg_hr > 100)\n", + " ))\n", + "\n", + "results = pd.DataFrame(rows, columns=[\n", + " 'Test', 'Type', 'Start Time', 'End Time',\n", + " 'Average HR (BPM)', 'Anxiety (Individual)', 'Anxiety (General >100 BPM)'\n", + "])\n", + "print(f'Baseline Average HR: {baseline_avg_hr:.2f} BPM\\n')\n", + "print(results.to_string(index=False))" + ] } ], "metadata": { "kernelspec": { - "display_name": "pdf_processing", + "display_name": "Python 3", "language": "python", - "name": "pdf_processing" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -76,4 +112,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/individual/Co hr03.ipynb b/individual/hr_across_sessions_03.ipynb similarity index 61% rename from individual/Co hr03.ipynb rename to individual/hr_across_sessions_03.ipynb index 92ddaf0..28c9e43 100755 --- a/individual/Co hr03.ipynb +++ b/individual/hr_across_sessions_03.ipynb @@ -1,5 +1,20 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "93ee908f", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Hr Across Sessions 03\n", + "\n", + "Heart rate across sessions (continued, part 3).\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, { "cell_type": "code", "execution_count": null, @@ -97,7 +112,51 @@ "id": "68e9c730-dcf7-48fa-9044-8ff6f405047b", "metadata": {}, "outputs": [], - "source": "# per-session HRV\ndef _filter(df):\n return df[(df['ibi'] > IBI_MIN) & (df['ibi'] < IBI_MAX)]['ibi']\n\nrmssd_01, sdnn_01 = calculate_hrv_metrics(_filter(ibi_01))\nrmssd_02, sdnn_02 = calculate_hrv_metrics(_filter(ibi_02))\nrmssd_03, sdnn_03 = calculate_hrv_metrics(_filter(ibi_03))\n\ngen_01, _ = determine_anxiety(rmssd_01, sdnn_01, rmssd_baseline, sdnn_baseline)\ngen_02, _ = determine_anxiety(rmssd_02, sdnn_02, rmssd_baseline, sdnn_baseline)\ngen_03, _ = determine_anxiety(rmssd_03, sdnn_03, rmssd_baseline, sdnn_baseline)\n\nsessions = {\n 'Baseline': (rmssd_baseline, sdnn_baseline, False),\n 'Test 01': (rmssd_01, sdnn_01, gen_01),\n 'Test 02': (rmssd_02, sdnn_02, gen_02),\n 'Test 03': (rmssd_03, sdnn_03, gen_03),\n}\n\nprint(f'Baseline RMSSD: {rmssd_baseline:.2f} ms SDNN: {sdnn_baseline:.2f} ms')\nfor label, (r, s, g) in list(sessions.items())[1:]:\n print(f'{label} RMSSD: {r:.2f} ms SDNN: {s:.2f} ms Anxiety: {\"Yes\" if g else \"No\"}')\n\nlabels = list(sessions.keys())\ncolors = ['red' if v[2] else 'green' for v in sessions.values()]\n\nfig, axes = plt.subplots(2, 1, figsize=(10, 8))\n\naxes[0].bar(labels, [v[0] for v in sessions.values()], color=colors, alpha=0.7)\naxes[0].axhline(RMSSD_THRESHOLD, color='red', linestyle='--', label='Threshold')\naxes[0].set_title('RMSSD Across Sessions')\naxes[0].set_ylabel('RMSSD (ms)')\naxes[0].legend()\n\naxes[1].bar(labels, [v[1] for v in sessions.values()], color=colors, alpha=0.7)\naxes[1].axhline(SDNN_THRESHOLD, color='red', linestyle='--', label='Threshold')\naxes[1].set_title('SDNN Across Sessions')\naxes[1].set_ylabel('SDNN (ms)')\naxes[1].legend()\n\nplt.tight_layout()\nplt.show()\nplt.close()" + "source": [ + "# per-session HRV\n", + "def _filter(df):\n", + " return df[(df['ibi'] > IBI_MIN) & (df['ibi'] < IBI_MAX)]['ibi']\n", + "\n", + "rmssd_01, sdnn_01 = calculate_hrv_metrics(_filter(ibi_01))\n", + "rmssd_02, sdnn_02 = calculate_hrv_metrics(_filter(ibi_02))\n", + "rmssd_03, sdnn_03 = calculate_hrv_metrics(_filter(ibi_03))\n", + "\n", + "gen_01, _ = determine_anxiety(rmssd_01, sdnn_01, rmssd_baseline, sdnn_baseline)\n", + "gen_02, _ = determine_anxiety(rmssd_02, sdnn_02, rmssd_baseline, sdnn_baseline)\n", + "gen_03, _ = determine_anxiety(rmssd_03, sdnn_03, rmssd_baseline, sdnn_baseline)\n", + "\n", + "sessions = {\n", + " 'Baseline': (rmssd_baseline, sdnn_baseline, False),\n", + " 'Test 01': (rmssd_01, sdnn_01, gen_01),\n", + " 'Test 02': (rmssd_02, sdnn_02, gen_02),\n", + " 'Test 03': (rmssd_03, sdnn_03, gen_03),\n", + "}\n", + "\n", + "print(f'Baseline RMSSD: {rmssd_baseline:.2f} ms SDNN: {sdnn_baseline:.2f} ms')\n", + "for label, (r, s, g) in list(sessions.items())[1:]:\n", + " print(f'{label} RMSSD: {r:.2f} ms SDNN: {s:.2f} ms Anxiety: {\"Yes\" if g else \"No\"}')\n", + "\n", + "labels = list(sessions.keys())\n", + "colors = ['red' if v[2] else 'green' for v in sessions.values()]\n", + "\n", + "fig, axes = plt.subplots(2, 1, figsize=(10, 8))\n", + "\n", + "axes[0].bar(labels, [v[0] for v in sessions.values()], color=colors, alpha=0.7)\n", + "axes[0].axhline(RMSSD_THRESHOLD, color='red', linestyle='--', label='Threshold')\n", + "axes[0].set_title('RMSSD Across Sessions')\n", + "axes[0].set_ylabel('RMSSD (ms)')\n", + "axes[0].legend()\n", + "\n", + "axes[1].bar(labels, [v[1] for v in sessions.values()], color=colors, alpha=0.7)\n", + "axes[1].axhline(SDNN_THRESHOLD, color='red', linestyle='--', label='Threshold')\n", + "axes[1].set_title('SDNN Across Sessions')\n", + "axes[1].set_ylabel('SDNN (ms)')\n", + "axes[1].legend()\n", + "\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] }, { "cell_type": "code", @@ -105,14 +164,25 @@ "id": "1617606d-38b1-410e-850a-87f16f1a731a", "metadata": {}, "outputs": [], - "source": "# all question types\nall_results = []\nfor qt in question_types:\n df = process_questions(qt, psychometric_data, ibi_data, rmssd_baseline, sdnn_baseline)\n df.insert(1, 'Type', qt)\n all_results.append(df)\n\nall_results = pd.concat(all_results, ignore_index=True)\nprint(f'Baseline RMSSD: {rmssd_baseline:.2f} ms, SDNN: {sdnn_baseline:.2f} ms\\n')\nprint(all_results.to_string(index=False))" + "source": [ + "# all question types\n", + "all_results = []\n", + "for qt in question_types:\n", + " df = process_questions(qt, psychometric_data, ibi_data, rmssd_baseline, sdnn_baseline)\n", + " df.insert(1, 'Type', qt)\n", + " all_results.append(df)\n", + "\n", + "all_results = pd.concat(all_results, ignore_index=True)\n", + "print(f'Baseline RMSSD: {rmssd_baseline:.2f} ms, SDNN: {sdnn_baseline:.2f} ms\\n')\n", + "print(all_results.to_string(index=False))" + ] } ], "metadata": { "kernelspec": { - "display_name": "pdf_processing", + "display_name": "Python 3", "language": "python", - "name": "pdf_processing" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -129,4 +199,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/individual/preprocess_raw_to_csv.ipynb b/individual/preprocess_raw_to_csv.ipynb new file mode 100755 index 0000000..a3abaf5 --- /dev/null +++ b/individual/preprocess_raw_to_csv.ipynb @@ -0,0 +1,430 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bfc4a717", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Preprocess Raw To Csv\n", + "\n", + "Convert raw sensor exports (.txt) into tidy processed CSVs.\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6wbwph8o288", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "RAW = '../data/individual/raw'\n", + "DATA = '../data/individual/processed'\n", + "PSY = '../data/individual/psychometric'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d1cae14-78bf-4aef-ac58-82fa96b1363c", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/hr.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/hr.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14a8ada0-f7a1-4fb1-ab07-13c1ae0a0a7c", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/hr_01.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/hr_01.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4da28eb8-3d63-49d8-835e-fbf6d2796130", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/hr_02.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/hr_02.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b100977d-19df-43f1-9559-d8d9815e531f", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/hr_03.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/hr_03.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "127d676f-bc31-4518-b223-7de3195c7172", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/ibi.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/ibi.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9be74ecd-6214-4a1a-9aa2-4e67066a0223", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/ibi_01.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/ibi_01.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b056e60d-77c0-4fd1-b33e-74e28cce7a99", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/ibi_02.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/ibi_02.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "683b9f77-5c4f-46d2-a8f2-269123d437a9", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/ibi_03.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/ibi_03.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90b59a53-e30d-4137-916d-08b66f3d06e6", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/sed.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/sed.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3885999c-d149-4689-bd63-2f692d6a689a", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/sed_01.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/sed_01.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e68c8763-e49c-4282-9e72-f24a9c8f6ff5", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/sed_02.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/sed_02.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e36ed587-ffe5-4430-97f7-3d2a949ab064", + "metadata": {}, + "outputs": [], + "source": [ + "# load txt file\n", + "file_path = f'{RAW}/sed_03.txt'\n", + "df = pd.read_csv(file_path, delimiter=';')\n", + "\n", + "# save as CSV\n", + "csv_file_path = f'{DATA}/sed_03.csv'\n", + "df.to_csv(csv_file_path, index=False)\n", + "\n", + "csv_file_path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "070320ae-b287-485b-8a88-d202460949ca", + "metadata": {}, + "outputs": [], + "source": [ + "# load CSV files\n", + "sed_df = pd.read_csv(f'{DATA}/sed_01.csv')\n", + "\n", + "# rename columns\n", + "sed_df = sed_df.rename(columns={\n", + " 'gazeDir.x': 'gaze_x',\n", + " 'gazeDir.y': 'gaze_y',\n", + " 'gazeDir.z': 'gaze_z'\n", + "})\n", + "\n", + "# validate data\n", + "if sed_df[['reltime', 'gaze_x', 'gaze_y', 'gaze_z']].isnull().any().any():\n", + " raise ValueError(\"Input data contains missing values. Please clean the data and try again.\")\n", + "\n", + "# gaze stability threshold\n", + "gaze_threshold = 0.01\n", + "\n", + "# gaze direction diff\n", + "sed_df['gaze_diff'] = np.sqrt((sed_df['gaze_x'].diff() ** 2) +\n", + " (sed_df['gaze_y'].diff() ** 2) +\n", + " (sed_df['gaze_z'].diff() ** 2))\n", + "\n", + "# identify fixation points\n", + "sed_df['fixation'] = sed_df['gaze_diff'] < gaze_threshold\n", + "\n", + "# label fixation groups\n", + "sed_df['fixation_id'] = (sed_df['fixation'] != sed_df['fixation'].shift()).cumsum()\n", + "\n", + "# filter fixations\n", + "fixation_df = sed_df[sed_df['fixation']]\n", + "\n", + "# fixation duration\n", + "fixation_duration = fixation_df.groupby('fixation_id')['reltime'].agg(['min', 'max'])\n", + "fixation_duration['duration'] = fixation_duration['max'] - fixation_duration['min']\n", + "fixation_duration = fixation_duration[['duration']]\n", + "\n", + "# merge durations\n", + "sed_df = sed_df.merge(fixation_duration, left_on='fixation_id', right_index=True, how='left')\n", + "\n", + "# save data\n", + "output_path = f'{DATA}/sed_fix_01.csv'\n", + "sed_df.to_csv(output_path, index=False)\n", + "\n", + "print(f\"File saved successfully to {output_path}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0bf1fe6a-2b34-45f3-9bf5-61814b7c9377", + "metadata": {}, + "outputs": [], + "source": [ + "# load CSV files\n", + "sed_df = pd.read_csv(f'{DATA}/sed_02.csv')\n", + "\n", + "# rename columns\n", + "sed_df = sed_df.rename(columns={\n", + " 'gazeDir.x': 'gaze_x',\n", + " 'gazeDir.y': 'gaze_y',\n", + " 'gazeDir.z': 'gaze_z'\n", + "})\n", + "\n", + "# validate data\n", + "if sed_df[['reltime', 'gaze_x', 'gaze_y', 'gaze_z']].isnull().any().any():\n", + " raise ValueError(\"Input data contains missing values. Please clean the data and try again.\")\n", + "\n", + "# gaze stability threshold\n", + "gaze_threshold = 0.01\n", + "\n", + "# gaze direction diff\n", + "sed_df['gaze_diff'] = np.sqrt((sed_df['gaze_x'].diff() ** 2) +\n", + " (sed_df['gaze_y'].diff() ** 2) +\n", + " (sed_df['gaze_z'].diff() ** 2))\n", + "\n", + "# identify fixation points\n", + "sed_df['fixation'] = sed_df['gaze_diff'] < gaze_threshold\n", + "\n", + "# label fixation groups\n", + "sed_df['fixation_id'] = (sed_df['fixation'] != sed_df['fixation'].shift()).cumsum()\n", + "\n", + "# filter fixations\n", + "fixation_df = sed_df[sed_df['fixation']]\n", + "\n", + "# fixation duration\n", + "fixation_duration = fixation_df.groupby('fixation_id')['reltime'].agg(['min', 'max'])\n", + "fixation_duration['duration'] = fixation_duration['max'] - fixation_duration['min']\n", + "fixation_duration = fixation_duration[['duration']]\n", + "\n", + "# merge durations\n", + "sed_df = sed_df.merge(fixation_duration, left_on='fixation_id', right_index=True, how='left')\n", + "\n", + "# save data\n", + "output_path = f'{DATA}/sed_fix_02.csv'\n", + "sed_df.to_csv(output_path, index=False)\n", + "\n", + "print(f\"File saved successfully to {output_path}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bcb734b9-6537-4487-a85d-60c76a97f8e4", + "metadata": {}, + "outputs": [], + "source": [ + "# load CSV files\n", + "sed_df = pd.read_csv(f'{DATA}/sed_03.csv')\n", + "\n", + "# rename columns\n", + "sed_df = sed_df.rename(columns={\n", + " 'gazeDir.x': 'gaze_x',\n", + " 'gazeDir.y': 'gaze_y',\n", + " 'gazeDir.z': 'gaze_z'\n", + "})\n", + "\n", + "# validate data\n", + "if sed_df[['reltime', 'gaze_x', 'gaze_y', 'gaze_z']].isnull().any().any():\n", + " raise ValueError(\"Input data contains missing values. Please clean the data and try again.\")\n", + "\n", + "# gaze stability threshold\n", + "gaze_threshold = 0.01\n", + "\n", + "# gaze direction diff\n", + "sed_df['gaze_diff'] = np.sqrt((sed_df['gaze_x'].diff() ** 2) +\n", + " (sed_df['gaze_y'].diff() ** 2) +\n", + " (sed_df['gaze_z'].diff() ** 2))\n", + "\n", + "# identify fixation points\n", + "sed_df['fixation'] = sed_df['gaze_diff'] < gaze_threshold\n", + "\n", + "# label fixation groups\n", + "sed_df['fixation_id'] = (sed_df['fixation'] != sed_df['fixation'].shift()).cumsum()\n", + "\n", + "# filter fixations\n", + "fixation_df = sed_df[sed_df['fixation']]\n", + "\n", + "# fixation duration\n", + "fixation_duration = fixation_df.groupby('fixation_id')['reltime'].agg(['min', 'max'])\n", + "fixation_duration['duration'] = fixation_duration['max'] - fixation_duration['min']\n", + "fixation_duration = fixation_duration[['duration']]\n", + "\n", + "# merge durations\n", + "sed_df = sed_df.merge(fixation_duration, left_on='fixation_id', right_index=True, how='left')\n", + "\n", + "# save data\n", + "output_path = f'{DATA}/sed_fix_03.csv'\n", + "sed_df.to_csv(output_path, index=False)\n", + "\n", + "print(f\"File saved successfully to {output_path}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/individual/questionnaire_physiology.ipynb b/individual/questionnaire_physiology.ipynb new file mode 100755 index 0000000..ca4f96f --- /dev/null +++ b/individual/questionnaire_physiology.ipynb @@ -0,0 +1,352 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ecd75372", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Questionnaire Physiology\n", + "\n", + "Link per-question psychometric responses to concurrent HR/IBI physiology.\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e36e3c42-a501-4e6c-8850-bc6c970c0c28", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "DATA = '../data/individual/processed'\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "hr_baseline = pd.read_csv(f'{DATA}/hr.csv')\n", + "hr_01 = pd.read_csv(f'{DATA}/hr_01.csv')\n", + "hr_02 = pd.read_csv(f'{DATA}/hr_02.csv')\n", + "hr_03 = pd.read_csv(f'{DATA}/hr_03.csv')\n", + "\n", + "ibi_baseline = pd.read_csv(f'{DATA}/ibi.csv')\n", + "ibi_01 = pd.read_csv(f'{DATA}/ibi_01.csv')\n", + "ibi_02 = pd.read_csv(f'{DATA}/ibi_02.csv')\n", + "ibi_03 = pd.read_csv(f'{DATA}/ibi_03.csv')\n", + "\n", + "eye_tracking_baseline = pd.read_csv(f'{DATA}/sed.csv')\n", + "eye_tracking_01 = pd.read_csv(f'{DATA}/sed_01.csv')\n", + "eye_tracking_02 = pd.read_csv(f'{DATA}/sed_02.csv')\n", + "eye_tracking_03 = pd.read_csv(f'{DATA}/sed_03.csv')\n", + "\n", + "psychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", + "psychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", + "psychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", + "\n", + "columns_mapping = {'datetime': 'timestamp', 'pupil': 'pupil_dilation', 'leftEyeOpen': 'left_blink', 'rightEyeOpen': 'right_blink'}\n", + "eye_tracking_baseline, eye_tracking_01, eye_tracking_02, eye_tracking_03 = [\n", + " df.rename(columns=columns_mapping) for df in\n", + " [eye_tracking_baseline, eye_tracking_01, eye_tracking_02, eye_tracking_03]\n", + "]\n", + "\n", + "def clean_eye(df):\n", + " df['timestamp'] = pd.to_datetime(df['timestamp'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " return df.dropna(subset=['timestamp'])\n", + "\n", + "def clean_hrv(df):\n", + " df['datetime'] = pd.to_datetime(df['datetime'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " return df.dropna(subset=['datetime'])\n", + "\n", + "eye_tracking_baseline = clean_eye(eye_tracking_baseline)\n", + "eye_tracking_01 = clean_eye(eye_tracking_01)\n", + "eye_tracking_02 = clean_eye(eye_tracking_02)\n", + "eye_tracking_03 = clean_eye(eye_tracking_03)\n", + "\n", + "hr_baseline = clean_hrv(hr_baseline)\n", + "hr_01 = clean_hrv(hr_01)\n", + "hr_02 = clean_hrv(hr_02)\n", + "hr_03 = clean_hrv(hr_03)\n", + "ibi_baseline = clean_hrv(ibi_baseline)\n", + "ibi_01 = clean_hrv(ibi_01)\n", + "ibi_02 = clean_hrv(ibi_02)\n", + "ibi_03 = clean_hrv(ibi_03)\n", + "\n", + "psychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "\n", + "psychometric_01 = psychometric_01.dropna(subset=['Question Start Time'])\n", + "psychometric_02 = psychometric_02.dropna(subset=['Question Start Time'])\n", + "psychometric_03 = psychometric_03.dropna(subset=['Question Start Time'])\n", + "\n", + "def calculate_hrv_metrics(ibi_data):\n", + " if len(ibi_data) == 0:\n", + " return None, None\n", + " valid_ibi = ibi_data[ibi_data > 0]\n", + " rmssd = np.sqrt(np.mean(np.square(np.diff(valid_ibi))))\n", + " sdnn = np.std(valid_ibi, ddof=1)\n", + " return rmssd, sdnn\n", + "\n", + "def calculate_blink_rate(blink_data, duration_s):\n", + " if duration_s <= 0:\n", + " return 0.0\n", + " blink_count = ((blink_data > 1.0) & (blink_data.shift(-1) <= 1.0)).sum()\n", + " return blink_count / (duration_s / 60)\n", + "\n", + "baseline_avg_hr = hr_baseline['heart_rate'].mean()\n", + "baseline_duration_s = (eye_tracking_baseline['timestamp'].max() - eye_tracking_baseline['timestamp'].min()).total_seconds()\n", + "\n", + "baseline_metrics = {\n", + " 'rmssd': calculate_hrv_metrics(ibi_baseline['ibi'])[0],\n", + " 'sdnn': calculate_hrv_metrics(ibi_baseline['ibi'])[1],\n", + " 'pupil_dilation': eye_tracking_baseline['pupil_dilation'].mean(),\n", + " 'left_blink_rate': calculate_blink_rate(eye_tracking_baseline['left_blink'], baseline_duration_s),\n", + " 'right_blink_rate': calculate_blink_rate(eye_tracking_baseline['right_blink'], baseline_duration_s),\n", + "}\n", + "\n", + "def process_question_data(questions, hr_data, ibi_data, eye_tracking_data, baseline_avg_hr, baseline_metrics):\n", + " results = []\n", + " for _, question in questions.iterrows():\n", + " start_time = question['Question Start Time']\n", + " end_time = question['Question Answer Time']\n", + " duration_s = (end_time - start_time).total_seconds()\n", + "\n", + " hr_segment = hr_data[(hr_data['datetime'] >= start_time) & (hr_data['datetime'] <= end_time)]\n", + " ibi_segment = ibi_data[(ibi_data['datetime'] >= start_time) & (ibi_data['datetime'] <= end_time)]\n", + " eye_segment = eye_tracking_data[(eye_tracking_data['timestamp'] >= start_time) & (eye_tracking_data['timestamp'] <= end_time)]\n", + "\n", + " avg_hr = hr_segment['heart_rate'].mean()\n", + " rmssd, sdnn = calculate_hrv_metrics(ibi_segment['ibi'])\n", + " avg_pupil = eye_segment['pupil_dilation'].mean()\n", + " left_blink = calculate_blink_rate(eye_segment['left_blink'], duration_s)\n", + " right_blink = calculate_blink_rate(eye_segment['right_blink'], duration_s)\n", + "\n", + " results.append({\n", + " 'Question': question['Question'],\n", + " 'Start Time': start_time.strftime('%H:%M:%S'),\n", + " 'End Time': end_time.strftime('%H:%M:%S'),\n", + " 'Duration (s)': duration_s,\n", + " 'Average HR (BPM)': avg_hr,\n", + " 'RMSSD (ms)': rmssd,\n", + " 'SDNN (ms)': sdnn,\n", + " 'Average Pupil Dilation': avg_pupil,\n", + " 'Left Blink Rate': left_blink,\n", + " 'Right Blink Rate': right_blink,\n", + " })\n", + " return results\n", + "\n", + "def display_results(results, test_number):\n", + " print(f\"\\nTest {test_number:02d}:\")\n", + " for r in results:\n", + " print(f\" {r['Question']}: {r['Start Time']} - {r['End Time']} ({r['Duration (s)']}s)\")\n", + " hr_val = r['Average HR (BPM)']\n", + " rmssd_val = r['RMSSD (ms)']\n", + " sdnn_val = r['SDNN (ms)']\n", + " print(f\" HR: {hr_val:.2f} BPM\" if hr_val is not None else \" HR: N/A\")\n", + " print(f\" RMSSD: {rmssd_val:.2f} ms SDNN: {sdnn_val:.2f} ms\" if rmssd_val is not None else \" RMSSD: N/A SDNN: N/A\")\n", + " print(f\" Pupil: {r['Average Pupil Dilation']:.2f} Left blink: {r['Left Blink Rate']:.2f} Right blink: {r['Right Blink Rate']:.2f}\")\n", + "\n", + "sessions = [\n", + " (psychometric_01, hr_01, ibi_01, eye_tracking_01),\n", + " (psychometric_02, hr_02, ibi_02, eye_tracking_02),\n", + " (psychometric_03, hr_03, ibi_03, eye_tracking_03),\n", + "]\n", + "\n", + "for i, (psy, hr, ibi, eye) in enumerate(sessions, 1):\n", + " results = process_question_data(psy[psy['Type'] == 'HADS'], hr, ibi, eye, baseline_avg_hr, baseline_metrics)\n", + " display_results(results, i)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "727w5p4jsuj", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "# load psychometric data\n", + "psy_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", + "psy_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", + "psy_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", + "\n", + "# clinical thresholds\n", + "thresholds = {\n", + " 'HADS': {'normal': 7, 'borderline': 10, 'label': '0-7 normal, 8-10 borderline, 11+ abnormal'},\n", + " 'STAI-S': {'normal': 39, 'borderline': 54, 'label': '20-39 low, 40-54 moderate, 55+ high'},\n", + " 'STAI-T': {'normal': 39, 'borderline': 54, 'label': '20-39 low, 40-54 moderate, 55+ high'},\n", + "}\n", + "\n", + "# total scores\n", + "print(\"=== Psychometric Total Scores ===\\n\")\n", + "for i, psy in enumerate([psy_01, psy_02, psy_03], 1):\n", + " print(f\"--- Session {i:02d} ---\")\n", + " for q_type in psy['Type'].unique():\n", + " subset = psy[psy['Type'] == q_type]\n", + " answers = pd.to_numeric(subset['Answer'], errors='coerce')\n", + " total = answers.sum()\n", + " n_items = len(answers.dropna())\n", + " mean_score = answers.mean()\n", + "\n", + " if q_type in thresholds:\n", + " t = thresholds[q_type]\n", + " if total <= t['normal']:\n", + " level = \"normal\"\n", + " elif total <= t['borderline']:\n", + " level = \"borderline\"\n", + " else:\n", + " level = \"elevated\"\n", + " print(f\" {q_type}: total={total}, mean={mean_score:.2f}, n={n_items} -> {level} ({t['label']})\")\n", + " else:\n", + " print(f\" {q_type}: total={total}, mean={mean_score:.2f}, n={n_items}\")\n", + " print()\n", + "\n", + "# session comparison\n", + "print(\"=== Score Changes Across Sessions ===\\n\")\n", + "for q_type in psy_01['Type'].unique():\n", + " scores = []\n", + " for psy in [psy_01, psy_02, psy_03]:\n", + " scores.append(pd.to_numeric(psy[psy['Type'] == q_type]['Answer'], errors='coerce').sum())\n", + " trend = \"increasing\" if scores[-1] > scores[0] else \"decreasing\" if scores[-1] < scores[0] else \"stable\"\n", + " print(f\"{q_type}: {scores} ({trend})\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7u8jua0ogx7", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "# load data\n", + "psy_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", + "psy_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", + "psy_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", + "\n", + "# extract item number\n", + "def get_item_num(test_str):\n", + " part = str(test_str).split('.')[-1]\n", + " return int(part) if part.isdigit() else 0\n", + "\n", + "# --- HADS subscale separation ---\n", + "print(\"=== HADS Subscale Analysis ===\\n\")\n", + "print(\"Anxiety items: 1,3,5,7,9,11,13 | Depression items: 2,4,6,8,10,12,14\")\n", + "print(\"Threshold: 0-7 normal, 8-10 borderline, 11+ clinical\\n\")\n", + "\n", + "for i, psy in enumerate([psy_01, psy_02, psy_03], 1):\n", + " hads = psy[psy['Type'] == 'HADS'].copy()\n", + " hads['item_num'] = hads['Test'].apply(get_item_num)\n", + " \n", + " anxiety_items = hads[hads['item_num'].isin([1, 3, 5, 7, 9, 11, 13])]\n", + " depression_items = hads[hads['item_num'].isin([2, 4, 6, 8, 10, 12, 14])]\n", + " \n", + " anx_total = pd.to_numeric(anxiety_items['Answer'], errors='coerce').sum()\n", + " dep_total = pd.to_numeric(depression_items['Answer'], errors='coerce').sum()\n", + " \n", + " anx_level = \"normal\" if anx_total <= 7 else \"borderline\" if anx_total <= 10 else \"clinical\"\n", + " dep_level = \"normal\" if dep_total <= 7 else \"borderline\" if dep_total <= 10 else \"clinical\"\n", + " \n", + " print(f\"Session {i:02d}: Anxiety={anx_total} ({anx_level}), Depression={dep_total} ({dep_level})\")\n", + "\n", + "# --- session trajectories ---\n", + "print(\"\\n=== Subscale Trajectories ===\\n\")\n", + "subscale_scores = {'HADS-A': [], 'HADS-D': [], 'STAI-S': [], 'STAI-T': []}\n", + "\n", + "for psy in [psy_01, psy_02, psy_03]:\n", + " hads = psy[psy['Type'] == 'HADS'].copy()\n", + " hads['item_num'] = hads['Test'].apply(get_item_num)\n", + " subscale_scores['HADS-A'].append(pd.to_numeric(hads[hads['item_num'].isin([1, 3, 5, 7, 9, 11, 13])]['Answer'], errors='coerce').sum())\n", + " subscale_scores['HADS-D'].append(pd.to_numeric(hads[hads['item_num'].isin([2, 4, 6, 8, 10, 12, 14])]['Answer'], errors='coerce').sum())\n", + " subscale_scores['STAI-S'].append(pd.to_numeric(psy[psy['Type'] == 'STAI-S']['Answer'], errors='coerce').sum())\n", + " subscale_scores['STAI-T'].append(pd.to_numeric(psy[psy['Type'] == 'STAI-T']['Answer'], errors='coerce').sum())\n", + "\n", + "for name, scores in subscale_scores.items():\n", + " trend = \"increasing\" if scores[-1] > scores[0] else \"decreasing\" if scores[-1] < scores[0] else \"stable\"\n", + " print(f\"{name}: {scores} ({trend})\")\n", + "\n", + "# --- radar chart ---\n", + "fig, axes = plt.subplots(1, 3, figsize=(18, 6), subplot_kw=dict(polar=True))\n", + "categories = list(subscale_scores.keys())\n", + "n_cats = len(categories)\n", + "angles = np.linspace(0, 2 * np.pi, n_cats, endpoint=False).tolist()\n", + "angles += angles[:1]\n", + "\n", + "# normalize for radar\n", + "max_vals = {'HADS-A': 21, 'HADS-D': 21, 'STAI-S': 80, 'STAI-T': 80}\n", + "colors = ['tab:blue', 'tab:orange', 'tab:green']\n", + "\n", + "for idx in range(3):\n", + " ax = axes[idx]\n", + " values = [subscale_scores[cat][idx] / max_vals[cat] * 100 for cat in categories]\n", + " values += values[:1]\n", + " \n", + " ax.plot(angles, values, 'o-', color=colors[idx], linewidth=2)\n", + " ax.fill(angles, values, alpha=0.25, color=colors[idx])\n", + " ax.set_thetagrids(np.degrees(angles[:-1]), categories)\n", + " ax.set_ylim(0, 100)\n", + " ax.set_title(f'Session {idx+1:02d}', pad=20)\n", + " ax.set_yticks([25, 50, 75])\n", + " ax.set_yticklabels(['25%', '50%', '75%'], fontsize=7)\n", + "\n", + "plt.suptitle('Psychometric Profile (% of max score)', y=1.05)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# --- trajectory line plot ---\n", + "fig, ax = plt.subplots(figsize=(10, 6))\n", + "sessions = ['Session 01', 'Session 02', 'Session 03']\n", + "for name, scores in subscale_scores.items():\n", + " normalized = [s / max_vals[name] * 100 for s in scores]\n", + " ax.plot(sessions, normalized, 'o-', label=name, linewidth=2, markersize=8)\n", + "\n", + "ax.axhline(50, color='red', linestyle='--', alpha=0.5, label='50% threshold')\n", + "ax.set_ylabel('Score (% of maximum)')\n", + "ax.set_title('Psychometric Subscale Trajectories Across Sessions')\n", + "ax.legend()\n", + "ax.grid(axis='y', linestyle='--', alpha=0.5)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/individual/time_analysis.ipynb b/individual/time_analysis.ipynb new file mode 100755 index 0000000..b51b235 --- /dev/null +++ b/individual/time_analysis.ipynb @@ -0,0 +1,166 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6f8c1392", + "metadata": { + "mms_tag": "purpose_header" + }, + "source": [ + "# Time Analysis\n", + "\n", + "Response-timing / question-duration analysis.\n", + "\n", + "**Reads:** `data/individual/ (one participant, per session)` \n", + "**Shared code:** `import mms` (loaders in `mms.io`, metrics in `mms.hrv` / `mms.stats`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5e246c21-211e-4af2-aeec-c0a65651e49b", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "# load data\n", + "psychometric_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", + "psychometric_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", + "psychometric_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", + "\n", + "# Convert datetimes\n", + "psychometric_01['Question Start Time'] = pd.to_datetime(psychometric_01['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Start Time'] = pd.to_datetime(psychometric_02['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Start Time'] = pd.to_datetime(psychometric_03['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "\n", + "psychometric_01['Question Answer Time'] = pd.to_datetime(psychometric_01['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_02['Question Answer Time'] = pd.to_datetime(psychometric_02['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "psychometric_03['Question Answer Time'] = pd.to_datetime(psychometric_03['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + "\n", + "# answer duration\n", + "psychometric_01['answer_duration'] = (psychometric_01['Question Answer Time'] - psychometric_01['Question Start Time']).dt.total_seconds() / 60\n", + "psychometric_02['answer_duration'] = (psychometric_02['Question Answer Time'] - psychometric_02['Question Start Time']).dt.total_seconds() / 60\n", + "psychometric_03['answer_duration'] = (psychometric_03['Question Answer Time'] - psychometric_03['Question Start Time']).dt.total_seconds() / 60\n", + "\n", + "psychometric_01['Session'] = 'Session 01'\n", + "psychometric_02['Session'] = 'Session 02'\n", + "psychometric_03['Session'] = 'Session 03'\n", + "\n", + "all_sessions = pd.concat([psychometric_01, psychometric_02, psychometric_03])\n", + "\n", + "session_stats = all_sessions.groupby('Session')['answer_duration'].agg(['count', 'sum', 'std']).reset_index()\n", + "session_stats = session_stats.rename(columns={'count': 'Count', 'sum': 'Total Timing (minutes)', 'std': 'Standard Deviation (minutes)'})\n", + "\n", + "# display results\n", + "print(\"Total Timing During 3 Sessions\")\n", + "print(session_stats)\n", + "\n", + "# Plot answer duration\n", + "plt.figure(figsize=(12, 6))\n", + "sns.boxplot(data=all_sessions, x='Session', y='answer_duration')\n", + "plt.title('Comparison of Answer Duration Across Sessions')\n", + "plt.ylabel('Answer Duration (minutes)')\n", + "plt.xlabel('Session')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "gky3nwyskrj", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy import stats\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "PSY = '../data/individual/psychometric'\n", + "\n", + "# load data\n", + "psy_01 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_01.csv')\n", + "psy_02 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_02.csv')\n", + "psy_03 = pd.read_csv(f'{PSY}/Psychometric_Test_Results_03.csv')\n", + "\n", + "for df in [psy_01, psy_02, psy_03]:\n", + " df['Question Start Time'] = pd.to_datetime(df['Question Start Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " df['Question Answer Time'] = pd.to_datetime(df['Question Answer Time'], utc=True, errors='coerce').dt.tz_convert(None)\n", + " df['duration_s'] = (df['Question Answer Time'] - df['Question Start Time']).dt.total_seconds()\n", + "\n", + "sessions = {\n", + " 'Session 01': psy_01['duration_s'],\n", + " 'Session 02': psy_02['duration_s'],\n", + " 'Session 03': psy_03['duration_s']\n", + "}\n", + "\n", + "# normality tests\n", + "print(\"=== Shapiro-Wilk Tests ===\\n\")\n", + "for name, dur in sessions.items():\n", + " stat, p = stats.shapiro(dur)\n", + " normal = \"normal\" if p > 0.05 else \"non-normal\"\n", + " print(f\"{name}: W={stat:.4f}, p={p:.4f} ({normal})\")\n", + "\n", + "# Kruskal-Wallis\n", + "print(\"\\n=== Kruskal-Wallis Test ===\")\n", + "h, p = stats.kruskal(*sessions.values())\n", + "sig = \"*\" if p < 0.05 else \"ns\"\n", + "print(f\"H={h:.3f}, p={p:.4f} {sig}\")\n", + "\n", + "# by question type\n", + "print(\"\\n=== Duration by Question Type ===\\n\")\n", + "for q_type in psy_01['Type'].unique():\n", + " means = []\n", + " for df in [psy_01, psy_02, psy_03]:\n", + " m = df[df['Type'] == q_type]['duration_s'].mean()\n", + " means.append(m)\n", + " print(f\"{q_type}: {[f'{m:.1f}s' for m in means]}\")\n", + "\n", + "# violin by type\n", + "all_data = pd.concat([\n", + " psy_01.assign(Session='01'),\n", + " psy_02.assign(Session='02'),\n", + " psy_03.assign(Session='03')\n", + "])\n", + "\n", + "fig, ax = plt.subplots(figsize=(14, 6))\n", + "sns.violinplot(data=all_data, x='Type', y='duration_s', hue='Session', ax=ax, inner='box', palette='Set2')\n", + "ax.set_ylabel('Duration (seconds)')\n", + "ax.set_xlabel('Question Type')\n", + "ax.set_title('Answer Duration by Question Type Across Sessions')\n", + "plt.xticks(rotation=45)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 60facde586ae25b150ddd9b767346849fa2a6e3e Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:47 +0600 Subject: [PATCH 06/10] add tests --- tests/test_data_integrity.py | 35 ++++++++++++++++++ tests/test_mms.py | 69 ++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 tests/test_mms.py diff --git a/tests/test_data_integrity.py b/tests/test_data_integrity.py index 38b81f6..b8ec485 100644 --- a/tests/test_data_integrity.py +++ b/tests/test_data_integrity.py @@ -28,3 +28,38 @@ def test_csv_loads_and_is_non_trivial(path): df = pd.read_csv(path) assert df.shape[0] >= 1, f"{rel} has no data rows" assert df.shape[1] >= 1, f"{rel} has no columns" + + +# --- Group-summary integrity ------------------------------------------------ +# Exact byte-identical values across two sessions of a *continuous* physiological +# measure are a copy-paste red flag, not real data. One such case is already +# known and documented (see DATA_PROVENANCE.md); it is allow-listed so CI stays +# green, while any NEW, undocumented duplicate fails the build. +GROUP_SUMMARIES = sorted((ROOT / "data" / "group_results").glob("*.csv")) +KNOWN_SESSION_DUPLICATES = { + ("HRV_SDNN.csv", "P01"), # Session 02 == Session 03; source data not in repo +} + + +@pytest.mark.parametrize( + "path", GROUP_SUMMARIES, ids=[p.name for p in GROUP_SUMMARIES] +) +def test_no_undocumented_session_duplicates(path): + df = pd.read_csv(path) + session_cols = [c for c in df.columns if c.lower().startswith("session")] + if "Participant" not in df.columns or len(session_cols) < 2: + pytest.skip("not a participant-by-session summary") + + offenders = [] + for _, row in df.iterrows(): + vals = [float(row[c]) for c in session_cols] + allowed = (path.name, str(row["Participant"])) in KNOWN_SESSION_DUPLICATES + for i in range(len(vals)): + for j in range(i + 1, len(vals)): + if vals[i] == vals[j] and not allowed: + offenders.append((row["Participant"], session_cols[i], + session_cols[j], vals[i])) + assert not offenders, ( + f"Undocumented exact session duplicates in {path.name}: {offenders}. " + "If real, document in DATA_PROVENANCE.md and add to KNOWN_SESSION_DUPLICATES." + ) diff --git a/tests/test_mms.py b/tests/test_mms.py new file mode 100644 index 0000000..7fccc3f --- /dev/null +++ b/tests/test_mms.py @@ -0,0 +1,69 @@ +"""Unit tests for the shared analysis package `mms`. + +Unlike the smoke tests (which only prove files parse), these check that the +metrics compute the *right numbers* — including regression guards for the two +bugs this package was created to fix (broadcast SDNN, uncorrected multiplicity) +and a reproduction check for the README's headline ICC values. +""" +import numpy as np +import pandas as pd +import pytest + +import mms + + +def test_icc1_reproduces_readme_hrv_value(): + """mms.stats.icc1 reproduces the README's HRV ICC (~0.22) with a wide CI.""" + g = mms.io.load_group_summary("HRV_SDNN") + mat = g[["Session 01", "Session 02", "Session 03"]].to_numpy(float) + res = mms.stats.icc1(mat) + assert res["icc"] == pytest.approx(0.22, abs=0.02) + lo, hi = res["ci95"] + assert lo < 0 < hi # the interval crosses zero -> uninformative at n=10 + + +def test_icc1_perfect_agreement_is_one(): + data = np.array([[1.0, 1.0], [2.0, 2.0], [3.0, 3.0], [4.0, 4.0]]) + assert mms.stats.icc1(data)["icc"] == pytest.approx(1.0, abs=1e-9) + + +def test_sdnn_filters_artifacts_and_zeros(): + # zeros and out-of-range beats must be dropped before computing SD + beats = pd.Series([800, 810, 0, 790, 5000, 805]) + expected = pd.Series([800, 810, 790, 805]).std(ddof=1) + assert mms.hrv.sdnn(beats) == pytest.approx(expected) + + +def test_hrv_over_time_is_not_a_broadcast_scalar(): + """Regression guard for the original bug: SDNN must vary across windows.""" + rng = np.random.default_rng(0) + df = pd.DataFrame({ + "reltime": np.arange(0, 300, 0.8), + "ibi": 800 + rng.normal(0, 40, len(np.arange(0, 300, 0.8))), + }) + ts = mms.hrv.hrv_over_time(df, window_s=30) + assert len(ts) > 1 + assert ts["sdnn"].nunique() > 1 + + +def test_benjamini_hochberg_is_monotone_and_bounded(): + p = [0.001, 0.01, 0.04, 0.5, 0.9] + adj = mms.stats.benjamini_hochberg(p) + assert np.all(adj >= np.array(p) - 1e-12) # adjusted >= raw + assert np.all((adj >= 0) & (adj <= 1)) + assert np.all(np.diff(adj) >= -1e-12) # preserves order + + +def test_corr_matrix_fdr_shrinks_significance(): + """FDR correction should not INCREASE the count of significant pairs.""" + g = pd.concat([ + mms.io.load_group_summary("HRV_SDNN").set_index("Participant").add_suffix("_HRV"), + mms.io.load_group_summary("Pupil_Dilation_STD").set_index("Participant").add_suffix("_Pupil"), + ], axis=1) + res = mms.stats.corr_matrix_fdr(g) + n = res["r"].shape[0] + iu = np.triu_indices(n, k=1) + sig_raw = int((res["p_raw"].values[iu] < 0.05).sum()) + sig_fdr = int((res["p_fdr"].values[iu] < 0.05).sum()) + assert sig_raw > 0 # guard is meaningful only if raw finds something to shrink + assert sig_fdr <= sig_raw From e32832dfb7d4c8ebec13a36ec81f9a3691b4986b Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:47 +0600 Subject: [PATCH 07/10] update ci --- .github/workflows/ci.yml | 13 ++++++++----- .gitignore | 4 ++++ .python-version | 2 +- requirements-dev.txt | 1 - requirements.txt | 23 ++++++++++++++--------- 5 files changed, 27 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7e229cf..b2c4e45 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,12 +25,14 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install -r requirements.txt - pip install -r requirements-dev.txt + pip install -e ".[dev]" - name: Validate committed data and notebooks run: pytest tests/ -q + - name: Verify group summaries regenerate + reconcile + run: python pipeline/build_group_summaries.py + security: name: Dependency audit (pip-audit) runs-on: ubuntu-latest @@ -68,8 +70,9 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install -r requirements.txt - pip install -r requirements-dev.txt + pip install -e ".[dev]" - name: Execute notebooks - run: pytest --nbmake --nbmake-timeout=900 case-study group individual + # --nbmake-kernel=python3 overrides any embedded kernel name so a clean + # checkout runs regardless of the author's local kernel. + run: pytest --nbmake --nbmake-kernel=python3 --nbmake-timeout=900 case-study group individual diff --git a/.gitignore b/.gitignore index e5c7391..8b269f3 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,7 @@ htmlcov/ *.HEIC .claude/ + +# Generated by pipeline/build_group_summaries.py +data/group_results/reconstructed/ +mms.egg-info/ diff --git a/.python-version b/.python-version index bd28b9c..2c07333 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.9 +3.11 diff --git a/requirements-dev.txt b/requirements-dev.txt index 9d50384..57353be 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -3,4 +3,3 @@ pytest>=7.4 nbformat>=5.9 nbmake>=1.5 ipykernel>=6.25 -pandas>=1.3 diff --git a/requirements.txt b/requirements.txt index 7cf245e..be8127c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,16 +1,21 @@ -# Python >= 3.9 +# Python >= 3.11 (matches .python-version and the CI matrix) +# +# Bounded pins: lower bound = tested floor, upper bound = next major, so a future +# release cannot silently change results (e.g. a scikit-learn KMeans default). +# The shared analysis code is installable with `pip install -e .` (see pyproject.toml). + # Core data science -numpy>=1.20.0 -pandas>=1.3.0 -scipy>=1.7.0 +numpy>=1.26,<3 +pandas>=2.0,<3 +scipy>=1.11,<2 # Visualization -matplotlib>=3.4.0 -seaborn>=0.11.0 +matplotlib>=3.8,<4 +seaborn>=0.13,<0.14 # Machine Learning -scikit-learn>=1.0.0 +scikit-learn>=1.4,<2 # Jupyter -jupyter>=1.0.0 -notebook>=6.4.0 +jupyter>=1.0,<2 +notebook>=7.0,<8 From 58db39b495c6b2722e5b7336dbed9170a6750ff0 Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:47 +0600 Subject: [PATCH 08/10] updated readme --- CITATION.cff | 2 +- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- group/README.md | 21 ++++++++++++--------- 3 files changed, 60 insertions(+), 12 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 6718aef..424b696 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -15,4 +15,4 @@ keywords: - psychometric-testing - multimodal-analysis - computational-neuropsychology -license: MIT +license: CC-BY-4.0 diff --git a/README.md b/README.md index e013c71..07d3c05 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,15 @@ Longitudinal study where 10 adults completed standardized psychology tests acros ## Key findings -How stable are these patterns within a person across sessions? A test–retest reliability check (ICC(1), n = 10, 3 sessions) on the committed summaries gives ICC = 0.22 for HRV SDNN, 0.45 for pupil-dilation variability, and 0.61 for response-duration variability — poor for the physiological measures, moderate at best. So the data do **not** support a strong "stable individual traits" reading: with only 10 participants, these measures look closer to session-to-session fluctuation than to reliable traits. Any stability claim should be read as tentative and underpowered. +How stable are these patterns within a person across sessions? A test–retest reliability check (ICC(1), n = 10, 3 sessions) on the committed summaries gives: + +| Measure | ICC(1) | 95% CI | +|---------|:------:|:------:| +| HRV SDNN | 0.22 | **[−0.13, 0.66]** | +| Pupil-dilation variability | 0.45 | [0.07, 0.79] | +| Response-duration variability | 0.61 | [0.25, 0.87] | + +The confidence intervals are the real story: for HRV the interval **crosses zero**, meaning the data are equally consistent with negative and moderate reliability — i.e. essentially uninformative at n = 10. So the data do **not** support a strong "stable individual traits" reading; these measures look closer to session-to-session fluctuation than to reliable traits. Any stability claim should be read as tentative and underpowered. These numbers are fully reproducible — `mms.stats.icc1` recomputes them (point estimate and CI) from `data/group_results/`. ![Correlation matrix of HRV SDNN and Pupil Dilation STD across sessions](images/correlation_heatmap_with_values_final.png) @@ -63,6 +71,42 @@ How stable are these patterns within a person across sessions? A test–retest r |:---:|:---:| | ![PCA K-Means clusters](images/pca_kmeans_clusters.png) | ![Silhouette score vs number of clusters](images/silhouette_score.png) | +## Reproduce this analysis + +```bash +git clone https://github.com/urme-b/Multimodal-Multisensor +cd Multimodal-Multisensor + +python -m venv .venv && source .venv/bin/activate # Python >= 3.11 +pip install -e ".[dev]" # installs deps + the shared `mms` package + +# Regenerate the group-level summaries from committed data + reconciliation report +python pipeline/build_group_summaries.py + +# Reproduce the headline reliability numbers (ICC + 95% CIs) +python -c "import mms, pandas as pd; \ +m=mms.io.load_group_summary('HRV_SDNN')[['Session 01','Session 02','Session 03']].to_numpy(float); \ +print(mms.stats.icc1(m))" + +# Explore the notebooks +jupyter lab +``` + +**Suggested notebook order** (each folder is independent): +`case-study/preprocess_raw_to_csv → build_hrv → 1_hr / 1_hrv / 2_fixation → 3_clustering`, +then `group/group_analysis → group_correlation_matrix → group_correlation_heatmap`. + +Shared loaders and metrics live in the [`mms/`](mms/) package (`mms.io`, +`mms.hrv`, `mms.stats`, `mms.fixation`) so notebooks import tested code instead +of re-implementing it. Reproducibility scope and known data issues are documented +in **[DATA_PROVENANCE.md](DATA_PROVENANCE.md)**. + +## Reports & publications + +- [Multimodal Multisensor Technical Report.pdf](Multimodal%20Multisensor%20Technical%20Report.pdf) — methods and results write-up +- [Thesis Report.pdf](Thesis%20Report.pdf) — full thesis +- [CYPSY_Poster.pdf](CYPSY_Poster.pdf) — CyberPsychology conference poster + ## Tech Stack Python · Jupyter · pandas · NumPy · SciPy · Matplotlib · Seaborn · scikit-learn @@ -79,4 +123,5 @@ IoT · Machine Learning · Multimodal · Neurophysiological · Multi-Sensors · ## License -[MIT](LICENSE) +- **Code** (notebooks, `mms/`, scripts) — [MIT](LICENSE) +- **Data** (`data/`) and figures — [CC-BY-4.0 with a no-re-identification term](DATA_LICENSE.md) (special-category health data) diff --git a/group/README.md b/group/README.md index 117e47f..7398285 100644 --- a/group/README.md +++ b/group/README.md @@ -13,17 +13,20 @@ Group-level analysis of physiological data from 10 participants across 3 session ## Notebooks ``` -├── Group_Analysis.ipynb # Full cohort psychometric + physiology analysis -├── Group Correlation Matrix.ipynb # Cross-modal correlation analysis -├── Group HRV.ipynb # Heart rate variability across sessions -├── Group Eye.ipynb # Pupil dilation across sessions -├── Group Duration.ipynb # Test completion time analysis -├── Group SD.ipynb # Standard deviation metrics -├── Group Time.ipynb # Response timing analysis -└── Duration.ipynb # Per-session duration breakdowns +├── group_analysis.ipynb # Full-cohort psychometric + physiology analysis +├── group_correlation_matrix.ipynb # Cross-modal correlation matrix (FDR-corrected) +├── group_correlation_heatmap.ipynb # Generates the README headline heatmap PNG +├── group_hrv.ipynb # Heart-rate variability across sessions +├── group_eye.ipynb # Pupil dilation across sessions +├── group_duration.ipynb # Test-completion-time variability +├── group_sd.ipynb # Standard-deviation metrics +├── group_time.ipynb # Response-timing analysis +└── duration.ipynb # Per-session duration breakdowns ``` -Summary CSVs live in `../data/group_results/`. +Summary CSVs live in `../data/group_results/`. See +[`../DATA_PROVENANCE.md`](../DATA_PROVENANCE.md) for how they are generated and +which rows are regenerable from committed data. ## Analysis approach From 4047f038359c072927fbb162911a93eda2470c75 Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:47 +0600 Subject: [PATCH 09/10] add docs --- DATA_ETHICS.md | 10 +++--- DATA_LICENSE.md | 28 ++++++++++++++++ DATA_PROVENANCE.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++ data/README.md | 61 +++++++++++++++++++++++++++++++++++ 4 files changed, 174 insertions(+), 4 deletions(-) create mode 100644 DATA_LICENSE.md create mode 100644 DATA_PROVENANCE.md create mode 100644 data/README.md diff --git a/DATA_ETHICS.md b/DATA_ETHICS.md index 0c0058f..8b937f2 100644 --- a/DATA_ETHICS.md +++ b/DATA_ETHICS.md @@ -30,10 +30,12 @@ penalty. details, dates of birth, or device identifiers). - Participants are referred to only by non-reversible pseudonymous codes (e.g. `01`, `02`). -- Recording timestamps are retained for time-series analysis. They carry no - location or identity information and, combined only with pseudonymous codes, - present low re-identification risk; they can be shifted to relative session - time on request. +- Recording timestamps are retained for time-series analysis. To minimise the + residual re-identification risk of absolute appointment dates/times, run + [`scripts/deidentify_timestamps.py`](scripts/deidentify_timestamps.py) + (`--apply`) to shift each session to a relative origin (`2000-01-01`), + preserving within-session alignment while removing the wall-clock date/time. + The tool is dry-run by default. - If you believe any released field could re-identify a participant, please open an issue and it will be removed. diff --git a/DATA_LICENSE.md b/DATA_LICENSE.md new file mode 100644 index 0000000..bce8eed --- /dev/null +++ b/DATA_LICENSE.md @@ -0,0 +1,28 @@ +# Data license + +The repository's [`LICENSE`](LICENSE) (MIT) governs the **code** (notebooks, the +`mms/` package, scripts). MIT is a software license — it speaks of "the +Software" and grants rights to sell/sublicense — so it does not cleanly govern a +dataset. The **data** under [`data/`](data/) and the derived figures are +therefore released separately under: + +## Creative Commons Attribution 4.0 International (CC-BY-4.0) + +SPDX: `CC-BY-4.0` · Full text: https://creativecommons.org/licenses/by/4.0/legalcode + +You are free to share and adapt the data for any purpose, including +commercially, provided you give appropriate credit (cite via +[`CITATION.cff`](CITATION.cff)). + +### Additional condition — no re-identification + +Because this is pseudonymised **special-category health data** from human +participants (see [`DATA_ETHICS.md`](DATA_ETHICS.md)), one binding condition is +added on top of CC-BY-4.0: + +> You must **not** attempt to re-identify any participant, nor use the data to +> make decisions about any individual. Report suspected re-identification risks +> by opening an issue. + +This condition reflects the participants' consent terms and does not otherwise +restrict the CC-BY-4.0 grant. diff --git a/DATA_PROVENANCE.md b/DATA_PROVENANCE.md new file mode 100644 index 0000000..0d1ff83 --- /dev/null +++ b/DATA_PROVENANCE.md @@ -0,0 +1,79 @@ +# Data Provenance & Reproducibility + +This document states, honestly, **what in this repository can be regenerated +from committed data and what cannot** — the question a reviewer or reuser asks +first. It also documents the raw→processed→summary pipeline and known data +issues. It complements [DATA_ETHICS.md](DATA_ETHICS.md) (consent, GDPR, +de-identification). + +## TL;DR reproducibility status + +| Layer | Regenerable from this repo? | How | +|-------|-----------------------------|-----| +| Headline reliability numbers (ICC) | ✅ Yes | `mms.stats.icc1` on `data/group_results/*.csv` — reproduces the README's 0.22 / 0.45 / 0.61 **and** adds the 95% CIs | +| Case-study participant's summary row (= **P02**) | ✅ Yes, exactly | `python pipeline/build_group_summaries.py` | +| Group summary rows for the other 9 participants | ❌ No | Their raw streams were not released (privacy) — see below | +| Case-study per-session figures (HR, HRV, fixation, clustering) | ✅ Yes | Run the `case-study/` notebooks (data present) | + +## The layers + +``` +data/case-study/raw/*.txt # sensor exports (semicolon-delimited), one participant + │ (parsing, column rename, derived fixation/duration columns) + ▼ +data/case-study/processed/*.csv # tidy per-session streams: hr_0N, ibi_0N, sed_fix_0N + │ (per-session summary statistics — see mms/) + ▼ +data/group_results/*.csv # one row per participant, one column per session +``` + +- **raw → processed**: the raw `.txt` files are semicolon-delimited and use + dotted names (`gazeDir.x`); the processed `.csv` files are comma-delimited, + rename gaze columns, and add derived `fixation`, `fixation_id`, `duration`, + and `gaze_diff` columns. Only the case-study participant's raw files are + present, so only that participant's processed layer is regenerable end-to-end. +- **processed → summary**: `pipeline/build_group_summaries.py` computes SDNN, + pupil-diameter STD and response-duration STD per session. It reproduces the + committed **P02** row exactly (verified to < 1e-6; see + `data/group_results/reconstructed/MANIFEST.json`). + +## Why only one participant is regenerable + +The case-study streams correspond to participant **P02** in the group tables. +This was verified, not assumed: the case-study IBI, pupil and duration data +reproduce the committed P02 row for all three metrics **exactly**. The raw +streams for P01 and P03–P10 were **not released** — a deliberate, +privacy-legitimate minimisation choice (only pseudonymised summaries are shared; +see DATA_ETHICS.md). Consequently their summary rows are provided *as released +values* and cannot be recomputed from this repository. `build_group_summaries.py` +does **not** invent them. + +## Two recipes: original vs improved + +`build_group_summaries.py` reports both, so the choice is explicit: + +- **Original recipe** (reproduces the committed values): `ibi.std()` and + `pupil.std()` with **no artifact filtering**. This is faithful to how the + committed summaries were made, but it lets dropped beats and blink artifacts + inflate variance — e.g. P02's Session-2 pupil STD of **1.12** is an artifact + spike, ~4× the other sessions. +- **Improved recipe** (recommended going forward): `mms.hrv.sdnn` applies a + 300–2000 ms normal-to-normal filter; `mms.fixation.pupil_std` gates on the + `pupilQ` quality flag. These are more defensible and remove the S2 spike. + +## Known data-integrity issues + +- **P01 HRV SDNN, Session 02 == Session 03 (both 65.39).** These two values are + byte-identical, a suspected copy-paste artifact, and the archived technical + report lists a different P01 Session-3 value. Because P01's raw data is not in + the repo, **the correct value cannot be recovered here**, so it has been + *flagged and left unmodified* rather than guessed. The data owner should + restore it from the original source. `tests/test_data_integrity.py` now fails + loudly if an undocumented duplicate like this appears in a group summary. + +## `_modified` psychometric files + +`data/case-study/psychometric/*_modified.csv` drop the `Type` column, add a +parsed `datetime` column, and reformat timestamps relative to the originals. +They are analysis conveniences derived from the canonical +`Psychometric_Test_Results_0N.csv` files; the originals are authoritative. diff --git a/data/README.md b/data/README.md new file mode 100644 index 0000000..8e049cf --- /dev/null +++ b/data/README.md @@ -0,0 +1,61 @@ +# Data dictionary + +Schemas for the committed CSVs. See [`../DATA_PROVENANCE.md`](../DATA_PROVENANCE.md) +for how files are generated and which rows are regenerable, and +[`../DATA_ETHICS.md`](../DATA_ETHICS.md) for consent / de-identification. + +## Layout + +``` +data/ +├── case-study/ one participant (= group row P02), deep dive +│ ├── raw/ sensor exports (.txt, ';'-delimited) +│ ├── processed/ tidy per-session streams (.csv) ← hr, ibi, hrv, sed, sed_fix +│ └── psychometric/ per-session test results +├── individual/ one participant, per-session analyses (same stream schema) +└── group_results/ 10-participant summary tables (one row/participant) +``` + +File suffixes: `_01/_02/_03` = session 1/2/3; no suffix = baseline/resting. + +## Common columns + +| Column | Meaning | +|--------|---------| +| `reltime` | seconds since recording start | +| `datetime` | wall-clock timestamp (processed: `YYYY/MM/DD HH:MM:SS.ffff`; psychometric: ISO-8601 `…Z`) | +| `iSensor` | sensor/channel index (multiple physical channels per device) | +| `*.x` `*.y` `*.z` | 3-D vector components (head position, gaze direction/source) | +| `*Q` (e.g. `pupilQ`, `gazeQ`) | per-sample quality/confidence in **[0, 1]** | + +## Stream schemas (`*/processed/`) + +**`ibi_*.csv`** — cardiac inter-beat intervals · `reltime, datetime, iSensor, ibi` +- `ibi` — inter-beat interval in **ms** (`0` = dropped/invalid beat; a valid NN filter keeps 300–2000 ms). + +**`hr_*.csv`** — heart rate · `reltime, datetime, iSensor, confidence, heart_rate` +- `confidence` — sensor confidence (analyses keep `confidence == 1.0`); `heart_rate` in **bpm**. + +**`hrv_*.csv`** — derived HRV · `reltime, datetime, sdnn, rmssd` +- `sdnn`, `rmssd` — **rolling 30-beat** HRV in ms (generated by `case-study/build_hrv.ipynb` via `mms.hrv.hrv_rolling`; first ~10 rows are NaN warm-up). + +**`sed_*.csv`** — eye tracking (raw) · `reltime, datetime, iSensor, headPos.{x,y,z}, headPosQ, headYaw, headPitch, headRoll, headRotQ, gazeSrc.{x,y,z}, gazeDir.{x,y,z}, gazeQ, leftEyeOpen, leftEyeOpenQ, rightEyeOpen, rightEyeOpenQ, pupil, pupilQ` +- `pupil` — pupil diameter (mm); `leftEyeOpen`/`rightEyeOpen` — eyelid openness. + +**`sed_fix_*.csv`** — eye tracking + derived fixations · all `sed_*` columns **plus** `gaze_diff, fixation, fixation_id, duration` +- `fixation` — bool, sample is part of a fixation; `fixation_id` — fixation index; `duration` — fixation duration; `gaze_diff` — angular gaze change between samples. + +## Psychometric (`*/psychometric/`) + +**`Psychometric_Test_Results_*.csv`** · `Type, Test, Question, Answer, Time(s), Question Start Time, Question Answer Time` +- `Type` — instrument (`HADS`, `STAI-S`, `STAI-T`, `BFI`, `FQ`); `Answer` — coded response; `Time(s)` — response duration; the two timestamps bound each question (used to window physiology). +- `*_modified.csv` — analysis-convenience copies: drop `Type`, add parsed `datetime`. Originals are authoritative. +- `individual/…_00.csv` uses a `Score` column and a distinct schema (earlier/screening format). + +**`QQ.csv` / `QQHRV.csv`** — per-question aggregates joining psychometric + physiology · e.g. `Type, Question, Start Time, End Time, Score, Average Pupil Dilation, Average Left/Right Blink Rate, RMSSD, Sign of Anxiety, Test` +- `Sign of Anxiety` — derived Yes/No flag (see the generating notebook for the threshold rule). + +## Summaries (`group_results/`) + +**`{HRV_SDNN, Pupil_Dilation_STD, Psychometric_Test_Duration_STD}.csv`** · `Participant, Session 01, Session 02, Session 03` +- One row per participant `P01`–`P10`; each cell is that session's summary statistic. Regenerate/verify with `python pipeline/build_group_summaries.py`. From 54297f30911ae34b4897c468f4e23a15823bc5fb Mon Sep 17 00:00:00 2001 From: urme-b <148221893+urme-b@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:16:47 +0600 Subject: [PATCH 10/10] update heatmap --- .../correlation_heatmap_with_values_final.png | Bin 131937 -> 117609 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/group_results/correlation_heatmap_with_values_final.png b/data/group_results/correlation_heatmap_with_values_final.png index c1c5d66f9ac7fbbf2ebc91a39b4cd70d1bbef1e3..39ffcf1fd27b0d3c79bd2537f7278c2c5bcac891 100644 GIT binary patch literal 117609 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 X-4yZQRFQ@pc~1GAiaTPq9Xb0y%3Zs@ literal 131937 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�WsJdNaz^${e(X=H;EUbVbK8Sz$rI|~u>B`gv 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 L!3keZ{{FuJhS`O@