{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "9aa64ac0", "metadata": {}, "outputs": [], "source": [ "import os\n", "\n", "os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true' # this is required\n", "os.environ['CUDA_VISIBLE_DEVICES'] = '1' # set to '0' for GPU0, '1' for GPU1 or '2' for GPU2. Check \"gpustat\" in a terminal." ] }, { "cell_type": "code", "execution_count": 2, "id": "d312c8e1", "metadata": {}, "outputs": [], "source": [ "glob_path = '/opt/iui-datarelease3-sose2021/*.csv'\n", "\n", "pickle_file = '../data.pickle'" ] }, { "cell_type": "code", "execution_count": 3, "id": "c04ba7f6", "metadata": { "tags": [] }, "outputs": [], "source": [ "from glob import glob\n", "import pandas as pd\n", "from tqdm import tqdm\n", "\n", "def dl_from_blob(filename, user_filter=None):\n", " \n", " dic_data = []\n", " \n", " for p in tqdm(glob(glob_path)):\n", " path = p\n", " filename = path.split('/')[-1].split('.')[0]\n", " splitname = filename.split('_')\n", " user = int(splitname[0][1:])\n", " if (user_filter):\n", " if (user != user_filter):\n", " continue\n", " scenario = splitname[1][len('Scenario'):]\n", " heightnorm = splitname[2][len('HeightNormalization'):] == 'True'\n", " armnorm = splitname[3][len('ArmNormalization'):] == 'True'\n", " rep = int(splitname[4][len('Repetition'):])\n", " session = int(splitname[5][len('Session'):])\n", " data = pd.read_csv(path)\n", " dic_data.append(\n", " {\n", " 'filename': path,\n", " 'user': user,\n", " 'scenario': scenario,\n", " 'heightnorm': heightnorm,\n", " 'armnorm': armnorm,\n", " 'rep': rep,\n", " 'session': session,\n", " 'data': data \n", " }\n", " )\n", " return dic_data" ] }, { "cell_type": "code", "execution_count": 4, "id": "45e23af8", "metadata": {}, "outputs": [], "source": [ "import pickle\n", "\n", "def save_pickle(f, structure):\n", " _p = open(f, 'wb')\n", " pickle.dump(structure, _p)\n", " _p.close()" ] }, { "cell_type": "code", "execution_count": 5, "id": "31a7d280", "metadata": {}, "outputs": [], "source": [ "def load_pickles(f) -> list:\n", " _p = open(pickle_file, 'rb')\n", " _d = pickle.load(_p)\n", " _p.close()\n", " \n", " return _d" ] }, { "cell_type": "code", "execution_count": 6, "id": "ec0dd3cb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading data...\n", "../data.pickle found...\n", "CPU times: user 512 ms, sys: 2.47 s, total: 2.98 s\n", "Wall time: 2.98 s\n" ] } ], "source": [ "%%time\n", "\n", "\n", "def load_data() -> list:\n", " if os.path.isfile(pickle_file):\n", " print(f'{pickle_file} found...')\n", " return load_pickles(pickle_file)\n", " print(f'Didn\\'t find {pickle_file}...')\n", " all_data = dl_from_blob(glob_path)\n", " print(f'Creating {pickle_file}...')\n", " save_pickle(pickle_file, all_data)\n", " return all_data\n", "\n", "print(\"Loading data...\")\n", "dic_data = load_data()\n", "# plot_pd(data[0]['data'], False)" ] }, { "cell_type": "code", "execution_count": 7, "id": "2d11eb89", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "192\n" ] }, { "data": { "text/html": [ "
| \n", " | Unnamed: 0 | \n", "FrameID | \n", "participantID | \n", "Scenario | \n", "HeightNormalization | \n", "ArmNormalization | \n", "Repetition | \n", "LeftHandTrackingAccuracy | \n", "RightHandTrackingAccuracy | \n", "CenterEyeAnchor_pos_X | \n", "... | \n", "right_Hand_RingTip_euler_X | \n", "right_Hand_RingTip_euler_Y | \n", "right_Hand_RingTip_euler_Z | \n", "right_Hand_PinkyTip_pos_X | \n", "right_Hand_PinkyTip_pos_Y | \n", "right_Hand_PinkyTip_pos_Z | \n", "right_Hand_PinkyTip_euler_X | \n", "right_Hand_PinkyTip_euler_Y | \n", "right_Hand_PinkyTip_euler_Z | \n", "Session | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "0 | \n", "0 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "-0.089895 | \n", "... | \n", "307.9409 | \n", "320.01970 | \n", "195.1051 | \n", "0.016631 | \n", "1.106319 | \n", "0.430588 | \n", "310.8786 | \n", "343.57170 | \n", "185.1874 | \n", "1 | \n", "
| 1 | \n", "1 | \n", "1 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "-0.089738 | \n", "... | \n", "308.1140 | \n", "320.34520 | \n", "195.5152 | \n", "0.007256 | \n", "1.145476 | \n", "0.423464 | \n", "311.1056 | \n", "343.74560 | \n", "185.6717 | \n", "1 | \n", "
| 2 | \n", "2 | \n", "2 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "-0.089347 | \n", "... | \n", "308.2395 | \n", "320.51180 | \n", "195.7206 | \n", "0.007426 | \n", "1.144992 | \n", "0.423223 | \n", "311.2307 | \n", "343.79710 | \n", "185.9125 | \n", "1 | \n", "
| 3 | \n", "3 | \n", "3 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "-0.088938 | \n", "... | \n", "308.3445 | \n", "320.66750 | \n", "195.9804 | \n", "0.007635 | \n", "1.144509 | \n", "0.423137 | \n", "311.3370 | \n", "343.84570 | \n", "186.1985 | \n", "1 | \n", "
| 4 | \n", "4 | \n", "4 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "-0.088715 | \n", "... | \n", "308.5142 | \n", "320.82160 | \n", "196.0655 | \n", "0.007918 | \n", "1.144068 | \n", "0.422891 | \n", "311.3891 | \n", "343.80610 | \n", "186.5528 | \n", "1 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2020 | \n", "2020 | \n", "2020 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "1.067835 | \n", "... | \n", "334.3178 | \n", "16.43365 | \n", "271.1187 | \n", "1.245457 | \n", "0.619399 | \n", "-0.084547 | \n", "324.5029 | \n", "26.11914 | \n", "271.3724 | \n", "1 | \n", "
| 2021 | \n", "2021 | \n", "2021 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "1.076106 | \n", "... | \n", "334.1573 | \n", "15.85253 | \n", "271.2372 | \n", "1.260631 | \n", "0.606978 | \n", "-0.078567 | \n", "324.4428 | \n", "25.80618 | \n", "271.3020 | \n", "1 | \n", "
| 2022 | \n", "2022 | \n", "2022 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "1.085397 | \n", "... | \n", "334.0576 | \n", "15.55901 | \n", "271.0670 | \n", "1.269063 | \n", "0.599918 | \n", "-0.075514 | \n", "324.3901 | \n", "25.65784 | \n", "270.9597 | \n", "1 | \n", "
| 2023 | \n", "2023 | \n", "2023 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "1.096437 | \n", "... | \n", "333.9445 | \n", "15.22374 | \n", "270.9147 | \n", "1.278922 | \n", "0.592047 | \n", "-0.071804 | \n", "324.3320 | \n", "25.47795 | \n", "270.6435 | \n", "1 | \n", "
| 2024 | \n", "2024 | \n", "2024 | \n", "7 | \n", "SortingBlocksScene | \n", "True | \n", "True | \n", "1 | \n", "High | \n", "High | \n", "1.106890 | \n", "... | \n", "333.7580 | \n", "14.87231 | \n", "270.0383 | \n", "1.293765 | \n", "0.578599 | \n", "-0.066561 | \n", "324.2077 | \n", "25.11721 | \n", "269.5140 | \n", "1 | \n", "
2025 rows × 346 columns
\n", "| \n", " | Unnamed: 0 | \n", "LeftHandTrackingAccuracy | \n", "RightHandTrackingAccuracy | \n", "CenterEyeAnchor_pos_X | \n", "CenterEyeAnchor_pos_Y | \n", "CenterEyeAnchor_pos_Z | \n", "CenterEyeAnchor_euler_X | \n", "CenterEyeAnchor_euler_Y | \n", "CenterEyeAnchor_euler_Z | \n", "left_OVRHandPrefab_pos_X | \n", "... | \n", "right_Hand_RingTip_pos_Z | \n", "right_Hand_RingTip_euler_X | \n", "right_Hand_RingTip_euler_Y | \n", "right_Hand_RingTip_euler_Z | \n", "right_Hand_PinkyTip_pos_X | \n", "right_Hand_PinkyTip_pos_Y | \n", "right_Hand_PinkyTip_pos_Z | \n", "right_Hand_PinkyTip_euler_X | \n", "right_Hand_PinkyTip_euler_Y | \n", "right_Hand_PinkyTip_euler_Z | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "0 | \n", "High | \n", "High | \n", "-0.089895 | \n", "1.755665 | \n", "0.234344 | \n", "9.332605 | \n", "5.018498 | \n", "358.49900 | \n", "-0.316633 | \n", "... | \n", "0.446973 | \n", "307.9409 | \n", "320.01970 | \n", "195.1051 | \n", "0.016631 | \n", "1.106319 | \n", "0.430588 | \n", "310.8786 | \n", "343.57170 | \n", "185.1874 | \n", "
| 1 | \n", "1 | \n", "High | \n", "High | \n", "-0.089738 | \n", "1.755732 | \n", "0.234542 | \n", "9.338191 | \n", "5.061474 | \n", "358.47840 | \n", "-0.300754 | \n", "... | \n", "0.440061 | \n", "308.1140 | \n", "320.34520 | \n", "195.5152 | \n", "0.007256 | \n", "1.145476 | \n", "0.423464 | \n", "311.1056 | \n", "343.74560 | \n", "185.6717 | \n", "
| 2 | \n", "2 | \n", "High | \n", "High | \n", "-0.089347 | \n", "1.755780 | \n", "0.234738 | \n", "9.343684 | \n", "5.115413 | \n", "358.46080 | \n", "-0.300725 | \n", "... | \n", "0.439948 | \n", "308.2395 | \n", "320.51180 | \n", "195.7206 | \n", "0.007426 | \n", "1.144992 | \n", "0.423223 | \n", "311.2307 | \n", "343.79710 | \n", "185.9125 | \n", "
| 3 | \n", "3 | \n", "High | \n", "High | \n", "-0.088938 | \n", "1.755686 | \n", "0.234353 | \n", "9.335765 | \n", "5.173394 | \n", "358.46820 | \n", "-0.300701 | \n", "... | \n", "0.439995 | \n", "308.3445 | \n", "320.66750 | \n", "195.9804 | \n", "0.007635 | \n", "1.144509 | \n", "0.423137 | \n", "311.3370 | \n", "343.84570 | \n", "186.1985 | \n", "
| 4 | \n", "4 | \n", "High | \n", "High | \n", "-0.088715 | \n", "1.755643 | \n", "0.234471 | \n", "9.326243 | \n", "5.247888 | \n", "358.46250 | \n", "-0.300564 | \n", "... | \n", "0.439725 | \n", "308.5142 | \n", "320.82160 | \n", "196.0655 | \n", "0.007918 | \n", "1.144068 | \n", "0.422891 | \n", "311.3891 | \n", "343.80610 | \n", "186.5528 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2020 | \n", "2020 | \n", "High | \n", "High | \n", "1.067835 | \n", "1.149886 | \n", "0.087708 | \n", "57.752440 | \n", "88.466320 | \n", "13.97530 | \n", "0.684950 | \n", "... | \n", "-0.064587 | \n", "334.3178 | \n", "16.43365 | \n", "271.1187 | \n", "1.245457 | \n", "0.619399 | \n", "-0.084547 | \n", "324.5029 | \n", "26.11914 | \n", "271.3724 | \n", "
| 2021 | \n", "2021 | \n", "High | \n", "High | \n", "1.076106 | \n", "1.142307 | \n", "0.086917 | \n", "58.376460 | \n", "87.832810 | \n", "13.81248 | \n", "0.696102 | \n", "... | \n", "-0.058271 | \n", "334.1573 | \n", "15.85253 | \n", "271.2372 | \n", "1.260631 | \n", "0.606978 | \n", "-0.078567 | \n", "324.4428 | \n", "25.80618 | \n", "271.3020 | \n", "
| 2022 | \n", "2022 | \n", "High | \n", "High | \n", "1.085397 | \n", "1.135880 | \n", "0.086078 | \n", "59.298770 | \n", "87.606250 | \n", "13.54412 | \n", "0.702457 | \n", "... | \n", "-0.055092 | \n", "334.0576 | \n", "15.55901 | \n", "271.0670 | \n", "1.269063 | \n", "0.599918 | \n", "-0.075514 | \n", "324.3901 | \n", "25.65784 | \n", "270.9597 | \n", "
| 2023 | \n", "2023 | \n", "High | \n", "High | \n", "1.096437 | \n", "1.129293 | \n", "0.084847 | \n", "60.217070 | \n", "87.791440 | \n", "13.38561 | \n", "0.709858 | \n", "... | \n", "-0.051225 | \n", "333.9445 | \n", "15.22374 | \n", "270.9147 | \n", "1.278922 | \n", "0.592047 | \n", "-0.071804 | \n", "324.3320 | \n", "25.47795 | \n", "270.6435 | \n", "
| 2024 | \n", "2024 | \n", "High | \n", "High | \n", "1.106890 | \n", "1.123694 | \n", "0.084149 | \n", "60.877950 | \n", "87.967790 | \n", "13.39271 | \n", "0.720758 | \n", "... | \n", "-0.046066 | \n", "333.7580 | \n", "14.87231 | \n", "270.0383 | \n", "1.293765 | \n", "0.578599 | \n", "-0.066561 | \n", "324.2077 | \n", "25.11721 | \n", "269.5140 | \n", "
2025 rows × 339 columns
\n", "| \n", " | Unnamed: 0 | \n", "LeftHandTrackingAccuracy | \n", "RightHandTrackingAccuracy | \n", "CenterEyeAnchor_pos_X | \n", "CenterEyeAnchor_pos_Y | \n", "CenterEyeAnchor_pos_Z | \n", "CenterEyeAnchor_euler_X | \n", "CenterEyeAnchor_euler_Y | \n", "CenterEyeAnchor_euler_Z | \n", "left_OVRHandPrefab_pos_X | \n", "... | \n", "right_Hand_RingTip_pos_Z | \n", "right_Hand_RingTip_euler_X | \n", "right_Hand_RingTip_euler_Y | \n", "right_Hand_RingTip_euler_Z | \n", "right_Hand_PinkyTip_pos_X | \n", "right_Hand_PinkyTip_pos_Y | \n", "right_Hand_PinkyTip_pos_Z | \n", "right_Hand_PinkyTip_euler_X | \n", "right_Hand_PinkyTip_euler_Y | \n", "right_Hand_PinkyTip_euler_Z | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "-0.089895 | \n", "1.755665 | \n", "0.234344 | \n", "9.332605 | \n", "5.018498 | \n", "358.49900 | \n", "-0.316633 | \n", "... | \n", "0.446973 | \n", "307.9409 | \n", "320.01970 | \n", "195.1051 | \n", "0.016631 | \n", "1.106319 | \n", "0.430588 | \n", "310.8786 | \n", "343.57170 | \n", "185.1874 | \n", "
| 1 | \n", "1 | \n", "1.0 | \n", "1.0 | \n", "-0.089738 | \n", "1.755732 | \n", "0.234542 | \n", "9.338191 | \n", "5.061474 | \n", "358.47840 | \n", "-0.300754 | \n", "... | \n", "0.440061 | \n", "308.1140 | \n", "320.34520 | \n", "195.5152 | \n", "0.007256 | \n", "1.145476 | \n", "0.423464 | \n", "311.1056 | \n", "343.74560 | \n", "185.6717 | \n", "
| 2 | \n", "2 | \n", "1.0 | \n", "1.0 | \n", "-0.089347 | \n", "1.755780 | \n", "0.234738 | \n", "9.343684 | \n", "5.115413 | \n", "358.46080 | \n", "-0.300725 | \n", "... | \n", "0.439948 | \n", "308.2395 | \n", "320.51180 | \n", "195.7206 | \n", "0.007426 | \n", "1.144992 | \n", "0.423223 | \n", "311.2307 | \n", "343.79710 | \n", "185.9125 | \n", "
| 3 | \n", "3 | \n", "1.0 | \n", "1.0 | \n", "-0.088938 | \n", "1.755686 | \n", "0.234353 | \n", "9.335765 | \n", "5.173394 | \n", "358.46820 | \n", "-0.300701 | \n", "... | \n", "0.439995 | \n", "308.3445 | \n", "320.66750 | \n", "195.9804 | \n", "0.007635 | \n", "1.144509 | \n", "0.423137 | \n", "311.3370 | \n", "343.84570 | \n", "186.1985 | \n", "
| 4 | \n", "4 | \n", "1.0 | \n", "1.0 | \n", "-0.088715 | \n", "1.755643 | \n", "0.234471 | \n", "9.326243 | \n", "5.247888 | \n", "358.46250 | \n", "-0.300564 | \n", "... | \n", "0.439725 | \n", "308.5142 | \n", "320.82160 | \n", "196.0655 | \n", "0.007918 | \n", "1.144068 | \n", "0.422891 | \n", "311.3891 | \n", "343.80610 | \n", "186.5528 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2020 | \n", "2020 | \n", "1.0 | \n", "1.0 | \n", "1.067835 | \n", "1.149886 | \n", "0.087708 | \n", "57.752440 | \n", "88.466320 | \n", "13.97530 | \n", "0.684950 | \n", "... | \n", "-0.064587 | \n", "334.3178 | \n", "16.43365 | \n", "271.1187 | \n", "1.245457 | \n", "0.619399 | \n", "-0.084547 | \n", "324.5029 | \n", "26.11914 | \n", "271.3724 | \n", "
| 2021 | \n", "2021 | \n", "1.0 | \n", "1.0 | \n", "1.076106 | \n", "1.142307 | \n", "0.086917 | \n", "58.376460 | \n", "87.832810 | \n", "13.81248 | \n", "0.696102 | \n", "... | \n", "-0.058271 | \n", "334.1573 | \n", "15.85253 | \n", "271.2372 | \n", "1.260631 | \n", "0.606978 | \n", "-0.078567 | \n", "324.4428 | \n", "25.80618 | \n", "271.3020 | \n", "
| 2022 | \n", "2022 | \n", "1.0 | \n", "1.0 | \n", "1.085397 | \n", "1.135880 | \n", "0.086078 | \n", "59.298770 | \n", "87.606250 | \n", "13.54412 | \n", "0.702457 | \n", "... | \n", "-0.055092 | \n", "334.0576 | \n", "15.55901 | \n", "271.0670 | \n", "1.269063 | \n", "0.599918 | \n", "-0.075514 | \n", "324.3901 | \n", "25.65784 | \n", "270.9597 | \n", "
| 2023 | \n", "2023 | \n", "1.0 | \n", "1.0 | \n", "1.096437 | \n", "1.129293 | \n", "0.084847 | \n", "60.217070 | \n", "87.791440 | \n", "13.38561 | \n", "0.709858 | \n", "... | \n", "-0.051225 | \n", "333.9445 | \n", "15.22374 | \n", "270.9147 | \n", "1.278922 | \n", "0.592047 | \n", "-0.071804 | \n", "324.3320 | \n", "25.47795 | \n", "270.6435 | \n", "
| 2024 | \n", "2024 | \n", "1.0 | \n", "1.0 | \n", "1.106890 | \n", "1.123694 | \n", "0.084149 | \n", "60.877950 | \n", "87.967790 | \n", "13.39271 | \n", "0.720758 | \n", "... | \n", "-0.046066 | \n", "333.7580 | \n", "14.87231 | \n", "270.0383 | \n", "1.293765 | \n", "0.578599 | \n", "-0.066561 | \n", "324.2077 | \n", "25.11721 | \n", "269.5140 | \n", "
2025 rows × 339 columns
\n", "