Skip to content

Commit

Permalink
adding small check fn to make sure user supplies a pupil recording
Browse files Browse the repository at this point in the history
  • Loading branch information
mkassner committed Jan 28, 2014
1 parent 600437e commit 50d2d9d
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 7 deletions.
29 changes: 22 additions & 7 deletions pupil_src/player/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
from uvc_capture import autoCreateCapture
# helpers/utils
from methods import normalize, denormalize,Temp
from player_methods import correlate_gaze,patch_meta_info
from player_methods import correlate_gaze,patch_meta_info,is_pupil_rec_dir
from gl_utils import basic_gl_setup, adjust_gl_view, draw_gl_texture, clear_gl_screen, draw_gl_point_norm,draw_gl_texture
# Plug-ins
from display_gaze import Display_Gaze
Expand Down Expand Up @@ -137,21 +137,36 @@ def on_close(window):
try:
data_folder = sys.argv[1]
except:
logger.warning("You did not supply a datafolder when you called this script. \
\nI will use the path hardcoded into the script instead.")
#for dev, supply hardcoded dir:
data_folder = "/Users/mkassner/Desktop/2014_01_21/000"
if os.path.isdir(data_folder):
logger.debug("Dev option: Using hadcoded data dir.")
else:
if getattr(sys, 'frozen', False):
logger.warning("You did not supply a data directory when you called this script! \
\nPlease drag a Pupil recoding directory onto the launch icon.")
else:
logger.warning("You did not supply a data directory when you called this script! \
\nPlease supply a Pupil recoding directory as first arg when calling Pupil Player.")
return

if not is_pupil_rec_dir(data_folder):
logger.error("You did not supply a dir with the required files inside.")
return


#backwards compatibility fn.
patch_meta_info(data_folder)

#parse and load data folder info
video_path = data_folder + "/world.avi"
timestamps_path = data_folder + "/timestamps.npy"
gaze_positions_path = data_folder + "/gaze_positions.npy"
record_path = data_folder + "/world_viz.avi"
meta_info_path = data_folder + "/info.csv"

#backwards compatibility fn.
patch_meta_info(data_folder)

#parse info.csv file
with open(data_folder + "/info.csv") as info:
with open(meta_info_path) as info:
meta_info = dict( ((line.strip().split('\t')) for line in info.readlines() ) )
rec_version = meta_info["Capture Software Version"]
rec_version_float = int(filter(type(rec_version).isdigit, rec_version)[:3])/100. #(get major,minor,fix of version)
Expand Down
19 changes: 19 additions & 0 deletions pupil_src/player/player_methods.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
----------------------------------------------------------------------------------~(*)
'''


import os

#logging
import logging
logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -58,6 +61,22 @@ def rec_version(data_dir):
return rec_version_float



def is_pupil_rec_dir(data_dir):
if not os.path.isdir(data_dir):
logger.error("No valid dir supplied")
return False

required_files = data_dir + "/world.avi",data_dir + "/timestamps.npy",data_dir + "/gaze_positions.npy",data_dir + "/info.csv"
for f in required_files:
if not os.path.isfile(f):
logger.error("Could not find %s"%f)
return False
return True




# backwards compatibility tools:

def patch_meta_info(data_dir):
Expand Down

0 comments on commit 50d2d9d

Please sign in to comment.