def run( self ): ## Read in excel file to data frame excelFile = os.path.join( self.mainDir, self.excelFile ) table = pd.ExcelFile( excelFile ) t = table.parse( ) ## Init parsed data containers labelInfo = {} frameInfo = {} #Probe sample image for dims img = pp.readInImg( os.path.join( self.dataDir, "sub01/EP02_01f/reg_img46.jpg" ) ) self.nh, self.nw = pp.imgRes( img, self.imgRes ) dims = self.nScales * self.nOrient * self.nh * self.nw featureInfo = np.array([ ] ).reshape( 0, dims ) tf = 0 s = 0 ## Iterate through files and generate labels and features complete = True ## For each subject for sub in os.listdir( self.dataDir ): v = 0 ## For each video for vid in os.listdir( os.path.join( self.dataDir, sub ) ): if vid.endswith( "avi" ): #skip avis break ## Each line in main excel file proports to one video, get that info here intLabelInfo, labelParams = CASMELabels.getLabelInfo( sub, vid, t, [s, v] ) f = 0 ## Process each frame for frame in os.listdir( os.path.join( self.dataDir, sub, vid ) ): frameInfo = CASMELabels.getFrameParams( intLabelInfo, labelParams, f, frame ) frameInfo.update( intLabelInfo ) labelInfo.update( { tf : frameInfo } ) img = pp.readInImg( os.path.join( self.dataDir, sub, vid, frame ) ) img = pp.downsample( img, self.nh, self.nw ) kernels = self.gabor.generateGaborKernels( ) try: featureInfo = np.vstack( [ featureInfo, gab.processGabor( img, kernels ) ]) except MemoryError: #print "S%d O%d H%d W%d.csv" % (self.nScales, self.nOrient, self.nh, self.nw ) complete = False break f += 1 tf += 1 v += 1 s += 1 return featureInfo, labelInfo, complete
def parseLabels(self): ## Read in excel file to data frame excelFile = os.path.join(self.mainDir, self.excelFile) table = pd.ExcelFile(excelFile) t = table.parse() ## Init parsed data containers labelInfo = {} frameInfo = {} ## Iterate through images and build label frame tf = 0 s = 0 ## Iterate through files and generate labels and features ## For each subject for sub in os.listdir(self.dataDir): v = 0 ## For each video for vid in os.listdir(os.path.join(self.dataDir, sub)): if vid.endswith("avi"): #skip avis break ## Each line in main excel file proports to one video, get that info here intLabelInfo, labelParams = CASMELabels.getLabelInfo( sub, vid, t, [s, v]) f = 0 ## Process each frame for frame in os.listdir(os.path.join(self.dataDir, sub, vid)): frameInfo = CASMELabels.getFrameParams( intLabelInfo, labelParams, f, frame) frameInfo.update(intLabelInfo) labelInfo.update({tf: frameInfo}) f += 1 tf += 1 v += 1 s += 1 return labelInfo
def parseLabels( self ): ## Read in excel file to data frame excelFile = os.path.join( self.mainDir, self.excelFile ) table = pd.ExcelFile( excelFile ) t = table.parse( ) ## Init parsed data containers labelInfo = {} frameInfo = {} ## Iterate through images and build label frame tf = 0 s = 0 ## Iterate through files and generate labels and features ## For each subject for sub in os.listdir( self.dataDir ): v = 0 ## For each video for vid in os.listdir( os.path.join( self.dataDir, sub ) ): if vid.endswith( "avi" ): #skip avis break ## Each line in main excel file proports to one video, get that info here intLabelInfo, labelParams = CASMELabels.getLabelInfo( sub, vid, t, [s, v] ) f = 0 ## Process each frame for frame in os.listdir( os.path.join( self.dataDir, sub, vid ) ): frameInfo = CASMELabels.getFrameParams( intLabelInfo, labelParams, f, frame ) frameInfo.update( intLabelInfo ) labelInfo.update( { tf : frameInfo } ) f += 1 tf += 1 v += 1 s += 1 return labelInfo