Skip to content

Commit

Permalink
Data and notebooks to print skeletons added
Browse files Browse the repository at this point in the history
  • Loading branch information
VGonPa committed Mar 15, 2014
1 parent edc9c7d commit 6a7bb0b
Show file tree
Hide file tree
Showing 180 changed files with 59,420 additions and 0 deletions.
349 changes: 349 additions & 0 deletions data-torso-relative/exp01-user01.arff

Large diffs are not rendered by default.

290 changes: 290 additions & 0 deletions data-torso-relative/exp01-user02.arff

Large diffs are not rendered by default.

272 changes: 272 additions & 0 deletions data-torso-relative/exp01-user03.arff

Large diffs are not rendered by default.

321 changes: 321 additions & 0 deletions data-torso-relative/exp01-user04.arff

Large diffs are not rendered by default.

272 changes: 272 additions & 0 deletions data-torso-relative/exp01-user05.arff

Large diffs are not rendered by default.

324 changes: 324 additions & 0 deletions data-torso-relative/exp01-user06.arff

Large diffs are not rendered by default.

476 changes: 476 additions & 0 deletions data-torso-relative/exp01-user07.arff

Large diffs are not rendered by default.

368 changes: 368 additions & 0 deletions data-torso-relative/exp01-user08.arff

Large diffs are not rendered by default.

402 changes: 402 additions & 0 deletions data-torso-relative/exp01-user09.arff

Large diffs are not rendered by default.

460 changes: 460 additions & 0 deletions data-torso-relative/exp01-user10.arff

Large diffs are not rendered by default.

340 changes: 340 additions & 0 deletions data-torso-relative/exp01-user11.arff

Large diffs are not rendered by default.

312 changes: 312 additions & 0 deletions data-torso-relative/exp01-user12.arff

Large diffs are not rendered by default.

319 changes: 319 additions & 0 deletions data-torso-relative/exp01-user13.arff

Large diffs are not rendered by default.

271 changes: 271 additions & 0 deletions data-torso-relative/exp01-user14.arff

Large diffs are not rendered by default.

250 changes: 250 additions & 0 deletions data-torso-relative/exp01-user15.arff

Large diffs are not rendered by default.

369 changes: 369 additions & 0 deletions data-torso-relative/exp01-user16.arff

Large diffs are not rendered by default.

278 changes: 278 additions & 0 deletions data-torso-relative/exp01-user17.arff

Large diffs are not rendered by default.

278 changes: 278 additions & 0 deletions data-torso-relative/exp01-user18.arff

Large diffs are not rendered by default.

268 changes: 268 additions & 0 deletions data-torso-relative/exp01-user19.arff

Large diffs are not rendered by default.

351 changes: 351 additions & 0 deletions data-torso-relative/exp01-user20.arff

Large diffs are not rendered by default.

295 changes: 295 additions & 0 deletions data-torso-relative/exp01-user21.arff

Large diffs are not rendered by default.

287 changes: 287 additions & 0 deletions data-torso-relative/exp01-user22.arff

Large diffs are not rendered by default.

245 changes: 245 additions & 0 deletions data-torso-relative/exp01-user23.arff

Large diffs are not rendered by default.

264 changes: 264 additions & 0 deletions data-torso-relative/exp01-user24.arff

Large diffs are not rendered by default.

271 changes: 271 additions & 0 deletions data-torso-relative/exp01-user25.arff

Large diffs are not rendered by default.

304 changes: 304 additions & 0 deletions data-torso-relative/exp01-user26.arff

Large diffs are not rendered by default.

314 changes: 314 additions & 0 deletions data-torso-relative/exp01-user27.arff

Large diffs are not rendered by default.

410 changes: 410 additions & 0 deletions data-torso-relative/exp01-user28.arff

Large diffs are not rendered by default.

365 changes: 365 additions & 0 deletions data-torso-relative/exp01-user29.arff

Large diffs are not rendered by default.

284 changes: 284 additions & 0 deletions data-torso-relative/exp01-user30.arff

Large diffs are not rendered by default.

340 changes: 340 additions & 0 deletions data-torso-relative/exp02-user01.arff

Large diffs are not rendered by default.

266 changes: 266 additions & 0 deletions data-torso-relative/exp02-user02.arff

Large diffs are not rendered by default.

270 changes: 270 additions & 0 deletions data-torso-relative/exp02-user03.arff

Large diffs are not rendered by default.

300 changes: 300 additions & 0 deletions data-torso-relative/exp02-user04.arff

Large diffs are not rendered by default.

259 changes: 259 additions & 0 deletions data-torso-relative/exp02-user05.arff

Large diffs are not rendered by default.

284 changes: 284 additions & 0 deletions data-torso-relative/exp02-user06.arff

Large diffs are not rendered by default.

413 changes: 413 additions & 0 deletions data-torso-relative/exp02-user07.arff

Large diffs are not rendered by default.

285 changes: 285 additions & 0 deletions data-torso-relative/exp02-user08.arff

Large diffs are not rendered by default.

277 changes: 277 additions & 0 deletions data-torso-relative/exp02-user09.arff

Large diffs are not rendered by default.

515 changes: 515 additions & 0 deletions data-torso-relative/exp02-user11.arff

Large diffs are not rendered by default.

299 changes: 299 additions & 0 deletions data-torso-relative/exp02-user12.arff

Large diffs are not rendered by default.

298 changes: 298 additions & 0 deletions data-torso-relative/exp02-user13.arff

Large diffs are not rendered by default.

263 changes: 263 additions & 0 deletions data-torso-relative/exp02-user14.arff

Large diffs are not rendered by default.

271 changes: 271 additions & 0 deletions data-torso-relative/exp02-user15.arff

Large diffs are not rendered by default.

314 changes: 314 additions & 0 deletions data-torso-relative/exp02-user16.arff

Large diffs are not rendered by default.

254 changes: 254 additions & 0 deletions data-torso-relative/exp02-user17.arff

Large diffs are not rendered by default.

263 changes: 263 additions & 0 deletions data-torso-relative/exp02-user18.arff

Large diffs are not rendered by default.

295 changes: 295 additions & 0 deletions data-torso-relative/exp02-user19.arff

Large diffs are not rendered by default.

294 changes: 294 additions & 0 deletions data-torso-relative/exp02-user20.arff

Large diffs are not rendered by default.

301 changes: 301 additions & 0 deletions data-torso-relative/exp02-user21.arff

Large diffs are not rendered by default.

300 changes: 300 additions & 0 deletions data-torso-relative/exp02-user22.arff

Large diffs are not rendered by default.

293 changes: 293 additions & 0 deletions data-torso-relative/exp02-user23.arff

Large diffs are not rendered by default.

274 changes: 274 additions & 0 deletions data-torso-relative/exp02-user24.arff

Large diffs are not rendered by default.

248 changes: 248 additions & 0 deletions data-torso-relative/exp02-user25.arff

Large diffs are not rendered by default.

304 changes: 304 additions & 0 deletions data-torso-relative/exp02-user26.arff

Large diffs are not rendered by default.

271 changes: 271 additions & 0 deletions data-torso-relative/exp02-user27.arff

Large diffs are not rendered by default.

280 changes: 280 additions & 0 deletions data-torso-relative/exp02-user28.arff

Large diffs are not rendered by default.

300 changes: 300 additions & 0 deletions data-torso-relative/exp02-user29.arff

Large diffs are not rendered by default.

245 changes: 245 additions & 0 deletions data-torso-relative/exp02-user30.arff

Large diffs are not rendered by default.

305 changes: 305 additions & 0 deletions data-torso-relative/exp03-user01.arff

Large diffs are not rendered by default.

258 changes: 258 additions & 0 deletions data-torso-relative/exp03-user02.arff

Large diffs are not rendered by default.

264 changes: 264 additions & 0 deletions data-torso-relative/exp03-user03.arff

Large diffs are not rendered by default.

279 changes: 279 additions & 0 deletions data-torso-relative/exp03-user04.arff

Large diffs are not rendered by default.

282 changes: 282 additions & 0 deletions data-torso-relative/exp03-user05.arff

Large diffs are not rendered by default.

486 changes: 486 additions & 0 deletions data-torso-relative/exp03-user06.arff

Large diffs are not rendered by default.

939 changes: 939 additions & 0 deletions data-torso-relative/exp03-user07.arff

Large diffs are not rendered by default.

290 changes: 290 additions & 0 deletions data-torso-relative/exp03-user08.arff

Large diffs are not rendered by default.

323 changes: 323 additions & 0 deletions data-torso-relative/exp03-user09.arff

Large diffs are not rendered by default.

355 changes: 355 additions & 0 deletions data-torso-relative/exp03-user10.arff

Large diffs are not rendered by default.

980 changes: 980 additions & 0 deletions data-torso-relative/exp03-user11.arff

Large diffs are not rendered by default.

283 changes: 283 additions & 0 deletions data-torso-relative/exp03-user13.arff

Large diffs are not rendered by default.

314 changes: 314 additions & 0 deletions data-torso-relative/exp03-user14.arff

Large diffs are not rendered by default.

253 changes: 253 additions & 0 deletions data-torso-relative/exp03-user15.arff

Large diffs are not rendered by default.

250 changes: 250 additions & 0 deletions data-torso-relative/exp03-user16.arff

Large diffs are not rendered by default.

268 changes: 268 additions & 0 deletions data-torso-relative/exp03-user17.arff

Large diffs are not rendered by default.

257 changes: 257 additions & 0 deletions data-torso-relative/exp03-user18.arff

Large diffs are not rendered by default.

317 changes: 317 additions & 0 deletions data-torso-relative/exp03-user19.arff

Large diffs are not rendered by default.

264 changes: 264 additions & 0 deletions data-torso-relative/exp03-user20.arff

Large diffs are not rendered by default.

369 changes: 369 additions & 0 deletions data-torso-relative/exp03-user21.arff

Large diffs are not rendered by default.

262 changes: 262 additions & 0 deletions data-torso-relative/exp03-user22.arff

Large diffs are not rendered by default.

316 changes: 316 additions & 0 deletions data-torso-relative/exp03-user23.arff

Large diffs are not rendered by default.

247 changes: 247 additions & 0 deletions data-torso-relative/exp03-user24.arff

Large diffs are not rendered by default.

330 changes: 330 additions & 0 deletions data-torso-relative/exp03-user25.arff

Large diffs are not rendered by default.

277 changes: 277 additions & 0 deletions data-torso-relative/exp03-user26.arff

Large diffs are not rendered by default.

279 changes: 279 additions & 0 deletions data-torso-relative/exp03-user27.arff

Large diffs are not rendered by default.

289 changes: 289 additions & 0 deletions data-torso-relative/exp03-user28.arff

Large diffs are not rendered by default.

460 changes: 460 additions & 0 deletions data-torso-relative/exp03-user29.arff

Large diffs are not rendered by default.

356 changes: 356 additions & 0 deletions data-torso-relative/exp03-user30.arff

Large diffs are not rendered by default.

349 changes: 349 additions & 0 deletions data/exp01-user01.arff

Large diffs are not rendered by default.

291 changes: 291 additions & 0 deletions data/exp01-user02.arff

Large diffs are not rendered by default.

273 changes: 273 additions & 0 deletions data/exp01-user03.arff

Large diffs are not rendered by default.

322 changes: 322 additions & 0 deletions data/exp01-user04.arff

Large diffs are not rendered by default.

273 changes: 273 additions & 0 deletions data/exp01-user05.arff

Large diffs are not rendered by default.

339 changes: 339 additions & 0 deletions data/exp01-user06.arff

Large diffs are not rendered by default.

476 changes: 476 additions & 0 deletions data/exp01-user07.arff

Large diffs are not rendered by default.

368 changes: 368 additions & 0 deletions data/exp01-user08.arff

Large diffs are not rendered by default.

404 changes: 404 additions & 0 deletions data/exp01-user09.arff

Large diffs are not rendered by default.

461 changes: 461 additions & 0 deletions data/exp01-user10.arff

Large diffs are not rendered by default.

341 changes: 341 additions & 0 deletions data/exp01-user11.arff

Large diffs are not rendered by default.

312 changes: 312 additions & 0 deletions data/exp01-user12.arff

Large diffs are not rendered by default.

320 changes: 320 additions & 0 deletions data/exp01-user13.arff

Large diffs are not rendered by default.

275 changes: 275 additions & 0 deletions data/exp01-user14.arff

Large diffs are not rendered by default.

251 changes: 251 additions & 0 deletions data/exp01-user15.arff

Large diffs are not rendered by default.

370 changes: 370 additions & 0 deletions data/exp01-user16.arff

Large diffs are not rendered by default.

279 changes: 279 additions & 0 deletions data/exp01-user17.arff

Large diffs are not rendered by default.

280 changes: 280 additions & 0 deletions data/exp01-user18.arff

Large diffs are not rendered by default.

269 changes: 269 additions & 0 deletions data/exp01-user19.arff

Large diffs are not rendered by default.

352 changes: 352 additions & 0 deletions data/exp01-user20.arff

Large diffs are not rendered by default.

297 changes: 297 additions & 0 deletions data/exp01-user21.arff

Large diffs are not rendered by default.

287 changes: 287 additions & 0 deletions data/exp01-user22.arff

Large diffs are not rendered by default.

247 changes: 247 additions & 0 deletions data/exp01-user23.arff

Large diffs are not rendered by default.

266 changes: 266 additions & 0 deletions data/exp01-user24.arff

Large diffs are not rendered by default.

272 changes: 272 additions & 0 deletions data/exp01-user25.arff

Large diffs are not rendered by default.

304 changes: 304 additions & 0 deletions data/exp01-user26.arff

Large diffs are not rendered by default.

315 changes: 315 additions & 0 deletions data/exp01-user27.arff

Large diffs are not rendered by default.

411 changes: 411 additions & 0 deletions data/exp01-user28.arff

Large diffs are not rendered by default.

366 changes: 366 additions & 0 deletions data/exp01-user29.arff

Large diffs are not rendered by default.

286 changes: 286 additions & 0 deletions data/exp01-user30.arff

Large diffs are not rendered by default.

341 changes: 341 additions & 0 deletions data/exp02-user01.arff

Large diffs are not rendered by default.

267 changes: 267 additions & 0 deletions data/exp02-user02.arff

Large diffs are not rendered by default.

271 changes: 271 additions & 0 deletions data/exp02-user03.arff

Large diffs are not rendered by default.

301 changes: 301 additions & 0 deletions data/exp02-user04.arff

Large diffs are not rendered by default.

260 changes: 260 additions & 0 deletions data/exp02-user05.arff

Large diffs are not rendered by default.

298 changes: 298 additions & 0 deletions data/exp02-user06.arff

Large diffs are not rendered by default.

453 changes: 453 additions & 0 deletions data/exp02-user07.arff

Large diffs are not rendered by default.

308 changes: 308 additions & 0 deletions data/exp02-user08.arff

Large diffs are not rendered by default.

317 changes: 317 additions & 0 deletions data/exp02-user09.arff

Large diffs are not rendered by default.

352 changes: 352 additions & 0 deletions data/exp02-user10.arff

Large diffs are not rendered by default.

516 changes: 516 additions & 0 deletions data/exp02-user11.arff

Large diffs are not rendered by default.

299 changes: 299 additions & 0 deletions data/exp02-user12.arff

Large diffs are not rendered by default.

299 changes: 299 additions & 0 deletions data/exp02-user13.arff

Large diffs are not rendered by default.

264 changes: 264 additions & 0 deletions data/exp02-user14.arff

Large diffs are not rendered by default.

272 changes: 272 additions & 0 deletions data/exp02-user15.arff

Large diffs are not rendered by default.

315 changes: 315 additions & 0 deletions data/exp02-user16.arff

Large diffs are not rendered by default.

255 changes: 255 additions & 0 deletions data/exp02-user17.arff

Large diffs are not rendered by default.

264 changes: 264 additions & 0 deletions data/exp02-user18.arff

Large diffs are not rendered by default.

296 changes: 296 additions & 0 deletions data/exp02-user19.arff

Large diffs are not rendered by default.

293 changes: 293 additions & 0 deletions data/exp02-user20.arff

Large diffs are not rendered by default.

302 changes: 302 additions & 0 deletions data/exp02-user21.arff

Large diffs are not rendered by default.

301 changes: 301 additions & 0 deletions data/exp02-user22.arff

Large diffs are not rendered by default.

294 changes: 294 additions & 0 deletions data/exp02-user23.arff

Large diffs are not rendered by default.

269 changes: 269 additions & 0 deletions data/exp02-user24.arff

Large diffs are not rendered by default.

249 changes: 249 additions & 0 deletions data/exp02-user25.arff

Large diffs are not rendered by default.

303 changes: 303 additions & 0 deletions data/exp02-user26.arff

Large diffs are not rendered by default.

272 changes: 272 additions & 0 deletions data/exp02-user27.arff

Large diffs are not rendered by default.

281 changes: 281 additions & 0 deletions data/exp02-user28.arff

Large diffs are not rendered by default.

303 changes: 303 additions & 0 deletions data/exp02-user29.arff

Large diffs are not rendered by default.

246 changes: 246 additions & 0 deletions data/exp02-user30.arff

Large diffs are not rendered by default.

306 changes: 306 additions & 0 deletions data/exp03-user01.arff

Large diffs are not rendered by default.

259 changes: 259 additions & 0 deletions data/exp03-user02.arff

Large diffs are not rendered by default.

265 changes: 265 additions & 0 deletions data/exp03-user03.arff

Large diffs are not rendered by default.

280 changes: 280 additions & 0 deletions data/exp03-user04.arff

Large diffs are not rendered by default.

284 changes: 284 additions & 0 deletions data/exp03-user05.arff

Large diffs are not rendered by default.

489 changes: 489 additions & 0 deletions data/exp03-user06.arff

Large diffs are not rendered by default.

940 changes: 940 additions & 0 deletions data/exp03-user07.arff

Large diffs are not rendered by default.

287 changes: 287 additions & 0 deletions data/exp03-user08.arff

Large diffs are not rendered by default.

324 changes: 324 additions & 0 deletions data/exp03-user09.arff

Large diffs are not rendered by default.

355 changes: 355 additions & 0 deletions data/exp03-user10.arff

Large diffs are not rendered by default.

1,002 changes: 1,002 additions & 0 deletions data/exp03-user11.arff

Large diffs are not rendered by default.

282 changes: 282 additions & 0 deletions data/exp03-user12.arff

Large diffs are not rendered by default.

284 changes: 284 additions & 0 deletions data/exp03-user13.arff

Large diffs are not rendered by default.

314 changes: 314 additions & 0 deletions data/exp03-user14.arff

Large diffs are not rendered by default.

254 changes: 254 additions & 0 deletions data/exp03-user15.arff

Large diffs are not rendered by default.

251 changes: 251 additions & 0 deletions data/exp03-user16.arff

Large diffs are not rendered by default.

268 changes: 268 additions & 0 deletions data/exp03-user17.arff

Large diffs are not rendered by default.

258 changes: 258 additions & 0 deletions data/exp03-user18.arff

Large diffs are not rendered by default.

318 changes: 318 additions & 0 deletions data/exp03-user19.arff

Large diffs are not rendered by default.

265 changes: 265 additions & 0 deletions data/exp03-user20.arff

Large diffs are not rendered by default.

370 changes: 370 additions & 0 deletions data/exp03-user21.arff

Large diffs are not rendered by default.

264 changes: 264 additions & 0 deletions data/exp03-user22.arff

Large diffs are not rendered by default.

317 changes: 317 additions & 0 deletions data/exp03-user23.arff

Large diffs are not rendered by default.

248 changes: 248 additions & 0 deletions data/exp03-user24.arff

Large diffs are not rendered by default.

331 changes: 331 additions & 0 deletions data/exp03-user25.arff

Large diffs are not rendered by default.

278 changes: 278 additions & 0 deletions data/exp03-user26.arff

Large diffs are not rendered by default.

281 changes: 281 additions & 0 deletions data/exp03-user27.arff

Large diffs are not rendered by default.

291 changes: 291 additions & 0 deletions data/exp03-user28.arff

Large diffs are not rendered by default.

460 changes: 460 additions & 0 deletions data/exp03-user29.arff

Large diffs are not rendered by default.

358 changes: 358 additions & 0 deletions data/exp03-user30.arff

Large diffs are not rendered by default.

1,736 changes: 1,736 additions & 0 deletions notebooks/Plotting Skeletons-Normalized.ipynb

Large diffs are not rendered by default.

147 changes: 147 additions & 0 deletions notebooks/user_data_loader.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
import numpy as np
import pandas as pd
import arff as arff # Downloaded from: http://code.google.com/p/arff/
# import matplotlib.pyplot as plt
import itertools as it
import toolz as tlz
from functools import partial

# tuple with the names of each attribute
# The last one ('pose') defines the class
# index = ('h_seqNum', 'h_stamp', 'user_id',
# 'head_confidence', 'head_pos_x', 'head_pos_y', 'head_pos_z',
# 'head_orient_x', 'head_orient_y', 'head_orient_z', 'head_orient_w',
# 'neck_confidence', 'neck_pos_x', 'neck_pos_y', 'neck_pos_z',
# 'neck_orient_x', 'neck_orient_y', 'neck_orient_z', 'neck_orient_w',
# 'torso_confidence', 'torso_pos_x', 'torso_pos_y', 'torso_pos_z',
# 'torso_orient_x', 'torso_orient_y', 'torso_orient_z', 'torso_orient_w',
# 'left_shoulder_confidence', 'left_shoulder_pos_x', 'left_shoulder_pos_y', 'left_shoulder_pos_z',
# 'left_shoulder_orient_x', 'left_shoulder_orient_y', 'left_shoulder_orient_z', 'left_shoulder_orient_w',
# 'left_elbow_confidence', 'left_elbow_pos_x', 'left_elbow_pos_y', 'left_elbow_pos_z',
# 'left_elbow_orient_x', 'left_elbow_orient_y', 'left_elbow_orient_z', 'left_elbow_orient_w',
# 'left_hand_confidence', 'left_hand_pos_x', 'left_hand_pos_y', 'left_hand_pos_z',
# 'left_hand_orient_x', 'left_hand_orient_y', 'left_hand_orient_z', 'left_hand_orient_w',
# 'right_shoulder_confidence', 'right_shoulder_pos_x', 'right_shoulder_pos_y', 'right_shoulder_pos_z',
# 'right_shoulder_orient_x', 'right_shoulder_orient_y', 'right_shoulder_orient_z', 'right_shoulder_orient_w',
# 'right_elbow_confidence', 'right_elbow_pos_x', 'right_elbow_pos_y', 'right_elbow_pos_z',
# 'right_elbow_orient_x', 'right_elbow_orient_y', 'right_elbow_orient_z', 'right_elbow_orient_w',
# 'right_hand_confidence', 'right_hand_pos_x', 'right_hand_pos_y', 'right_hand_pos_z',
# 'right_hand_orient_x', 'right_hand_orient_y', 'right_hand_orient_z', 'right_hand_orient_w',
# 'left_hip_confidence', 'left_hip_pos_x', 'left_hip_pos_y', 'left_hip_pos_z',
# 'left_hip_orient_x', 'left_hip_orient_y', 'left_hip_orient_z', 'left_hip_orient_w',
# 'left_knee_confidence', 'left_knee_pos_x', 'left_knee_pos_y', 'left_knee_pos_z',
# 'left_knee_orient_x', 'left_knee_orient_y', 'left_knee_orient_z', 'left_knee_orient_w',
# 'left_foot_confidence', 'left_foot_pos_x', 'left_foot_pos_y', 'left_foot_pos_z',
# 'left_foot_orient_x', 'left_foot_orient_y', 'left_foot_orient_z', 'left_foot_orient_w',
# 'right_hip_confidence', 'right_hip_pos_x', 'right_hip_pos_y', 'right_hip_pos_z',
# 'right_hip_orient_x', 'right_hip_orient_y', 'right_hip_orient_z', 'right_hip_orient_w',
# 'right_knee_confidence', 'right_knee_pos_x', 'right_knee_pos_y', 'right_knee_pos_z',
# 'right_knee_orient_x', 'right_knee_orient_y', 'right_knee_orient_z', 'right_knee_orient_w',
# 'right_foot_confidence', 'right_foot_pos_x', 'right_foot_pos_y', 'right_foot_pos_z',
# 'right_foot_orient_x', 'right_foot_orient_y', 'right_foot_orient_z', 'right_foot_orient_w',
# 'pose')

users = ['user' + str(i+1).zfill(2) for i in np.arange(30)]
users.pop(users.index('user12')) # There is no 'user12' data, so we remove it

header = tuple(['h_seqNum', 'h_stamp', 'user_id'])
joints = tuple(['head', 'neck', 'torso',
'left_shoulder', 'left_elbow', 'left_hand',
'right_shoulder', 'right_elbow', 'right_hand',
'left_hip', 'left_knee', 'left_foot',
'right_hip', 'right_knee', 'right_foot'])
attribs = tuple(['confidence', 'pos_x','pos_y','pos_z',
'orient_x','orient_y','orient_z','orient_w'])

index = list(it.chain(header,
it.imap('_'.join, it.product(joints, attribs)),
['pose',]))

positions = [i for i in index if '_pos_' in i]
orientations = [i for i in index if '_orient_' in i]
confidences = [i for i in index if '_confidence' in i]
pose = index[-1]

ind_pos_x = [i for i in index if '_pos_x' in i]
ind_pos_y = [i for i in index if '_pos_y' in i]
ind_pos_z = [i for i in index if '_pos_z' in i]

def make_multiindex(joints, attribs):
'''Returns all attribs in two iterables.
1st iterable is the 1st level of the index.
2nd iterable is the 2nd level of the index.'''
all_columns = it.izip(*it.product(joints, attribs))
first_level = it.chain(['header']*len(header),all_columns.next(), ['pose',])
second_level = it.chain(header, all_columns.next(), ['pose',])
return first_level, second_level


def normalize_joints(df, from_joint):
''' Returns a normalized DataFrame. '''
# df_orig = df[from_joint].copy()
# df_orig.columns = pd.MultiIndex.from_arrays([[from_joint+'_orig', ]*len(attribs), attribs])
return df[from_joint].copy(), df.drop(['header', 'pose', from_joint], axis=1, level='joint').sub(df[from_joint], level=1)

def load_user_file(file_):
''' Loads an ARFF file from an experiment and returns a DataFrame associated to it '''
data = arff.load(file_)
# Converting it to a Numpy array
data = np.array([list(d) for d in data])
# Converting the array to a pandas dataFrame
df = pd.DataFrame(data, columns=index)
# Setting dtype to float for the numeric columns
numeric_cols = list(index[3:-1])
df[numeric_cols] = df[numeric_cols].astype(float)
return df

# Function to clean the index removing the leading 'STAND_' substring
stand_cleaner = lambda x: x.lstrip('STAND_')

def prepare_df(df):
''' Groups by pose, removes Header and Confidences,
calculates the mean for all instances of each group,
and cleans the index names '''
return df.groupby(pose).mean().drop(confidences, axis=1).rename(index=stand_cleaner)

def accumulate_indices(df_list):
''' Concatenates the indices of a list of pandas.Dataframes and returns them as an numpy.array '''
get_ind = lambda x: x.index
return np.concatenate(map(get_ind, df_list))

def accumulate_users(users):
''' Accumulates a list of dataframes in a single dataframe '''
return pd.concat(users)

def insert_user_name(df, user):
''' returns a copy of the entered dataframe, but with a column added whith the user id '''
new_df = df.copy()
new_df.insert(0 , 'user', [user] * len(df))
return new_df

# parse_filename = lambda user, experiment, dir_: \
# dir_ + '/' + experiment + '-' + user + '.arff'
def parse_filename(user, experiment, dir_):
return dir_ + '/' + experiment + '-' + user + '.arff'

parse_exp03_filename = partial(parse_filename, experiment='exp03',
dir_='../data/users_separated',)

# user_pipe = lambda filename: tlz.pipe(filename, load_user_file, prepare_df)
# user_pipe.__doc__= ''' A pipe that produces a user dataset (pd.DataFrame)
# starting from a filename.
# Note that the data in the dataset corresponds
# to the means of data found in the file '''
def user_pipe(filename):
''' A pipe that produces a user dataset (pd.DataFrame)
starting from a filename.
Note that the data in the dataset corresponds
to the means of data found in the file '''
return tlz.pipe(filename, load_user_file, prepare_df)


def load_all_users():
''' Returns a pd.DataFrame with the information of all the users'''
map = tlz.curry(map)
dataset = tlz.pipe(users, map(parse_exp03_filename), map(user_pipe), accumulate_users)
dataset.insert(0, 'user', sorted(users * 3))
return dataset

0 comments on commit 6a7bb0b

Please sign in to comment.