{ "cells": [ { "cell_type": "markdown", "source": [ "# Demo 5 (PS): Comparing Pose Modules to Manual Scoring Data\n", "\n", "*Written and last updated September 4, 2025 by Sedona Ewbank, snewbank@stanford.edu*\n", "\n", "The purpose of this demo is to demonstrate how to compare our pose modules to describable behavior classes using a manual scoring dataset for comparison." ], "metadata": { "collapsed": false }, "id": "9ca34b9d15acf557" }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "" }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import os\n", "import sys\n", "import importlib\n", "\n", "#This block only important for running as script\n", "#script_dir = os.path.dirname(os.path.abspath(__file__))\n", "mariposa_dir = \"/Users/snewbank/PycharmProjects/MARIPoSA\"\n", "utils_dir = os.path.join(mariposa_dir, 'utils')\n", "sys.path.append(utils_dir)\n", "sys.path.append(mariposa_dir)\n", "\n", "#import utils\n", "from utils import metadata, analyze, plot, simulate\n", "\n", "importlib.reload(metadata)\n", "importlib.reload(analyze)\n", "importlib.reload(plot)\n", "importlib.reload(simulate)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-09-04T23:48:20.937988Z", "start_time": "2025-09-04T23:48:20.919773Z" } }, "id": "2c0ebf65b6e20280", "execution_count": 25 }, { "cell_type": "code", "outputs": [], "source": [ "demo_dir=\"/Users/snewbank/Behavior/MARIPoSA_demo_data/\"\n", "config=metadata.load_project(demo_dir+\"250719_test/config_PS.yaml\")\n", "save=True\n", "save_path = demo_dir+\"demo_figures/\"\n", "if not os.path.exists(save_path):\n", " os.makedirs(save_path)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-09-04T23:48:21.044265Z", "start_time": "2025-09-04T23:48:21.025023Z" } }, "id": "1cf6b55354a012d0", "execution_count": 26 }, { "cell_type": "markdown", "source": [ "## 5.1: Remapping pose modules to grouped classes\n", "\n", "It is simple to remap pose modules to groups however you like - perhaps from visual inspection or some other approach to grouping. To do so, you just reset the \"remappings\" key from the config (either in python or directly in the config file). Then, when you create a labels_df object, use analyze.combine_pose_modules to remap modules to their assigned remapping class." ], "metadata": { "collapsed": false }, "id": "df308b853ba5fef8" }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": " sal \\\n 2023-06-15_21-28-12_bf04_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 0 \n1 0 \n2 0 \n3 0 \n4 0 \n... ... \n35995 17 \n35996 17 \n35997 17 \n35998 17 \n35999 17 \n\n \\\n 2023-06-15_22-01-50_bf03_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 9 \n1 9 \n2 9 \n3 9 \n4 9 \n... ... \n35995 27 \n35996 27 \n35997 27 \n35998 27 \n35999 27 \n\n \\\n 2023-06-20_15-41-01_bm03_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 0 \n1 0 \n2 0 \n3 0 \n4 0 \n... ... \n35995 13 \n35996 13 \n35997 13 \n35998 13 \n35999 13 \n\n \\\n 2023-06-20_16-13-48_bm04_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 10 \n1 10 \n2 10 \n3 10 \n4 10 \n... ... \n35995 13 \n35996 13 \n35997 13 \n35998 13 \n35999 13 \n\n \\\n 2023-06-20_17-21-51_bf02_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 17 \n1 17 \n2 17 \n3 17 \n4 17 \n... ... \n35995 12 \n35996 12 \n35997 12 \n35998 12 \n35999 12 \n\n \\\n 2023-07-03_16-15-21_bm02_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 17 \n1 17 \n2 17 \n3 17 \n4 17 \n... ... \n35995 13 \n35996 13 \n35997 13 \n35998 13 \n35999 13 \n\n \\\n 2023-07-03_19-20-49_bf01_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 20 \n1 20 \n2 20 \n3 20 \n4 20 \n... ... \n35995 27 \n35996 27 \n35997 27 \n35998 27 \n35999 27 \n\n k1 \\\n 2023-06-20_19-10-38_bf04_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 9 \n1 9 \n2 9 \n3 9 \n4 9 \n... ... \n35995 25 \n35996 25 \n35997 25 \n35998 25 \n35999 25 \n\n \\\n 2023-06-26_15-35-45_bf01_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 9 \n1 9 \n2 9 \n3 9 \n4 9 \n... ... \n35995 8 \n35996 8 \n35997 8 \n35998 8 \n35999 8 \n\n \\\n 2023-06-26_19-00-05_bm02_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 23 \n1 23 \n2 23 \n3 23 \n4 3 \n... ... \n35995 1 \n35996 1 \n35997 1 \n35998 1 \n35999 1 \n\n ... \\\n ... \n0 ... \n1 ... \n2 ... \n3 ... \n4 ... \n... ... \n35995 ... \n35996 ... \n35997 ... \n35998 ... \n35999 ... \n\n k5 \\\n 2023-07-08_16-19-27_bm02_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 5 \n1 5 \n2 5 \n3 5 \n4 5 \n... ... \n35995 1 \n35996 1 \n35997 1 \n35998 1 \n35999 1 \n\n \\\n 2023-07-14_16-25-47_bf01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 2 \n1 2 \n2 2 \n3 2 \n4 2 \n... ... \n35995 27 \n35996 27 \n35997 27 \n35998 27 \n35999 27 \n\n \\\n 2023-07-18_19-35-14_bm03_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 19 \n1 19 \n2 19 \n3 19 \n4 19 \n... ... \n35995 27 \n35996 27 \n35997 27 \n35998 27 \n35999 27 \n\n k10 \\\n 2023-05-15_16-47-52_bf03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 0 \n1 0 \n2 0 \n3 0 \n4 0 \n... ... \n35995 28 \n35996 28 \n35997 10 \n35998 10 \n35999 10 \n\n \\\n 2023-05-15_18-18-22_bf04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 12 \n1 12 \n2 12 \n3 12 \n4 12 \n... ... \n35995 13 \n35996 13 \n35997 13 \n35998 13 \n35999 13 \n\n \\\n 2023-05-25_14-30-54_bm02_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 12 \n1 12 \n2 12 \n3 12 \n4 12 \n... ... \n35995 4 \n35996 4 \n35997 4 \n35998 4 \n35999 4 \n\n \\\n 2023-05-31_17-08-06_bf01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 0 \n1 0 \n2 0 \n3 0 \n4 0 \n... ... \n35995 8 \n35996 8 \n35997 8 \n35998 8 \n35999 1 \n\n \\\n 2023-07-13_15-45-26_bm03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 19 \n1 19 \n2 19 \n3 19 \n4 19 \n... ... \n35995 3 \n35996 3 \n35997 3 \n35998 3 \n35999 3 \n\n \\\n 2023-07-14_13-56-09_bm01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 12 \n1 12 \n2 12 \n3 12 \n4 12 \n... ... \n35995 8 \n35996 8 \n35997 8 \n35998 8 \n35999 8 \n\n \n 2023-07-18_18-19-50_bm04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 12 \n1 12 \n2 12 \n3 12 \n4 12 \n... ... \n35995 8 \n35996 8 \n35997 8 \n35998 8 \n35999 8 \n\n[36000 rows x 26 columns]", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
salk1...k5k10
2023-06-15_21-28-12_bf04_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-15_22-01-50_bf03_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_15-41-01_bm03_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_16-13-48_bm04_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_17-21-51_bf02_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-03_16-15-21_bm02_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-03_19-20-49_bf01_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_19-10-38_bf04_k1ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-26_15-35-45_bf01_k1ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-26_19-00-05_bm02_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000...2023-07-08_16-19-27_bm02_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-14_16-25-47_bf01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-18_19-35-14_bm03_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-15_16-47-52_bf03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-15_18-18-22_bf04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-25_14-30-54_bm02_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-31_17-08-06_bf01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-13_15-45-26_bm03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-14_13-56-09_bm01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-18_18-19-50_bm04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000
0090101717209923...5219012120191212
1090101717209923...5219012120191212
2090101717209923...5219012120191212
3090101717209923...5219012120191212
409010171720993...5219012120191212
..................................................................
35995172713131213272581...12727281348388
35996172713131213272581...12727281348388
35997172713131213272581...12727101348388
35998172713131213272581...12727101348388
35999172713131213272581...12727101341388
\n

36000 rows × 26 columns

\n
" }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Applying 2 remapping rules from config.\n", "1 of 2: Remapping [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] to modules_0-14\n", "2 of 2: Remapping [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29] to modules_15-29\n" ] }, { "data": { "text/plain": " sal \\\n 2023-06-15_21-28-12_bf04_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_15-29 \n35996 modules_15-29 \n35997 modules_15-29 \n35998 modules_15-29 \n35999 modules_15-29 \n\n \\\n 2023-06-15_22-01-50_bf03_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_15-29 \n35996 modules_15-29 \n35997 modules_15-29 \n35998 modules_15-29 \n35999 modules_15-29 \n\n \\\n 2023-06-20_15-41-01_bm03_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-06-20_16-13-48_bm04_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-06-20_17-21-51_bf02_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_15-29 \n1 modules_15-29 \n2 modules_15-29 \n3 modules_15-29 \n4 modules_15-29 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-07-03_16-15-21_bm02_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_15-29 \n1 modules_15-29 \n2 modules_15-29 \n3 modules_15-29 \n4 modules_15-29 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-07-03_19-20-49_bf01_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_15-29 \n1 modules_15-29 \n2 modules_15-29 \n3 modules_15-29 \n4 modules_15-29 \n... ... \n35995 modules_15-29 \n35996 modules_15-29 \n35997 modules_15-29 \n35998 modules_15-29 \n35999 modules_15-29 \n\n k1 \\\n 2023-06-20_19-10-38_bf04_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_15-29 \n35996 modules_15-29 \n35997 modules_15-29 \n35998 modules_15-29 \n35999 modules_15-29 \n\n \\\n 2023-06-26_15-35-45_bf01_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-06-26_19-00-05_bm02_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_15-29 \n1 modules_15-29 \n2 modules_15-29 \n3 modules_15-29 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n ... \\\n ... \n0 ... \n1 ... \n2 ... \n3 ... \n4 ... \n... ... \n35995 ... \n35996 ... \n35997 ... \n35998 ... \n35999 ... \n\n k5 \\\n 2023-07-08_16-19-27_bm02_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-07-14_16-25-47_bf01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_15-29 \n35996 modules_15-29 \n35997 modules_15-29 \n35998 modules_15-29 \n35999 modules_15-29 \n\n \\\n 2023-07-18_19-35-14_bm03_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_15-29 \n1 modules_15-29 \n2 modules_15-29 \n3 modules_15-29 \n4 modules_15-29 \n... ... \n35995 modules_15-29 \n35996 modules_15-29 \n35997 modules_15-29 \n35998 modules_15-29 \n35999 modules_15-29 \n\n k10 \\\n 2023-05-15_16-47-52_bf03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_15-29 \n35996 modules_15-29 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-05-15_18-18-22_bf04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-05-25_14-30-54_bm02_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-05-31_17-08-06_bf01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-07-13_15-45-26_bm03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_15-29 \n1 modules_15-29 \n2 modules_15-29 \n3 modules_15-29 \n4 modules_15-29 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \\\n 2023-07-14_13-56-09_bm01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n \n 2023-07-18_18-19-50_bm04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 modules_0-14 \n1 modules_0-14 \n2 modules_0-14 \n3 modules_0-14 \n4 modules_0-14 \n... ... \n35995 modules_0-14 \n35996 modules_0-14 \n35997 modules_0-14 \n35998 modules_0-14 \n35999 modules_0-14 \n\n[36000 rows x 26 columns]", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
salk1...k5k10
2023-06-15_21-28-12_bf04_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-15_22-01-50_bf03_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_15-41-01_bm03_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_16-13-48_bm04_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_17-21-51_bf02_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-03_16-15-21_bm02_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-03_19-20-49_bf01_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_19-10-38_bf04_k1ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-26_15-35-45_bf01_k1ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-26_19-00-05_bm02_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000...2023-07-08_16-19-27_bm02_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-14_16-25-47_bf01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-18_19-35-14_bm03_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-15_16-47-52_bf03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-15_18-18-22_bf04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-25_14-30-54_bm02_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-31_17-08-06_bf01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-13_15-45-26_bm03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-14_13-56-09_bm01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-18_18-19-50_bm04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000
0modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_15-29modules_0-14modules_0-14modules_15-29...modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14
1modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_15-29modules_0-14modules_0-14modules_15-29...modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14
2modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_15-29modules_0-14modules_0-14modules_15-29...modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14
3modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_15-29modules_0-14modules_0-14modules_15-29...modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14
4modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14...modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_0-14modules_0-14
..................................................................
35995modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_0-14modules_0-14...modules_0-14modules_15-29modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14
35996modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_0-14modules_0-14...modules_0-14modules_15-29modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14
35997modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_0-14modules_0-14...modules_0-14modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14
35998modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_0-14modules_0-14...modules_0-14modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14
35999modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_15-29modules_15-29modules_0-14modules_0-14...modules_0-14modules_15-29modules_15-29modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14modules_0-14
\n

36000 rows × 26 columns

\n
" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": "
", "image/png": "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XonlxIkTSk1N1YgRI/TKK6/YvVbXVOzns2nTJm3btk0VFRX6/e9/r1tuuUV/+tOfVFlZeVExJicnu/S+5557TpJUVlamWbNmqV+/fvrxj3+s+fPnq6Ki4gLv/n8VFRV67rnndOTIEZWVlSk9PV1Dhw7Vo48+qtOnT1+4gP8aPHiwsrKynD6OuuJ5+eWX9frrr6u8vFyTJk1SYmKixowZo8LCQofLqaqq0lNPPaVrr71WPXv2VJ8+fTRs2DC99tprFx0j4ArGUHhZjx49tGPHDoWGhtptP3XqlK688kp9/fXXDpeVm5t73tcvueSSC5bRt29f7dy5U5KUn5+v6667Tvfff7/uv/9+XX755dqxY4dDsSQkJCgzM1P5+fmKj49XYWGhmjdvrtLSUl199dW2z7iQhx56SK+88opmzJhhWxPk0UcfVXp6uqSzrfyOuuKKK/T555+rb9+++uyzz9S8eXNJZxdETEhI0DfffONQOb1799aXX36pRo0a6fLLL9eWLVvUrFkzVVZWKiEhQV999ZVD5Vx++eVavXq1Jk6cqPz8fE2ZMkUjRoxQWFiYw8ckSYmJidq5c6fKysoUExOjvLw8BQcHyxijyy67zOHvWpIuu+wy7dixQ0FBQTpz5oxuuukmffjhhzp27Jh+8pOfOPV7fOedd7R27Vp9//33atSokaKiovS///u/GjFihFPH5y4nTpzQzJkzdfDgQd16660aPXq07bXx48frpZdecrisTZs2KTIyUpdddplmzZqlXbt2adCgQXrwwQfVuHFjl2NMTk62rZvjqOeee06//vWvVVZWprlz5+rtt99WkyZNdNttt2nq1Klq0sTxyfwqKir0wgsvaPjw4WrVqpUef/xxbd26VVdccYWmT59e7xo+NQ0ePFjPPvusevfu7dSx1BXPK6+8opCQEI0cOVIPPvig/vnPf+rKK6/UE088oTZt2jhUTlVVlZ555hn97W9/0/fff6+mTZuqa9euSk5O1i9+8QuH40lLS1NmZqbuvvtuderUScYYHT58WH/5y1+UkJCgP/3pTw6VU/Pub02DBg1yqJwRI0aoV69euvzyyzVv3jz169dPf/7znyX9//nOEY888oj+9a9/qaioSFFRUerYsaNSUlK0atUqRUZG2tZ+upBrr7221iKw27Ztsy1G++GHHzpUzrnxp6am6tixY5oyZYoqKyu1aNEiNW7cWC+++KJD5dx1110KCgrS008/rZkzZ+rUqVNKTk7Wxo0bVVBQoDfeeMOhcjp27KgWLVronnvu0UMPPWS7fjjrnnvuUUlJicrKylRQUKCrrrpKv/rVr/S3v/1N27Zt05tvvulQOQ8++KDKyso0dOhQrV27Vn379lXHjh21aNEi3XDDDXr00Uddig9wmfcW6YYxxsTHx5tjx47V2l5QUGB69+7tVFmJiYmmWbNmJjY21nTp0sXuERsb61AZvXv3NqdPn7Y9379/v+ncubP561//ai6//HKHY+nVq5epqqoyxhjz+9//3ra9rKzMxMfHO1yOMcZs2rTJ/PjHPzYfffSRMcaYyy67zKn3V+vRo4c5duyYGTJkiMnPz7dtLyoqMr169XK4nH79+pm8vDxjjDHDhg0zR48eNcYYc/z4cZOQkOBwOed+nxkZGeaOO+4w7dq1Mz/96U/NnXfe6XA5vXv3NkePHjW5ubkmJCTEFk9RUZHp3r27w+UYc/Y7Ki4uNsYY88MPP5g+ffoYY4wpLy936v/t97//vUlKSjKvvvqq2bRpk/nggw/Mq6++apKSkszUqVOdisldhg8fbmbMmGHWrl1rrrzySnPvvffaXnPmt/3www+b//mf/zEJCQnmxhtvNKNHjzbvvPOOGT16tJk8ebLD5VxzzTXm2muvtXu0aNHC9m9HVcf+m9/8xowePdp88cUXZvv27WbMmDFm/PjxDpdjjDG/+MUvzF133WWOHj1qJk6caMaMGWM2btxoJk2aZFJSUhwup0OHDuZHP/qRmTNnjt35xFmjR482I0eONLfccov5yU9+YiZPnmx2795t/vCHP5jbbrvN4XJSU1PN/fffbzZu3GjGjRtnnn76abNq1SozYMAAM3v2bIfL6d69u6msrKy1vaKiwvTo0cPhcm644QYTGhpqrr32WnPNNdfYPZz5v+/bt6/t36dOnTIDBw4006dPN8Y4d57s3bu3qaqqMkePHjURERG2Y6ysrLT7jAtZtGiRiY6ONsuWLTMZGRnmo48+Mj/60Y9MRkaGycjIcLgcY/7/d92nTx+777yqqsqp7zoxMdH278suu8x2XTLGOHXev+yyy8zRo0fN+PHjTefOnc3s2bNNTk6Ow++vGU9FRYXp2LGj3WvOfNfV52Zjzv4//fSnPzXGGHPmzBkTFxfndFzAxSKh8LKVK1eaSy+91IwfP96kpaWZRx991EyYMMHExsaa119/3amyioqKzGWXXWb+9a9/uRzPE088Yfr06WM2b95s27Zjxw7TsWNHExYW5nA506ZNM4MHDzYVFRW2bV9++aX56U9/ambMmOF0XIWFheb22283U6dOtbtAOOOOO+4wcXFxJjIy0owcOdIYY8yGDRtM165dzdNPP+1wORs2bDCdO3c2U6dONampqaZXr15m0qRJpnv37mbZsmUOl1PXBb+srMxs377drF692uFyXnvtNdOmTRsTGRlpFi1aZK644grz0EMPmcTERLNgwQKHyzHGmHnz5pnExETz8MMPm759+5qFCxeaAwcOmD59+pjHH3/c4XLcVfEyxpgVK1ac9+Eof618uaviZQyVL0fK2b9/f63tOTk5TsVTXl5uBg4caDZs2ODwe+qLp7Cw0Pb86NGjpmfPnubpp592KkmOj4+3JX7PPfecbXtxcbHTDUBZWVlm4MCBtr9NZ+I4V5cuXcwXX3xhbr31VrN3717b9oMHDzrVcPPjH//Y7N692xhjzJ133mn7//v222+d+j879zj27dtnpk2bZnr06GE6d+5sfvKTnzhcTt++fc3XX39tPvvsMxMSEmKLJy8vz/Ts2dPhcnr16mUOHz5sjDn7nVTHV1RU5HRjJOAOJBQWcOjQIbNixQozb94884c//MGsWLHCHDp0yKWyPvvsMzNu3LiLimfr1q21Lv75+flOJwIbN260e56VlWXWrl17UbG98MIL5oYbbrioMn744QeTnZ1tjDFm27Zt5rPPPnO6jH379pknnnjC/PrXvza//OUvTVpamtPl/PnPf3b6c+tz+vRp252FL7/80vzxj380f//7310q6x//+If54x//aP7xj38YY85WKr788kunynBXxcsYY8aMGWPCwsLM2LFjzZgxY+weY8eOdSomf6x8uaviZYx1K19bt261ROXrgw8+MDExMeb66683o0aNMqNHjzY/+9nPTExMjPnwww8dLscYY77++mvz29/+1qn31LRy5UoTExNj3n33Xdu2AwcOmJ49e5rg4GCHy3nqqadMjx497BqAtmzZYrp162YWL17sdFylpaVmypQpZuTIkU7/TVSbNm2auf76603r1q3N0KFDjTHGvPLKK6Z9+/Zm1apVDpfzySefmE6dOpkRI0aYe+65x7Rv394MHTrUREVF1bpGnU99jQ5Hjx41W7dudbicTZs2mUsuucR2579Xr15m5MiRJjo62rzyyisOl7Ns2TITHR1tkpOTzSWXXGJee+01k5OTY6Kjo51qaAHchYQCgNu5s+JljDG33nqreemlly4qpurK17mViAMHDpgePXr4dOVr+vTpbql4GePfla/OnTtfdOWrvLzczJs3z1x77bXmjTfeMCtXrjT//Oc/zZkzZ+y6djpSzlNPPWWmTJlS626UM+WUlZWZP/zhD2bcuHHmn//8p237mTNnTOfOnZ0uZ8qUKbZyDhw4YDIzMy/quD744ANbA5cz5VTHtHDhQvPggw/aGqL27t1rcnNznY5p9uzZJjY21ixYsMD84Q9/MC+99JI5ePCgU+Vs2LDBdmznftfGOHds5eXltuPKyMgwR44cMWvWrDFfffWV0//38+fPN7GxsWbp0qXGmLP/74WFhU5/14A7MCgbQIM4c+aMtm7dqry8PFVVVSk6Olr9+/d3aRXXvLw8vfrqq3rkkUcuKqa8vDw1atRIHTt2tG0rKyvTK6+8ogkTJjhczldffaVevXrZnn/77bc6evSorrzySpdj++CDD/TGG284NTi8psLCQrVp00b/+c9/1KxZM0VHRztdRnFxsT744APt3btXFRUV6tixo2688Uanynrrrbf085//3OnPvpD8/Hxt3rxZCQkJ6tmzp1Pv3bNnj3bt2qW+ffsqLi5OpaWlKikpUatWrRwuY8KECSovL1efPn20ePFi3XvvvZo2bZok5wZBT5gwQWVlZerbt+9Fl1NfPM5MomG143J3TOeW86tf/UrTp093upzx48ervLy8Qf/PvFEO4C6OT/8BAA6qnnGsS5cu6tKli237kSNHJDk241jNsu688846ZzJztKxz31uznBtvvNGpeMLCwuzKCAoKUrt27ZSbm+tSPNLZGd9mzpxp2+5qOadOnVJwcLCqqqqciufcsvr162ebmUeS02X17dv3vLPOuXpsknT11VfbXnOmnObNm9u9t1pxcbHD5WRmZtpmTRs1apSuu+46tWzZUvfff79Ta9B4ohxnWO24GjqmiIgIp8vZtm2bpb4jd37XgDuQUABwu6FDh2rPnj2KioqqdXELCgrSvn37PF6WL5QTFBQkY4xX4rFiTFYrp7KyUmfOnFHz5s3Vvn17vf322xowYICioqJqTZdK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" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": "
", "image/png": "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eECbN2/W4cOHGzz30ksvacqUKe4brC1ZskQTJkzQhx9+qL179zaYHxERoY0bN6qystJjfNOmTaqrq2sw/+WXX1Z1dXWDbfDgwU3m/f3vf+8x9/PPP9ff/vY3TZkypblfOgAAlqNUAPAJw4cPV9++fbVixQqP8W3btmnPnj3uH9YrKyv15ptvatq0aUpNTdWzzz7bYF+XXnqpLr74Yq1du9ZjfPny5brjjjtaJX/fvn11yy23aMeOHZKk+vp6PfHEE7rwwgsVFhamq666Sh988IF7/vr163XppZcqLCxM/fv314IFC9zPlZWVady4cerVq5eioqI0ZcoUOZ3O88pVWlqqtLQ0xcbGymazKS4uTsuXL/eY88EHH6h///6KiIjQ7bff7lHsduzYoWuvvVbdunVTfHy8cnJyxD1XAcD3UCoA+AR/f39NnTpVf/zjHz1+aH3ppZc0duxY9e7dW5L0+uuvKzExUZdffrmmT5+uVatW6ciRIw32N378eI+CUlJSou3bt+u2225r8eynT5/Wzp07tWHDBt1www2SpHnz5mnp0qXKzc1VRUWFHnzwQY0cOVLbt2/XyZMnNW7cOC1dulSVlZVas2aNnnzySW3fvl319fUaOXKk/P39tW/fPn311VcqKSnR5MmTzyvbpEmT1LlzZxUUFMjpdOr+++/X/fffr+rqavec9957T++//77279+vuro63X333ZJ+KiTDhg3TmDFjVF5erv/5n//Riy++qGXLlpn/pgEA2hYDAHzEiRMnDLvdbnz00UeGYRhGRUWF0aVLFyM/P98wDMOor6834uPjjbfeesv9mqSkJGPOnDnux7NnzzaGDBlilJeXG507dza++eYbwzAMY8GCBca0adOMjz/+2PjnU2ffvn2Nrl27GmFhYR7bgAEDmsw5ZMgQIygoyD03NDTUiI+PN2bOnGmcPHnSMAzDiImJMZYuXerxuttvv9249957jZqaGqNbt27GuHHjjC1bthgnT540Tp8+bRiGYXz22WdGQECA4XQ63a/75ptvDEnG0aNHG2T5+dfzc99//71RVVVlnDp1yti/f7+xbNkyQ5Lx3XffGYZhGJKMjRs3NjhWSUmJ8eSTTxq/+tWvPPb3yiuvGImJiR7fawBA+8dKBQCfERYWpvT0dL366quSfnq70mWXXaZBgwZJkt5//33t27dP9913nyIiIhQREaHdu3dr6dKl+vHHHz321aNHD918881auXKlJGnFihXKyMho9LgvvviiTpw44bHt3r37rFkfeeQR99zKykrt3btXTz/9tLp06SLpp7cwxcXFebwmNjZWBw8eVNeuXfW3v/1N9fX1uuuuu9StWzfdc889On78uA4ePKjTp08rOjpaDodDDodDV111lYKCgrR///5mf0/379+v66+/Xj179tSdd96prVu3Svrp7Vn/nOuMCy64QNJPKzsHDx7UF1984c7hcDj04IMP6vvvv292DgBA20apAOBTpk+frnfeeUcVFRVatmyZHnjgAfdzS5Ys0eTJk7V79259+eWX+vLLL1VQUKBTp05p1apVDfY1fvx4vfHGG8rLy1NISIguu+wyr30d/fr107fffusx9u2336p3796qqqpSaWmpVq9erbKyMv3973/X559/roULFyo6Olpdu3ZVRUWFu7SUlZXpyy+/bHb+U6dOacSIEUpPT1dFRYW2bdumzMzMBvNKS0vd/32muPTr10/R0dEaNmyYR9k6cOCAdu7c2fxvCACgTaNUAPApCQkJSk5O1owZM1RTU6PRo0dL+ukH8v/93//Vfffdp+joaPcWGxur9PR0Pfvssw0uIB4+fLjq6uo0ffr0JlcpWsukSZP0xBNPaMeOHTp9+rRyc3O1adMmjR8/XtXV1Ro+fLjWrFkjwzAUFRUlf39/RURE6KqrrlJ8fLxmzpyp6upqnTx5Ur/73e903XXXyeVyNXm877//3mP74YcfVFdXp5qaGtlsNvn5+am4uFizZs2SJI9PwZo9e7ZKS0t1/PhxzZw5U6mpqerRo4fuvvtu/f3vf9fq1avlcrn0ww8/aMSIEZoxY0arf/8AAN5FqQDgc85cgH3fffcpMDBQkrR06VINHDhQ//Zv/9Zg/r333qtvvvlGmzdv9hgPCAjQuHHjVFRUpLvuuqvJ402ZMqXR+1QsXrz4vL+GGTNmaNq0aUpLS1NYWJgWLlyot956S0OGDFFUVJTWrVunJ598UqGhoUpMTNSwYcP0u9/9TgEBAXr33Xd1+PBh/cu//It69+6toqIi/fnPf3a/taoxMTExHttll10mu92u119/XfPmzVNISIiuvfZaXX/99YqMjNRXX33lfm1KSoqSkpIUHx+vyMhIvfbaa5J++kSr999/X6+88op69uypf/3Xf1X//v0bfEIXAKD98zN+/qs5AAAAAGgGVioAAAAAmEKpAAAAAGAKpQIAAACAKZQKAAAAAKZQKgAAAACYQqkAAAAAYAqlAgAAAIAplAoAAAAAplAqAAAAAJhCqQAAAABgCqUCAAAAgCmUCgAAAACm/D9+BA18DW+FIQAAAABJRU5ErkJggg==" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "config[\"remappings\"] = [[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],\"modules_0-14\"],\n", " [[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"modules_15-29\"]]\n", "\n", "labels_df = analyze.get_module_labels(config,0,1200,subgroups=[\"sal\",\"k1\",\"k5\",\"k10\"])\n", "display(labels_df)\n", "module_usage = analyze.get_module_usage(config,labels_df)\n", "fig = plot.plot_module_usage(config,\n", " module_usage,\n", " style=\"bar_error\",\n", " figW=8,\n", " figH=4,\n", " cmap=\"viridis_r\")\n", "\n", "labels_df_remap = analyze.combine_pose_modules(config,labels_df)\n", "display(labels_df_remap)\n", "module_usage = analyze.get_module_usage(config,labels_df,modules_altered=True) # you must set modules_altered = True to get the correct behavior if you have altered the modules, i.e. by remapping to manual scoring class\n", "fig = plot.plot_module_usage(config,\n", " module_usage,\n", " style=\"bar_error\",\n", " figW=8,\n", " figH=4,\n", " cmap=\"viridis_r\")\n", "if save:\n", " fig.savefig(save_path+\"demo5-1_boris_remapped_usage.png\",dpi=300)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-09-04T23:48:35.383708Z", "start_time": "2025-09-04T23:48:21.393651Z" } }, "id": "15d94b3cf5bb22fd", "execution_count": 27 }, { "cell_type": "markdown", "source": [ "## 5.2: Incorporating manual scoring data from BORIS to remap modules\n", "\n", "The approach used in MARIPoSA for identifying the behaviors represented by pose modules is to compare to manual scoring data. We have found it is simplest to use manual scoring data incorporated from BORIS and exported in the frame rate of the video as one-hot encoded csv. We then need to set the BORIS csv directory path and the pairings of videos and their corresponding project file within the config." ], "metadata": { "collapsed": false }, "id": "7095b088ca00fd4" }, { "cell_type": "code", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before editing (default):\n", "None\n", "[[None, None], [None, None], [None, None]]\n", "After editing:\n", "/Users/snewbank/Behavior/MARIPoSA_demo_data/PS-TEST-25-03-31-ManualScoring/\n", "[['BINARY_2023-05-09_17-41-11_bf01_nal10k10.csv', '2023-05-09_17-41-11_bf01_nal10k10DLC_resnet101_DevRats2Jul21shuffle1_500000'], ['BINARY_13-39-15_bm01_k25.csv', '2023-05-30_13-39-15_bm01_k25DLC_resnet101_DevRats2Jul21shuffle1_500000'], ['BINARY_1_2023-05-31_12-02-23_bf02_coc.csv', '2023-05-31_12-02-23_bf02_cocDLC_resnet101_DevRats2Jul21shuffle1_500000'], ['BINARY_2023-06-15_19-15-24_bm04_nalket.csv', '2023-06-15_19-15-24_bm04_nalketDLC_resnet101_DevRats2Jul21shuffle1_500000'], ['BINARY_2023-06-15_17-16-18_bm01_k5iv.csv', '2023-06-15_17-16-18_bm01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000'], ['BINARY_2023-06-09_18-18-49_bm02_k25.csv', '2023-06-09_18-18-49_bm02_k25DLC_resnet101_DevRats2Jul21shuffle1_500000'], ['BINARY_2023-07-08_15-13-11_bf03_k25.csv', '2023-07-08_15-13-11_bf03_k25DLC_resnet101_DevRats2Jul21shuffle1_500000'], ['BINARY_bf01_k5.csv', '2023-06-20_16-46-29_bf01_k5DLC_resnet101_DevRats2Jul21shuffle1_500000']]\n" ] } ], "source": [ "print(\"Before editing (default):\")\n", "print(config['boris_directory'])\n", "print(config['boris_to_pose_pairings'])\n", "\n", "config['boris_directory'] = demo_dir + \"PS-TEST-25-03-31-ManualScoring/\"\n", "config['boris_to_pose_pairings'] = [\n", " ['BINARY_2023-05-09_17-41-11_bf01_nal10k10.csv','2023-05-09_17-41-11_bf01_nal10k10DLC_resnet101_DevRats2Jul21shuffle1_500000'],\n", " ['BINARY_13-39-15_bm01_k25.csv','2023-05-30_13-39-15_bm01_k25DLC_resnet101_DevRats2Jul21shuffle1_500000'],\n", " ['BINARY_1_2023-05-31_12-02-23_bf02_coc.csv','2023-05-31_12-02-23_bf02_cocDLC_resnet101_DevRats2Jul21shuffle1_500000'],\n", " ['BINARY_2023-06-15_19-15-24_bm04_nalket.csv','2023-06-15_19-15-24_bm04_nalketDLC_resnet101_DevRats2Jul21shuffle1_500000'],\n", " ['BINARY_2023-06-15_17-16-18_bm01_k5iv.csv','2023-06-15_17-16-18_bm01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000'],\n", " ['BINARY_2023-06-09_18-18-49_bm02_k25.csv','2023-06-09_18-18-49_bm02_k25DLC_resnet101_DevRats2Jul21shuffle1_500000'],\n", " ['BINARY_2023-07-08_15-13-11_bf03_k25.csv','2023-07-08_15-13-11_bf03_k25DLC_resnet101_DevRats2Jul21shuffle1_500000'],\n", " ['BINARY_bf01_k5.csv','2023-06-20_16-46-29_bf01_k5DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "]\n", "print(\"After editing:\")\n", "print(config['boris_directory'])\n", "print(config['boris_to_pose_pairings'])" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-09-04T23:48:35.394552Z", "start_time": "2025-09-04T23:48:35.386566Z" } }, "id": "cf93b00e6767bcf1", "execution_count": 28 }, { "cell_type": "markdown", "source": [ "Once we have done that, we can then look at the overlap between manually scored behaviors and pose modules:" ], "metadata": { "collapsed": false }, "id": "89a8b0fa9c5cd76e" }, { "cell_type": "code", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "done with ['BINARY_2023-05-09_17-41-11_bf01_nal10k10.csv', '2023-05-09_17-41-11_bf01_nal10k10DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_13-39-15_bm01_k25.csv', '2023-05-30_13-39-15_bm01_k25DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_1_2023-05-31_12-02-23_bf02_coc.csv', '2023-05-31_12-02-23_bf02_cocDLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_2023-06-15_19-15-24_bm04_nalket.csv', '2023-06-15_19-15-24_bm04_nalketDLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_2023-06-15_17-16-18_bm01_k5iv.csv', '2023-06-15_17-16-18_bm01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_2023-06-09_18-18-49_bm02_k25.csv', '2023-06-09_18-18-49_bm02_k25DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_2023-07-08_15-13-11_bf03_k25.csv', '2023-07-08_15-13-11_bf03_k25DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_bf01_k5.csv', '2023-06-20_16-46-29_bf01_k5DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "VAME modules map onto scored behaviors with 'loss' of 0.47849370930131485\n" ] }, { "data": { "text/plain": "
", "image/png": "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" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "BORIS_to_pose_mat, BORIS_to_pose_mat_normalized, loss = analyze.BORIS_to_pose(config)\n", "fig = plot.BORIS_to_pose_matrix_plot(config, BORIS_to_pose_mat_normalized, figW=3, figH=2, cmap=\"Greens\",outline_top_match=True)\n", "if save:\n", " fig.savefig(save_path+\"demo5-2_boris_to_pose_matrix.png\",dpi=500)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-09-04T23:48:36.379819Z", "start_time": "2025-09-04T23:48:35.395578Z" } }, "id": "5c9f82928246840d", "execution_count": 29 }, { "cell_type": "markdown", "source": [ "Once you have the manually scored class for each module, you can remap them to compare usage of grouped modules." ], "metadata": { "collapsed": false }, "id": "de24a6b044a36376" }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": " sal \\\n 2023-06-15_21-28-12_bf04_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 0 \n1 0 \n2 0 \n3 0 \n4 0 \n... ... \n35995 17 \n35996 17 \n35997 17 \n35998 17 \n35999 17 \n\n \\\n 2023-06-15_22-01-50_bf03_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 9 \n1 9 \n2 9 \n3 9 \n4 9 \n... ... \n35995 27 \n35996 27 \n35997 27 \n35998 27 \n35999 27 \n\n \\\n 2023-06-20_15-41-01_bm03_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 0 \n1 0 \n2 0 \n3 0 \n4 0 \n... ... \n35995 13 \n35996 13 \n35997 13 \n35998 13 \n35999 13 \n\n \\\n 2023-06-20_16-13-48_bm04_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 10 \n1 10 \n2 10 \n3 10 \n4 10 \n... ... \n35995 13 \n35996 13 \n35997 13 \n35998 13 \n35999 13 \n\n \\\n 2023-06-20_17-21-51_bf02_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 17 \n1 17 \n2 17 \n3 17 \n4 17 \n... ... \n35995 12 \n35996 12 \n35997 12 \n35998 12 \n35999 12 \n\n \\\n 2023-07-03_16-15-21_bm02_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 17 \n1 17 \n2 17 \n3 17 \n4 17 \n... ... \n35995 13 \n35996 13 \n35997 13 \n35998 13 \n35999 13 \n\n \\\n 2023-07-03_19-20-49_bf01_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 20 \n1 20 \n2 20 \n3 20 \n4 20 \n... ... \n35995 27 \n35996 27 \n35997 27 \n35998 27 \n35999 27 \n\n k1 \\\n 2023-06-20_19-10-38_bf04_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 9 \n1 9 \n2 9 \n3 9 \n4 9 \n... ... \n35995 25 \n35996 25 \n35997 25 \n35998 25 \n35999 25 \n\n \\\n 2023-06-26_15-35-45_bf01_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 9 \n1 9 \n2 9 \n3 9 \n4 9 \n... ... \n35995 8 \n35996 8 \n35997 8 \n35998 8 \n35999 8 \n\n \\\n 2023-06-26_19-00-05_bm02_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 23 \n1 23 \n2 23 \n3 23 \n4 3 \n... ... \n35995 1 \n35996 1 \n35997 1 \n35998 1 \n35999 1 \n\n ... \\\n ... \n0 ... \n1 ... \n2 ... \n3 ... \n4 ... \n... ... \n35995 ... \n35996 ... \n35997 ... \n35998 ... \n35999 ... \n\n k5 \\\n 2023-07-08_16-19-27_bm02_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 5 \n1 5 \n2 5 \n3 5 \n4 5 \n... ... \n35995 1 \n35996 1 \n35997 1 \n35998 1 \n35999 1 \n\n \\\n 2023-07-14_16-25-47_bf01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 2 \n1 2 \n2 2 \n3 2 \n4 2 \n... ... \n35995 27 \n35996 27 \n35997 27 \n35998 27 \n35999 27 \n\n \\\n 2023-07-18_19-35-14_bm03_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 19 \n1 19 \n2 19 \n3 19 \n4 19 \n... ... \n35995 27 \n35996 27 \n35997 27 \n35998 27 \n35999 27 \n\n k10 \\\n 2023-05-15_16-47-52_bf03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 0 \n1 0 \n2 0 \n3 0 \n4 0 \n... ... \n35995 28 \n35996 28 \n35997 10 \n35998 10 \n35999 10 \n\n \\\n 2023-05-15_18-18-22_bf04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 12 \n1 12 \n2 12 \n3 12 \n4 12 \n... ... \n35995 13 \n35996 13 \n35997 13 \n35998 13 \n35999 13 \n\n \\\n 2023-05-25_14-30-54_bm02_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 12 \n1 12 \n2 12 \n3 12 \n4 12 \n... ... \n35995 4 \n35996 4 \n35997 4 \n35998 4 \n35999 4 \n\n \\\n 2023-05-31_17-08-06_bf01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 0 \n1 0 \n2 0 \n3 0 \n4 0 \n... ... \n35995 8 \n35996 8 \n35997 8 \n35998 8 \n35999 1 \n\n \\\n 2023-07-13_15-45-26_bm03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 19 \n1 19 \n2 19 \n3 19 \n4 19 \n... ... \n35995 3 \n35996 3 \n35997 3 \n35998 3 \n35999 3 \n\n \\\n 2023-07-14_13-56-09_bm01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 12 \n1 12 \n2 12 \n3 12 \n4 12 \n... ... \n35995 8 \n35996 8 \n35997 8 \n35998 8 \n35999 8 \n\n \n 2023-07-18_18-19-50_bm04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 12 \n1 12 \n2 12 \n3 12 \n4 12 \n... ... \n35995 8 \n35996 8 \n35997 8 \n35998 8 \n35999 8 \n\n[36000 rows x 26 columns]", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
salk1...k5k10
2023-06-15_21-28-12_bf04_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-15_22-01-50_bf03_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_15-41-01_bm03_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_16-13-48_bm04_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_17-21-51_bf02_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-03_16-15-21_bm02_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-03_19-20-49_bf01_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_19-10-38_bf04_k1ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-26_15-35-45_bf01_k1ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-26_19-00-05_bm02_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000...2023-07-08_16-19-27_bm02_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-14_16-25-47_bf01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-18_19-35-14_bm03_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-15_16-47-52_bf03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-15_18-18-22_bf04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-25_14-30-54_bm02_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-31_17-08-06_bf01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-13_15-45-26_bm03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-14_13-56-09_bm01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-18_18-19-50_bm04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000
0090101717209923...5219012120191212
1090101717209923...5219012120191212
2090101717209923...5219012120191212
3090101717209923...5219012120191212
409010171720993...5219012120191212
..................................................................
35995172713131213272581...12727281348388
35996172713131213272581...12727281348388
35997172713131213272581...12727101348388
35998172713131213272581...12727101348388
35999172713131213272581...12727101341388
\n

36000 rows × 26 columns

\n
" }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "done with ['BINARY_2023-05-09_17-41-11_bf01_nal10k10.csv', '2023-05-09_17-41-11_bf01_nal10k10DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_13-39-15_bm01_k25.csv', '2023-05-30_13-39-15_bm01_k25DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_1_2023-05-31_12-02-23_bf02_coc.csv', '2023-05-31_12-02-23_bf02_cocDLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_2023-06-15_19-15-24_bm04_nalket.csv', '2023-06-15_19-15-24_bm04_nalketDLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_2023-06-15_17-16-18_bm01_k5iv.csv', '2023-06-15_17-16-18_bm01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_2023-06-09_18-18-49_bm02_k25.csv', '2023-06-09_18-18-49_bm02_k25DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_2023-07-08_15-13-11_bf03_k25.csv', '2023-07-08_15-13-11_bf03_k25DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "done with ['BINARY_bf01_k5.csv', '2023-06-20_16-46-29_bf01_k5DLC_resnet101_DevRats2Jul21shuffle1_500000']\n", "VAME modules map onto scored behaviors with 'loss' of 0.47849370930131485\n", "Applying 30 remapping rules from config.\n", "1 of 30: Remapping [0] to ataxic 1-2\n", "2 of 30: Remapping [1] to explore\n", "3 of 30: Remapping [2] to ataxic 1-2\n", "4 of 30: Remapping [3] to walk\n", "5 of 30: Remapping [4] to explore\n", "6 of 30: Remapping [5] to walk\n", "7 of 30: Remapping [6] to groom\n", "8 of 30: Remapping [7] to explore\n", "9 of 30: Remapping [8] to explore\n", "10 of 30: Remapping [9] to explore\n", "11 of 30: Remapping [10] to rest\n", "12 of 30: Remapping [11] to rest\n", "13 of 30: Remapping [12] to rest\n", "14 of 30: Remapping [13] to rest\n", "15 of 30: Remapping [14] to explore\n", "16 of 30: Remapping [15] to walk\n", "17 of 30: Remapping [16] to rest\n", "18 of 30: Remapping [17] to explore\n", "19 of 30: Remapping [18] to rest\n", "20 of 30: Remapping [19] to explore\n", "21 of 30: Remapping [20] to walk\n", "22 of 30: Remapping [21] to ataxic 1-2\n", "23 of 30: Remapping [22] to ataxic 1-2\n", "24 of 30: Remapping [23] to walk\n", "25 of 30: Remapping [24] to explore\n", "26 of 30: Remapping [25] to rest\n", "27 of 30: Remapping [26] to rest\n", "28 of 30: Remapping [27] to rest\n", "29 of 30: Remapping [28] to rest\n", "30 of 30: Remapping [29] to explore\n" ] }, { "data": { "text/plain": " sal \\\n 2023-06-15_21-28-12_bf04_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 ataxic 1-2 \n1 ataxic 1-2 \n2 ataxic 1-2 \n3 ataxic 1-2 \n4 ataxic 1-2 \n... ... \n35995 explore \n35996 explore \n35997 explore \n35998 explore \n35999 explore \n\n \\\n 2023-06-15_22-01-50_bf03_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 explore \n1 explore \n2 explore \n3 explore \n4 explore \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n \\\n 2023-06-20_15-41-01_bm03_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 ataxic 1-2 \n1 ataxic 1-2 \n2 ataxic 1-2 \n3 ataxic 1-2 \n4 ataxic 1-2 \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n \\\n 2023-06-20_16-13-48_bm04_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 rest \n1 rest \n2 rest \n3 rest \n4 rest \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n \\\n 2023-06-20_17-21-51_bf02_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 explore \n1 explore \n2 explore \n3 explore \n4 explore \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n \\\n 2023-07-03_16-15-21_bm02_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 explore \n1 explore \n2 explore \n3 explore \n4 explore \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n \\\n 2023-07-03_19-20-49_bf01_salivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 walk \n1 walk \n2 walk \n3 walk \n4 walk \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n k1 \\\n 2023-06-20_19-10-38_bf04_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 explore \n1 explore \n2 explore \n3 explore \n4 explore \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n \\\n 2023-06-26_15-35-45_bf01_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 explore \n1 explore \n2 explore \n3 explore \n4 explore \n... ... \n35995 explore \n35996 explore \n35997 explore \n35998 explore \n35999 explore \n\n \\\n 2023-06-26_19-00-05_bm02_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 walk \n1 walk \n2 walk \n3 walk \n4 walk \n... ... \n35995 explore \n35996 explore \n35997 explore \n35998 explore \n35999 explore \n\n ... \\\n ... \n0 ... \n1 ... \n2 ... \n3 ... \n4 ... \n... ... \n35995 ... \n35996 ... \n35997 ... \n35998 ... \n35999 ... \n\n k5 \\\n 2023-07-08_16-19-27_bm02_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 walk \n1 walk \n2 walk \n3 walk \n4 walk \n... ... \n35995 explore \n35996 explore \n35997 explore \n35998 explore \n35999 explore \n\n \\\n 2023-07-14_16-25-47_bf01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 ataxic 1-2 \n1 ataxic 1-2 \n2 ataxic 1-2 \n3 ataxic 1-2 \n4 ataxic 1-2 \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n \\\n 2023-07-18_19-35-14_bm03_k5ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 explore \n1 explore \n2 explore \n3 explore \n4 explore \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n k10 \\\n 2023-05-15_16-47-52_bf03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 ataxic 1-2 \n1 ataxic 1-2 \n2 ataxic 1-2 \n3 ataxic 1-2 \n4 ataxic 1-2 \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n \\\n 2023-05-15_18-18-22_bf04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 rest \n1 rest \n2 rest \n3 rest \n4 rest \n... ... \n35995 rest \n35996 rest \n35997 rest \n35998 rest \n35999 rest \n\n \\\n 2023-05-25_14-30-54_bm02_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 rest \n1 rest \n2 rest \n3 rest \n4 rest \n... ... \n35995 explore \n35996 explore \n35997 explore \n35998 explore \n35999 explore \n\n \\\n 2023-05-31_17-08-06_bf01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 ataxic 1-2 \n1 ataxic 1-2 \n2 ataxic 1-2 \n3 ataxic 1-2 \n4 ataxic 1-2 \n... ... \n35995 explore \n35996 explore \n35997 explore \n35998 explore \n35999 explore \n\n \\\n 2023-07-13_15-45-26_bm03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 explore \n1 explore \n2 explore \n3 explore \n4 explore \n... ... \n35995 walk \n35996 walk \n35997 walk \n35998 walk \n35999 walk \n\n \\\n 2023-07-14_13-56-09_bm01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 rest \n1 rest \n2 rest \n3 rest \n4 rest \n... ... \n35995 explore \n35996 explore \n35997 explore \n35998 explore \n35999 explore \n\n \n 2023-07-18_18-19-50_bm04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000 \n0 rest \n1 rest \n2 rest \n3 rest \n4 rest \n... ... \n35995 explore \n35996 explore \n35997 explore \n35998 explore \n35999 explore \n\n[36000 rows x 26 columns]", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
salk1...k5k10
2023-06-15_21-28-12_bf04_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-15_22-01-50_bf03_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_15-41-01_bm03_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_16-13-48_bm04_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_17-21-51_bf02_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-03_16-15-21_bm02_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-03_19-20-49_bf01_salivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-20_19-10-38_bf04_k1ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-26_15-35-45_bf01_k1ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-06-26_19-00-05_bm02_k1ivDLC_resnet101_DevRats2Jul21shuffle1_500000...2023-07-08_16-19-27_bm02_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-14_16-25-47_bf01_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-18_19-35-14_bm03_k5ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-15_16-47-52_bf03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-15_18-18-22_bf04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-25_14-30-54_bm02_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-05-31_17-08-06_bf01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-13_15-45-26_bm03_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-14_13-56-09_bm01_k10ivDLC_resnet101_DevRats2Jul21shuffle1_5000002023-07-18_18-19-50_bm04_k10ivDLC_resnet101_DevRats2Jul21shuffle1_500000
0ataxic 1-2exploreataxic 1-2restexploreexplorewalkexploreexplorewalk...walkataxic 1-2exploreataxic 1-2restrestataxic 1-2explorerestrest
1ataxic 1-2exploreataxic 1-2restexploreexplorewalkexploreexplorewalk...walkataxic 1-2exploreataxic 1-2restrestataxic 1-2explorerestrest
2ataxic 1-2exploreataxic 1-2restexploreexplorewalkexploreexplorewalk...walkataxic 1-2exploreataxic 1-2restrestataxic 1-2explorerestrest
3ataxic 1-2exploreataxic 1-2restexploreexplorewalkexploreexplorewalk...walkataxic 1-2exploreataxic 1-2restrestataxic 1-2explorerestrest
4ataxic 1-2exploreataxic 1-2restexploreexplorewalkexploreexplorewalk...walkataxic 1-2exploreataxic 1-2restrestataxic 1-2explorerestrest
..................................................................
35995explorerestrestrestrestrestrestrestexploreexplore...explorerestrestrestrestexploreexplorewalkexploreexplore
35996explorerestrestrestrestrestrestrestexploreexplore...explorerestrestrestrestexploreexplorewalkexploreexplore
35997explorerestrestrestrestrestrestrestexploreexplore...explorerestrestrestrestexploreexplorewalkexploreexplore
35998explorerestrestrestrestrestrestrestexploreexplore...explorerestrestrestrestexploreexplorewalkexploreexplore
35999explorerestrestrestrestrestrestrestexploreexplore...explorerestrestrestrestexploreexplorewalkexploreexplore
\n

36000 rows × 26 columns

\n
" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": "
", "image/png": "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XonlxIkTSk1N1YgRI/TKK6/YvVbXVOzns2nTJm3btk0VFRX6/e9/r1tuuUV/+tOfVFlZeVExJicnu/S+5557TpJUVlamWbNmqV+/fvrxj3+s+fPnq6Ki4gLv/n8VFRV67rnndOTIEZWVlSk9PV1Dhw7Vo48+qtOnT1+4gP8aPHiwsrKynD6OuuJ5+eWX9frrr6u8vFyTJk1SYmKixowZo8LCQofLqaqq0lNPPaVrr71WPXv2VJ8+fTRs2DC99tprFx0j4ArGUHhZjx49tGPHDoWGhtptP3XqlK688kp9/fXXDpeVm5t73tcvueSSC5bRt29f7dy5U5KUn5+v6667Tvfff7/uv/9+XX755dqxY4dDsSQkJCgzM1P5+fmKj49XYWGhmjdvrtLSUl199dW2z7iQhx56SK+88opmzJhhWxPk0UcfVXp6uqSzrfyOuuKKK/T555+rb9+++uyzz9S8eXNJZxdETEhI0DfffONQOb1799aXX36pRo0a6fLLL9eWLVvUrFkzVVZWKiEhQV999ZVD5Vx++eVavXq1Jk6cqPz8fE2ZMkUjRoxQWFiYw8ckSYmJidq5c6fKysoUExOjvLw8BQcHyxijyy67zOHvWpIuu+wy7dixQ0FBQTpz5oxuuukmffjhhzp27Jh+8pOfOPV7fOedd7R27Vp9//33atSokaKiovS///u/GjFihFPH5y4nTpzQzJkzdfDgQd16660aPXq07bXx48frpZdecrisTZs2KTIyUpdddplmzZqlXbt2adCgQXrwwQfVuHFjl2NMTk62rZvjqOeee06//vWvVVZWprlz5+rtt99WkyZNdNttt2nq1Klq0sTxyfwqKir0wgsvaPjw4WrVqpUef/xxbd26VVdccYWmT59e7xo+NQ0ePFjPPvusevfu7dSx1BXPK6+8opCQEI0cOVIPPvig/vnPf+rKK6/UE088oTZt2jhUTlVVlZ555hn97W9/0/fff6+mTZuqa9euSk5O1i9+8QuH40lLS1NmZqbuvvtuderUScYYHT58WH/5y1+UkJCgP/3pTw6VU/Pub02DBg1yqJwRI0aoV69euvzyyzVv3jz169dPf/7znyX9//nOEY888oj+9a9/qaioSFFRUerYsaNSUlK0atUqRUZG2tZ+upBrr7221iKw27Ztsy1G++GHHzpUzrnxp6am6tixY5oyZYoqKyu1aNEiNW7cWC+++KJD5dx1110KCgrS008/rZkzZ+rUqVNKTk7Wxo0bVVBQoDfeeMOhcjp27KgWLVronnvu0UMPPWS7fjjrnnvuUUlJicrKylRQUKCrrrpKv/rVr/S3v/1N27Zt05tvvulQOQ8++KDKyso0dOhQrV27Vn379lXHjh21aNEi3XDDDXr00Uddig9wmfcW6YYxxsTHx5tjx47V2l5QUGB69+7tVFmJiYmmWbNmJjY21nTp0sXuERsb61AZvXv3NqdPn7Y9379/v+ncubP561//ai6//HKHY+nVq5epqqoyxhjz+9//3ra9rKzMxMfHO1yOMcZs2rTJ/PjHPzYfffSRMcaYyy67zKn3V+vRo4c5duyYGTJkiMnPz7dtLyoqMr169XK4nH79+pm8vDxjjDHDhg0zR48eNcYYc/z4cZOQkOBwOed+nxkZGeaOO+4w7dq1Mz/96U/NnXfe6XA5vXv3NkePHjW5ubkmJCTEFk9RUZHp3r27w+UYc/Y7Ki4uNsYY88MPP5g+ffoYY4wpLy936v/t97//vUlKSjKvvvqq2bRpk/nggw/Mq6++apKSkszUqVOdisldhg8fbmbMmGHWrl1rrrzySnPvvffaXnPmt/3www+b//mf/zEJCQnmxhtvNKNHjzbvvPOOGT16tJk8ebLD5VxzzTXm2muvtXu0aNHC9m9HVcf+m9/8xowePdp88cUXZvv27WbMmDFm/PjxDpdjjDG/+MUvzF133WWOHj1qJk6caMaMGWM2btxoJk2aZFJSUhwup0OHDuZHP/qRmTNnjt35xFmjR482I0eONLfccov5yU9+YiZPnmx2795t/vCHP5jbbrvN4XJSU1PN/fffbzZu3GjGjRtnnn76abNq1SozYMAAM3v2bIfL6d69u6msrKy1vaKiwvTo0cPhcm644QYTGhpqrr32WnPNNdfYPZz5v+/bt6/t36dOnTIDBw4006dPN8Y4d57s3bu3qaqqMkePHjURERG2Y6ysrLT7jAtZtGiRiY6ONsuWLTMZGRnmo48+Mj/60Y9MRkaGycjIcLgcY/7/d92nTx+777yqqsqp7zoxMdH278suu8x2XTLGOHXev+yyy8zRo0fN+PHjTefOnc3s2bNNTk6Ow++vGU9FRYXp2LGj3WvOfNfV52Zjzv4//fSnPzXGGHPmzBkTFxfndFzAxSKh8LKVK1eaSy+91IwfP96kpaWZRx991EyYMMHExsaa119/3amyioqKzGWXXWb+9a9/uRzPE088Yfr06WM2b95s27Zjxw7TsWNHExYW5nA506ZNM4MHDzYVFRW2bV9++aX56U9/ambMmOF0XIWFheb22283U6dOtbtAOOOOO+4wcXFxJjIy0owcOdIYY8yGDRtM165dzdNPP+1wORs2bDCdO3c2U6dONampqaZXr15m0qRJpnv37mbZsmUOl1PXBb+srMxs377drF692uFyXnvtNdOmTRsTGRlpFi1aZK644grz0EMPmcTERLNgwQKHyzHGmHnz5pnExETz8MMPm759+5qFCxeaAwcOmD59+pjHH3/c4XLcVfEyxpgVK1ac9+Eof618uaviZQyVL0fK2b9/f63tOTk5TsVTXl5uBg4caDZs2ODwe+qLp7Cw0Pb86NGjpmfPnubpp592KkmOj4+3JX7PPfecbXtxcbHTDUBZWVlm4MCBtr9NZ+I4V5cuXcwXX3xhbr31VrN3717b9oMHDzrVcPPjH//Y7N692xhjzJ133mn7//v222+d+j879zj27dtnpk2bZnr06GE6d+5sfvKTnzhcTt++fc3XX39tPvvsMxMSEmKLJy8vz/Ts2dPhcnr16mUOHz5sjDn7nVTHV1RU5HRjJOAOJBQWcOjQIbNixQozb94884c//MGsWLHCHDp0yKWyPvvsMzNu3LiLimfr1q21Lv75+flOJwIbN260e56VlWXWrl17UbG98MIL5oYbbrioMn744QeTnZ1tjDFm27Zt5rPPPnO6jH379pknnnjC/PrXvza//OUvTVpamtPl/PnPf3b6c+tz+vRp252FL7/80vzxj380f//7310q6x//+If54x//aP7xj38YY85WKr788kunynBXxcsYY8aMGWPCwsLM2LFjzZgxY+weY8eOdSomf6x8uaviZYx1K19bt261ROXrgw8+MDExMeb66683o0aNMqNHjzY/+9nPTExMjPnwww8dLscYY77++mvz29/+1qn31LRy5UoTExNj3n33Xdu2AwcOmJ49e5rg4GCHy3nqqadMjx497BqAtmzZYrp162YWL17sdFylpaVmypQpZuTIkU7/TVSbNm2auf76603r1q3N0KFDjTHGvPLKK6Z9+/Zm1apVDpfzySefmE6dOpkRI0aYe+65x7Rv394MHTrUREVF1bpGnU99jQ5Hjx41W7dudbicTZs2mUsuucR2579Xr15m5MiRJjo62rzyyisOl7Ns2TITHR1tkpOTzSWXXGJee+01k5OTY6Kjo51qaAHchYQCgNu5s+JljDG33nqreemlly4qpurK17mViAMHDpgePXr4dOVr+vTpbql4GePfla/OnTtfdOWrvLzczJs3z1x77bXmjTfeMCtXrjT//Oc/zZkzZ+y6djpSzlNPPWWmTJlS626UM+WUlZWZP/zhD2bcuHHmn//8p237mTNnTOfOnZ0uZ8qUKbZyDhw4YDIzMy/quD744ANbA5cz5VTHtHDhQvPggw/aGqL27t1rcnNznY5p9uzZJjY21ixYsMD84Q9/MC+99JI5ePCgU+Vs2LDBdmznftfGOHds5eXltuPKyMgwR44cMWvWrDFfffWV0//38+fPN7GxsWbp0qXGmLP/74WFhU5/14A7MCgbQIM4c+aMtm7dqry8PFVVVSk6Olr9+/d3aRXXvLw8vfrqq3rkkUcuKqa8vDw1atRIHTt2tG0rKyvTK6+8ogkTJjhczldffaVevXrZnn/77bc6evSorrzySpdj++CDD/TGG284NTi8psLCQrVp00b/+c9/1KxZM0VHRztdRnFxsT744APt3btXFRUV6tixo2688Uanynrrrbf085//3OnPvpD8/Hxt3rxZCQkJ6tmzp1Pv3bNnj3bt2qW+ffsqLi5OpaWlKikpUatWrRwuY8KECSovL1efPn20ePFi3XvvvZo2bZok5wZBT5gwQWVlZerbt+9Fl1NfPM5MomG143J3TOeW86tf/UrTp093upzx48ervLy8Qf/PvFEO4C6OT/8BAA6qnnGsS5cu6tKli237kSNHJDk241jNsu688846ZzJztKxz31uznBtvvNGpeMLCwuzKCAoKUrt27ZSbm+tSPNLZGd9mzpxp2+5qOadOnVJwcLCqqqqciufcsvr162ebmUeS02X17dv3vLPOuXpsknT11VfbXnOmnObNm9u9t1pxcbHD5WRmZtpmTRs1apSuu+46tWzZUvfff79Ta9B4ohxnWO24GjqmiIgIp8vZtm2bpb4jd37XgDuQUABwu6FDh2rPnj2KioqqdXELCgrSvn37PF6WL5QTFBQkY4xX4rFiTFYrp7KyUmfOnFHz5s3Vvn17vf322xowYICioqJqTZdK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" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": "
", "image/png": "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3Dhbv3UAAAxHqQDgErp376569epp1apVVssPHjyoEydOWN6sZ2Zm6v3339f48ePVr18/LViwoMi27rvvPjVu3Fjr16+3Wr5ixQo9+eSTZZK/Xr166tWrl44cOSJJKiws1D/+8Q/de++98vPzU/v27bVr1y7L+M2bN+u+++6Tn5+fmjZtqjlz5li+dv78eQ0dOlR33323AgMDNW7cOGVnZ5coV1pamqKiohQaGiovLy81aNBAK1assBqza9cuNW3aVLVq1dITTzxhVeyOHDmiTp06qXr16mrYsKEWLlwormQOAK6HUgHAJbi7u+vZZ5/Vv/71L6s3re+8844GDhyounXrSpJWrlypsLAwtW7dWhMnTtTq1at14cKFItsbPny4VUE5e/asDh8+rL59+5Z69oKCAiUkJGjLli3q0qWLJGnWrFlasmSJNm7cqIyMDL344ovq3bu3Dh8+rKtXr2ro0KFasmSJMjMztXbtWr3yyis6fPiwCgsL1bt3b7m7uys5OVnHjx/X2bNnNWbMmBJlGz16tKpUqaLExERlZ2drwoQJmjBhgnJycixjPvroI+3cuVOnT59Wfn6+hgwZIunXQtK5c2cNGDBA6enp+s9//qO3335by5Yts/+HBgAoX8wA4CKuXLli9vb2Nu/du9dsNpvNGRkZ5qpVq5rj4+PNZrPZXFhYaG7YsKF53bp1lnU6dOhgnjFjhuX59OnTzZGRkeb09HRzlSpVzN99953ZbDab58yZYx4/frz5s88+M//2V2e9evXM1apVM/v5+Vk9mjdvfsuckZGRZk9PT8vYu+66y9ywYUPzCy+8YL569arZbDabQ0JCzEuWLLFa74knnjCPHTvWnJuba65evbp56NCh5j179pivXr1qLigoMJvNZvOhQ4fMHh4e5uzsbMt63333nVmS+eLFi0Wy3Pz93Oynn34yZ2Vlma9fv24+ffq0edmyZWZJ5jNnzpjNZrNZknnr1q1F9nX27FnzK6+8Yv7Tn/5ktb2lS5eaw8LCrH7WAADnx0wFAJfh5+en6OhoLV++XNKvhyu1atVK7dq1kyTt3LlTycnJeuaZZ1SrVi3VqlVLx44d05IlS3Tt2jWrbdWuXVs9evTQe++9J0latWqVRo0aVex+3377bV25csXqcezYsdtm/etf/2oZm5mZqZMnT+q1115T1apVJf16CFODBg2s1gkNDVVKSoqqVaumAwcOqLCwUIMHD1b16tX11FNP6fLly0pJSVFBQYGCg4Pl7+8vf39/tW/fXp6enjp9+rTNP9PTp0/r0UcfVZ06dTRo0CDt27dP0q+HZ/021w333HOPpF9ndlJSUvTVV19Zcvj7++vFF1/UTz/9ZHMOAED5RqkA4FImTpyoDz/8UBkZGVq2bJmee+45y9cWL16sMWPG6NixY/r666/19ddfKzExUdevX9fq1auLbGv48OH697//rbi4OPn6+qpVq1YO+z7q16+v77//3mrZ999/r7p16yorK0tpaWlas2aNzp8/ry+++EJffvml5s6dq+DgYFWrVk0ZGRmW0nL+/Hl9/fXXNue/fv26evbsqejoaGVkZOjgwYOaNGlSkXFpaWmW/75RXOrXr6/g4GB17tzZqmz98MMPSkhIsP0HAgAo1ygVAFxKs2bNFB4ersmTJys3N1f9+/eX9Osb8o8//ljPPPOMgoODLY/Q0FBFR0drwYIFRU4g7t69u/Lz8zVx4sRbzlKUldGjR+sf//iHjhw5ooKCAm3cuFHbtm3T8OHDlZOTo+7du2vt2rUym80KDAyUu7u7atWqpfbt26thw4Z64YUXlJOTo6tXr+r555/Xww8/LJPJdMv9/fTTT1aPn3/+Wfn5+crNzZWXl5fc3NyUmpqqqVOnSpLVVbCmT5+utLQ0Xb58WS+88IL69eun2rVra8iQIfriiy+0Zs0amUwm/fzzz+rZs6cmT55c5j8/AIBjUSoAuJwbJ2A/88wzqly5siRpyZIlatGihf74xz8WGT927Fh999132r59u9VyDw8PDR06VKdOndLgwYNvub9x48YVe5+K+fPnl/h7mDx5ssaPH6+oqCj5+flp7ty5WrdunSIjIxUYGKhNmzbplVde0V133aWwsDB17txZzz//vDw8PLRjxw6dO3dOf/jDH1S3bl2dOnVKu3fvthxaVZyQkBCrR6tWreTt7a2VK1dq1qxZ8vX1VadOnfToo48qICBAx48ft6zbrVs3dejQQQ0bNlRAQIDeffddSb9e0Wrnzp1aunSp6tSpo5YtW6pp06ZFrtAFAHB+buabP5oDAAAAABswUwEAAADALpQKAAAAAHahVAAAAACwC6UCAAAAgF0oFQAAAADsQqkAAAAAYBdKBQAAAAC7UCoAAAAA2IVSAQAAAMAulAoAAAAAdqFUAAAAALALpQIAAACAXf4/k0Iiuks6BsEAAAAASUVORK5CYII=" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# First, we'll do our dose-response with modules not grouped:\n", "labels_df = analyze.get_module_labels(config,0,1200,subgroups=[\"sal\",\"k1\",\"k5\",\"k10\"])\n", "display(labels_df)\n", "module_usage = analyze.get_module_usage(config,labels_df)\n", "fig = plot.plot_module_usage(config,\n", " module_usage,\n", " style=\"bar_error\",\n", " figW=8,\n", " figH=4,\n", " cmap=\"viridis_r\")\n", "\n", "# Then we can look at our dose-response data with modules remapped to their manual score overlap\n", "BORIS_to_pose_mat, BORIS_to_pose_mat_normalized, loss = analyze.BORIS_to_pose(config)\n", "labels_df_remap = analyze.make_remappings_from_BORIS(config,labels_df = labels_df, BORIS_to_pose_mat = BORIS_to_pose_mat)\n", "display(labels_df_remap)\n", "\n", "module_usage = analyze.get_module_usage(config,labels_df,modules_altered=True) # you must set modules_altered = True to get the correct behavior if you have altered the modules, i.e. by remapping to manual scoring class\n", "fig = plot.plot_module_usage(config,\n", " module_usage,\n", " style=\"bar_error\",\n", " figW=8,\n", " figH=4,\n", " cmap=\"viridis_r\")\n", "if save:\n", " fig.savefig(save_path+\"demo5-3_boris_remapped_usage.png\",dpi=300)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-09-04T23:48:51.264392Z", "start_time": "2025-09-04T23:48:36.383186Z" } }, "id": "ee92b7a0a6a3171", "execution_count": 30 }, { "cell_type": "code", "outputs": [], "source": [], "metadata": { "collapsed": false }, "id": "f5116d29e5f9790e" } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 5 }