def datarows(cls): # make segment dictionary segs = {} for level_num, segment_list in cls.project.segmenttree.getLeveledSegments().items(): for segment in segment_list: segpath = cls.segpathsep.join([u'{}'.format(sp) for sp in segment.path]) segs[segment.id] = (level_num,segpath,segment.name) # Iterate through the pen data array, yielding each pen sample # as a list. getSeriesForSample = cls.project.getSeriesForSample getPressedRunForSample = cls.project.getPressedRunForSample getStrokeForSample = cls.project.getStrokeForSample for i, pensample in enumerate(cls.project.pendata): r = [i,] r.extend(pensample.tolist()) r.extend((convertSampleStateValue(pensample['state']), getSeriesForSample(i), getPressedRunForSample(i), getStrokeForSample(i), segs.get(pensample['segment_id'],('','',''))[0], segs.get(pensample['segment_id'],('','',''))[1], segs.get(pensample['segment_id'],('','',''))[2] )) yield r
def datarows(cls): # make segment dictionary segs = {} for level_num, segment_list in cls.project.segmenttree.getLeveledSegments( ).items(): for segment in segment_list: segpath = cls.segpathsep.join( [u'{}'.format(sp) for sp in segment.path]) segs[segment.id] = (level_num, segpath, segment.name) # Iterate through the pen data array, yielding each pen sample # as a list. getSeriesForSample = cls.project.getSeriesForSample getPressedRunForSample = cls.project.getPressedRunForSample getStrokeForSample = cls.project.getStrokeForSample getStrokeTypeForSample = cls.project.getStrokeTypeForSample for i, pensample in enumerate(cls.project.pendata): r = [ i, ] r.extend(pensample.tolist()) r.extend((convertSampleStateValue(pensample['state']), getSeriesForSample(i), getPressedRunForSample(i), getStrokeForSample(i), getStrokeTypeForSample(i), segs.get(pensample['segment_id'], ('', '', ''))[0], segs.get(pensample['segment_id'], ('', '', ''))[1], segs.get(pensample['segment_id'], ('', '', ''))[2])) yield r
def datarows(cls): pendata = cls.project.pendata ss = cls.project.segmenttree sfile = ss.name lvls = range(1, ss.getLevelCount() + 1) segs_by_lvl = ss.getLeveledSegments() catname = ss.name cvcolcount = 0 if len(cls.project.trial_cond_vars): cvcolcount = len(cls.project.trial_cond_vars.dtype.names) for i in xrange(pendata.shape[0]): dp = pendata[i] rowdata = [ sfile, i, dp['time'], dp['x'], dp['y'], dp['pressure'], convertSampleStateValue(dp['state']), catname ] # Go through segment levels finding matching seg at each level for # current data point. Use '' for levels where no seg matched # data point time, otherwise use segment name. for l in lvls: dpsegname = cls.missingval for seg in segs_by_lvl[l]: if seg.contains(time=dp['time']): dpsegname = seg.name break # If no seg was found at this level, none will exist at lower # levels for this point, so break the loop. Remaining col vals # will automatically be filled in by ReportExporter if dpsegname == cls.missingval: break rowdata.append(dpsegname) if cvcolcount: tcv = cls.project.getTrialConditionsForSample(i) if tcv is not None: rowdata = tcv + rowdata else: rowdata = [cls.missingval for i in range(cvcolcount)] + rowdata yield rowdata
def datarows(cls): # Iterate through the pen data array, yielding each pen sample # as a list. getSeriesForSample = cls.project.getSeriesForSample getPressedRunForSample = cls.project.getPressedRunForSample getStrokeForSample = cls.project.getStrokeForSample for i, pensample in enumerate(cls.project.pendata): r = [i,] r.extend(pensample.tolist()) r.extend((convertSampleStateValue(pensample['state']), getSeriesForSample(i), getPressedRunForSample(i), getStrokeForSample(i) )) yield r
def datarows(cls): pendata = cls.project.pendata ss = cls.project.segmenttree sfile=ss.name lvls = range(1,ss.getLevelCount()+1) segs_by_lvl=ss.getLeveledSegments() catname = ss.name cvcolcount=0 if len(cls.project.trial_cond_vars): cvcolcount=len(cls.project.trial_cond_vars.dtype.names) for i in xrange(pendata.shape[0]): dp=pendata[i] rowdata = [sfile,i,dp['time'],dp['x'],dp['y'],dp['pressure'], convertSampleStateValue(dp['state']), catname] # Go through segment levels finding matching seg at each level for # current data point. Use '' for levels where no seg matched # data point time, otherwise use segment name. for l in lvls: dpsegname=cls.missingval for seg in segs_by_lvl[l]: if seg.contains(time=dp['time']): dpsegname=seg.name break # If no seg was found at this level, none will exist at lower # levels for this point, so break the loop. Remaining col vals # will automatically be filled in by ReportExporter if dpsegname == cls.missingval: break rowdata.append(dpsegname) if cvcolcount: tcv=cls.project.getTrialConditionsForSample(i) if tcv is not None: rowdata.extend(list(tcv)) else: rowdata.extend([cls.missingval for i in range(cvcolcount)]) yield rowdata
def datarows(cls): # Iterate through the pen data array, yielding each pen sample # as a list. getSeriesForSample = cls.project.getSeriesForSample getPressedRunForSample = cls.project.getPressedRunForSample getStrokeForSample = cls.project.getStrokeForSample getStrokeTypeForSample = cls.project.getStrokeTypeForSample for i, pensample in enumerate(cls.project.pendata): r = [ i, ] r.extend(pensample.tolist()) r.extend((convertSampleStateValue(pensample['state']), getSeriesForSample(i), getPressedRunForSample(i), getStrokeForSample(i), getStrokeTypeForSample(i))) yield r
def datarows(cls): # make segment dictionary segs = {} for level_num, segment_list in cls.project.segmenttree.getLeveledSegments( ).items(): for segment in segment_list: segpath = cls.segpathsep.join( [u'{}'.format(sp) for sp in segment.path]) segs[segment.id] = (level_num, segpath, segment.name) # Iterate through the pen data array, yielding each pen sample # as a list. getSeriesForSample = cls.project.getSeriesForSample getPressedRunForSample = cls.project.getPressedRunForSample getStrokeForSample = cls.project.getStrokeForSample getStrokeTypeForSample = cls.project.getStrokeTypeForSample vcparser_dat = cls.project.vc_parser_dat prev_series_id = 0 series_sample_index = -1 for i, pensample in enumerate(cls.project.pendata): r = [ i, ] r.extend(pensample.tolist()) series_id = getSeriesForSample(i) series_parser_dat = None if series_id > 0 and vcparser_dat: series_parser_dat = vcparser_dat.get(series_id - 1) if series_id == 0: prev_series_id = 0 series_sample_index = -1 if series_id != prev_series_id: series_sample_index = 0 prev_series_id = series_id else: series_sample_index += 1 x_fc10 = cls.missingval y_fc10 = cls.missingval x_fc5 = cls.missingval y_fc5 = cls.missingval vxy_fc10 = cls.missingval vxy_fc5 = cls.missingval vxy_fc10_extrema = cls.missingval vxy_fc5_extrema = cls.missingval vxy_fc10_minima_dalpha = cls.missingval vxy_fc10_minima_pre = cls.missingval vxy_fc10_minima_post = cls.missingval if series_parser_dat: x_fc10 = series_parser_dat['x.fc10'][series_sample_index] y_fc10 = series_parser_dat['y.fc10'][series_sample_index] x_fc5 = series_parser_dat['x.fc5'][series_sample_index] y_fc5 = series_parser_dat['y.fc5'][series_sample_index] vxy_fc10 = series_parser_dat['vxy.fc10'][series_sample_index] vxy_fc5 = series_parser_dat['vxy.fc5'][series_sample_index] vxy_fc10_extrema = series_parser_dat['vxy.fc10.extrema'][ series_sample_index] vxy_fc5_extrema = series_parser_dat['vxy.fc5.extrema'][ series_sample_index] vxy_fc10_minima_dalpha = series_parser_dat[ 'vxy.fc10.minima.dalpha'][series_sample_index] vxy_fc10_minima_pre = series_parser_dat['vxy.fc10.minima.pre'][ series_sample_index] vxy_fc10_minima_post = series_parser_dat[ 'vxy.fc10.minima.post'][series_sample_index] r.extend((convertSampleStateValue(pensample['state']), series_id, getPressedRunForSample(i), x_fc10, y_fc10, x_fc5, y_fc5, vxy_fc10, vxy_fc5, vxy_fc10_extrema, vxy_fc5_extrema, vxy_fc10_minima_dalpha, series_sample_index, vxy_fc10_minima_pre, vxy_fc10_minima_post, getStrokeForSample(i), getStrokeTypeForSample(i), segs.get(pensample['segment_id'], ('', '', ''))[0], segs.get(pensample['segment_id'], ('', '', ''))[1], segs.get(pensample['segment_id'], ('', '', ''))[2])) yield r