Skip to content

Instantly share code, notes, and snippets.

@papr
Last active August 1, 2019 21:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save papr/fbf1c86e21d6594927c443b4b13949a3 to your computer and use it in GitHub Desktop.
Save papr/fbf1c86e21d6594927c443b4b13949a3 to your computer and use it in GitHub Desktop.
fixations_on_surface_magazine_concord_caption_1487539793.5600355.csv
Maximum difference:
norm_pos_x 4.635625e-12
norm_pos_y 3.622880e-12
x_scaled 4.932872e-10
y_scaled 3.086825e-09
dtype: float64
fixations_on_surface_magazine_concord_image_1487539724.7831304.csv
Maximum difference:
norm_pos_x 4.681810e-13
norm_pos_y 4.121148e-13
x_scaled 4.828280e-10
y_scaled 1.098897e-09
dtype: float64
fixations_on_surface_magazine_face_image_1487539531.1118822.csv
Maximum difference:
norm_pos_x 1.862066e-12
norm_pos_y 3.582967e-13
x_scaled 4.170602e-10
y_scaled 2.877186e-09
dtype: float64
fixations_on_surface_magazine_front_cover_1487539326.8259404.csv
Maximum difference:
norm_pos_x 3.686385e-12
norm_pos_y 4.638068e-12
x_scaled 2.949037e-09
y_scaled 3.506557e-09
dtype: float64
fixations_on_surface_magazine_sailing_spread_1487539907.1165085.csv
Maximum difference:
norm_pos_x 8.084644e-13
norm_pos_y 4.962142e-13
x_scaled 3.944933e-09
y_scaled 9.146106e-10
dtype: float64
fixations_on_surface_magazine_small_image_opposite_face_1487539588.6978364.csv
Maximum difference:
norm_pos_x 4.384937e-12
norm_pos_y 4.754419e-12
x_scaled 4.692538e-09
y_scaled 4.568847e-09
dtype: float64
fixations_on_surface_magazine_spread_1487539431.137657.csv
Maximum difference:
norm_pos_x 4.817258e-13
norm_pos_y 4.247713e-13
x_scaled 4.675258e-09
y_scaled 3.265313e-09
dtype: float64
fixations_on_surface_ms_surface_screen_1487539166.3139591.csv
Maximum difference:
norm_pos_x 4.715672e-13
norm_pos_y 4.711231e-13
x_scaled 4.682761e-10
y_scaled 4.871481e-10
dtype: float64
gaze_positions_on_surface_magazine_concord_caption_1487539793.5600355.csv
Maximum difference:
x_norm 4.919842e-12
y_norm 4.936940e-12
x_scaled 4.995115e-10
y_scaled 4.981985e-09
dtype: float64
gaze_positions_on_surface_magazine_concord_image_1487539724.7831304.csv
Maximum difference:
x_norm 4.984901e-13
y_norm 4.997114e-13
x_scaled 4.998810e-10
y_scaled 4.977437e-09
dtype: float64
gaze_positions_on_surface_magazine_face_image_1487539531.1118822.csv
Maximum difference:
x_norm 4.000800e-12
y_norm 4.997947e-13
x_scaled 4.991421e-10
y_scaled 4.984940e-09
dtype: float64
gaze_positions_on_surface_magazine_front_cover_1487539326.8259404.csv
Maximum difference:
x_norm 3.045120e-12
y_norm 4.995782e-12
x_scaled 1.564331e-09
y_scaled 4.997901e-09
dtype: float64
gaze_positions_on_surface_magazine_sailing_spread_1487539907.1165085.csv
Maximum difference:
x_norm 3.926193e-12
y_norm 4.994893e-13
x_scaled 4.958565e-09
y_scaled 4.897629e-09
dtype: float64
gaze_positions_on_surface_magazine_small_image_opposite_face_1487539588.6978364.csv
Maximum difference:
x_norm 4.976908e-12
y_norm 4.979128e-12
x_scaled 4.985623e-09
y_scaled 4.857611e-09
dtype: float64
gaze_positions_on_surface_magazine_spread_1487539431.137657.csv
Maximum difference:
x_norm 4.992673e-13
y_norm 4.991563e-13
x_scaled 4.975618e-09
y_scaled 4.990738e-09
dtype: float64
gaze_positions_on_surface_ms_surface_screen_1487539166.3139591.csv
Maximum difference:
x_norm 4.999889e-13
y_norm 4.885869e-12
x_scaled 4.164121e-09
y_scaled 4.201866e-09
dtype: float64
srf_positons_magazine_concord_caption_1487539793.5600355.csv
Not comparible columns: ['m_to_screen', 'm_from_screen']
srf_positons_magazine_concord_image_1487539724.7831304.csv
Not comparible columns: ['m_to_screen', 'm_from_screen']
srf_positons_magazine_face_image_1487539531.1118822.csv
Not comparible columns: ['m_to_screen', 'm_from_screen']
srf_positons_magazine_front_cover_1487539326.8259404.csv
Not comparible columns: ['m_to_screen', 'm_from_screen']
srf_positons_magazine_sailing_spread_1487539907.1165085.csv
Not comparible columns: ['m_to_screen', 'm_from_screen']
srf_positons_magazine_small_image_opposite_face_1487539588.6978364.csv
Not comparible columns: ['m_to_screen', 'm_from_screen']
srf_positons_magazine_spread_1487539431.137657.csv
Not comparible columns: ['m_to_screen', 'm_from_screen']
srf_positons_ms_surface_screen_1487539166.3139591.csv
Not comparible columns: ['m_to_screen', 'm_from_screen']
surface_events.csv
All equal!
surface_gaze_distribution.csv
All equal!
surface_visibility.csv
All equal!
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [],
"source": [
"import re\n",
"import pathlib as pl\n",
"from collections import defaultdict\n",
"\n",
"import numpy as np\n",
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [],
"source": [
"all_recordings = [\"surfaces-other/\", \"surfaces-papr\"]\n",
"all_recordings = [pl.Path(rec) for rec in all_recordings]\n",
"assert len(all_recordings) == 2, \"Can only compare two recordings at a time\""
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [],
"source": [
"def files_to_check(rec):\n",
" yield from rec.glob(\"*.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [],
"source": [
"data_by_name = defaultdict(list)\n",
"for rec in all_recordings:\n",
" for f in sorted(files_to_check(rec)):\n",
" data_by_name[f.name].append(pd.read_csv(f))"
]
},
{
"cell_type": "code",
"execution_count": 189,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"fixations_on_surface_magazine_concord_caption_1487539793.5600355.csv\n",
"Maximum difference:\n",
"norm_pos_x 4.635625e-12\n",
"norm_pos_y 3.622880e-12\n",
"x_scaled 4.932872e-10\n",
"y_scaled 3.086825e-09\n",
"dtype: float64\n",
"\n",
"fixations_on_surface_magazine_concord_image_1487539724.7831304.csv\n",
"Maximum difference:\n",
"norm_pos_x 4.681810e-13\n",
"norm_pos_y 4.121148e-13\n",
"x_scaled 4.828280e-10\n",
"y_scaled 1.098897e-09\n",
"dtype: float64\n",
"\n",
"fixations_on_surface_magazine_face_image_1487539531.1118822.csv\n",
"Maximum difference:\n",
"norm_pos_x 1.862066e-12\n",
"norm_pos_y 3.582967e-13\n",
"x_scaled 4.170602e-10\n",
"y_scaled 2.877186e-09\n",
"dtype: float64\n",
"\n",
"fixations_on_surface_magazine_front_cover_1487539326.8259404.csv\n",
"Maximum difference:\n",
"norm_pos_x 3.686385e-12\n",
"norm_pos_y 4.638068e-12\n",
"x_scaled 2.949037e-09\n",
"y_scaled 3.506557e-09\n",
"dtype: float64\n",
"\n",
"fixations_on_surface_magazine_sailing_spread_1487539907.1165085.csv\n",
"Maximum difference:\n",
"norm_pos_x 8.084644e-13\n",
"norm_pos_y 4.962142e-13\n",
"x_scaled 3.944933e-09\n",
"y_scaled 9.146106e-10\n",
"dtype: float64\n",
"\n",
"fixations_on_surface_magazine_small_image_opposite_face_1487539588.6978364.csv\n",
"Maximum difference:\n",
"norm_pos_x 4.384937e-12\n",
"norm_pos_y 4.754419e-12\n",
"x_scaled 4.692538e-09\n",
"y_scaled 4.568847e-09\n",
"dtype: float64\n",
"\n",
"fixations_on_surface_magazine_spread_1487539431.137657.csv\n",
"Maximum difference:\n",
"norm_pos_x 4.817258e-13\n",
"norm_pos_y 4.247713e-13\n",
"x_scaled 4.675258e-09\n",
"y_scaled 3.265313e-09\n",
"dtype: float64\n",
"\n",
"fixations_on_surface_ms_surface_screen_1487539166.3139591.csv\n",
"Maximum difference:\n",
"norm_pos_x 4.715672e-13\n",
"norm_pos_y 4.711231e-13\n",
"x_scaled 4.682761e-10\n",
"y_scaled 4.871481e-10\n",
"dtype: float64\n",
"\n",
"gaze_positions_on_surface_magazine_concord_caption_1487539793.5600355.csv\n",
"Maximum difference:\n",
"x_norm 4.919842e-12\n",
"y_norm 4.936940e-12\n",
"x_scaled 4.995115e-10\n",
"y_scaled 4.981985e-09\n",
"dtype: float64\n",
"\n",
"gaze_positions_on_surface_magazine_concord_image_1487539724.7831304.csv\n",
"Maximum difference:\n",
"x_norm 4.984901e-13\n",
"y_norm 4.997114e-13\n",
"x_scaled 4.998810e-10\n",
"y_scaled 4.977437e-09\n",
"dtype: float64\n",
"\n",
"gaze_positions_on_surface_magazine_face_image_1487539531.1118822.csv\n",
"Maximum difference:\n",
"x_norm 4.000800e-12\n",
"y_norm 4.997947e-13\n",
"x_scaled 4.991421e-10\n",
"y_scaled 4.984940e-09\n",
"dtype: float64\n",
"\n",
"gaze_positions_on_surface_magazine_front_cover_1487539326.8259404.csv\n",
"Maximum difference:\n",
"x_norm 3.045120e-12\n",
"y_norm 4.995782e-12\n",
"x_scaled 1.564331e-09\n",
"y_scaled 4.997901e-09\n",
"dtype: float64\n",
"\n",
"gaze_positions_on_surface_magazine_sailing_spread_1487539907.1165085.csv\n",
"Maximum difference:\n",
"x_norm 3.926193e-12\n",
"y_norm 4.994893e-13\n",
"x_scaled 4.958565e-09\n",
"y_scaled 4.897629e-09\n",
"dtype: float64\n",
"\n",
"gaze_positions_on_surface_magazine_small_image_opposite_face_1487539588.6978364.csv\n",
"Maximum difference:\n",
"x_norm 4.976908e-12\n",
"y_norm 4.979128e-12\n",
"x_scaled 4.985623e-09\n",
"y_scaled 4.857611e-09\n",
"dtype: float64\n",
"\n",
"gaze_positions_on_surface_magazine_spread_1487539431.137657.csv\n",
"Maximum difference:\n",
"x_norm 4.992673e-13\n",
"y_norm 4.991563e-13\n",
"x_scaled 4.975618e-09\n",
"y_scaled 4.990738e-09\n",
"dtype: float64\n",
"\n",
"gaze_positions_on_surface_ms_surface_screen_1487539166.3139591.csv\n",
"Maximum difference:\n",
"x_norm 4.999889e-13\n",
"y_norm 4.885869e-12\n",
"x_scaled 4.164121e-09\n",
"y_scaled 4.201866e-09\n",
"dtype: float64\n",
"\n",
"srf_positons_magazine_concord_caption_1487539793.5600355.csv\n",
"Not comparible columns: ['m_to_screen', 'm_from_screen']\n",
"\n",
"srf_positons_magazine_concord_image_1487539724.7831304.csv\n",
"Not comparible columns: ['m_to_screen', 'm_from_screen']\n",
"\n",
"srf_positons_magazine_face_image_1487539531.1118822.csv\n",
"Not comparible columns: ['m_to_screen', 'm_from_screen']\n",
"\n",
"srf_positons_magazine_front_cover_1487539326.8259404.csv\n",
"Not comparible columns: ['m_to_screen', 'm_from_screen']\n",
"\n",
"srf_positons_magazine_sailing_spread_1487539907.1165085.csv\n",
"Not comparible columns: ['m_to_screen', 'm_from_screen']\n",
"\n",
"srf_positons_magazine_small_image_opposite_face_1487539588.6978364.csv\n",
"Not comparible columns: ['m_to_screen', 'm_from_screen']\n",
"\n",
"srf_positons_magazine_spread_1487539431.137657.csv\n",
"Not comparible columns: ['m_to_screen', 'm_from_screen']\n",
"\n",
"srf_positons_ms_surface_screen_1487539166.3139591.csv\n",
"Not comparible columns: ['m_to_screen', 'm_from_screen']\n",
"\n",
"surface_events.csv\n",
"All equal!\n",
"\n",
"surface_gaze_distribution.csv\n",
"All equal!\n",
"\n",
"surface_visibility.csv\n",
"All equal!\n"
]
}
],
"source": [
"for name, (surface_a, surface_b) in data_by_name.items():\n",
" print()\n",
" print(name)\n",
"\n",
" if not (surface_a.columns == surface_b.columns).all():\n",
" print(\"Columns are different\")\n",
" continue\n",
"\n",
" if surface_a.shape != surface_b.shape:\n",
" print(f\"Shapes are different: {surface_a.shape} vs {surface_b.shape}\")\n",
" continue\n",
"\n",
" all_equal = (surface_a == surface_b).all()\n",
" if all_equal.all():\n",
" print(\"All equal!\")\n",
" continue\n",
"\n",
" non_matching_cols = all_equal[all_equal == False].index\n",
" try:\n",
" max_diff = (\n",
" (surface_a[non_matching_cols] - surface_b[non_matching_cols]).abs().max()\n",
" )\n",
" except TypeError:\n",
" print(f\"Not comparible columns: {non_matching_cols.to_list()}\")\n",
" continue\n",
"\n",
" print(\"Maximum difference:\")\n",
" print(max_diff)"
]
}
],
"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.7.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment