def addPrepFiles(projectID, master_directory): sdirs = os.listdir(master_directory + projectID) if 'PrepFiles' not in sdirs: if 'Frames' in sdirs: print('Adding prep files for: ' + projectID) try: logObj = LP(master_directory + projectID + '/Logfile.txt') except UnboundLocalError: print('Cant read logfile for: ' + projectID) return False try: subprocess.run( ['mkdir', master_directory + projectID + '/PrepFiles']) subprocess.run([ 'cp', master_directory + projectID + '/' + logObj.frames[0].npy_file, master_directory + projectID + '/PrepFiles/FirstDepth.npy' ]) subprocess.run([ 'cp', master_directory + projectID + '/' + logObj.frames[-1].npy_file, master_directory + projectID + '/PrepFiles/LastDepth.npy' ]) subprocess.run([ 'cp', master_directory + projectID + '/' + logObj.movies[0].pic_file, master_directory + projectID + '/PrepFiles/PiCameraRGB.jpg' ]) depthObj = [ x for x in logObj.frames if x.time > logObj.movies[0].time ][0] subprocess.run([ 'cp', master_directory + projectID + '/' + depthObj.pic_file, master_directory + projectID + '/PrepFiles/DepthRGB.jpg' ]) except: print('Error fixing: ' + projectID) subprocess.run( ['rm', '-rf', master_directory + projectID + '/PrepFiles']) return True return False
def returnVideoObject(self, index): from Modules.DataObjects.LogParser import LogParser as LP self._downloadFile(self.logfile) self.lp = LP(self.localLogfile) videoObj = self.lp.movies[index] videoObj.localVideoFile = self.localMasterDir + videoObj.mp4_file videoObj.localHMMFile = self.localTroubleshootingDir + videoObj.baseName + '.hmm' videoObj.localRawCoordsFile = self.localTroubleshootingDir + videoObj.baseName + '_rawCoords.npy' videoObj.localLabeledCoordsFile = self.localTroubleshootingDir + videoObj.baseName + '_labeledCoords.npy' videoObj.localLabeledClustersFile = self.localTroubleshootingDir + videoObj.baseName + '_labeledClusters.csv' videoObj.localAllClipsPrefix = self.localAllClipsDir + self.lp.projectID + '_' + videoObj.baseName videoObj.localManualLabelClipsPrefix = self.localManualLabelClipsDir + self.lp.projectID + '_' + videoObj.baseName videoObj.localIntensityFile = self.localFiguresDir + videoObj.baseName + '_intensity.pdf' videoObj.localTempDir = self.localTempDir + videoObj.baseName + '/' videoObj.nManualLabelClips = int(self.nManualLabelClips/len(self.lp.movies)) videoObj.nManualLabelFrames = int(self.nManualLabelFrames/len(self.lp.movies)) self._createDirectory(videoObj.localTempDir) return videoObj
def __init__(self, projFileManager, index, workers): self.projFileManager = projFileManager self.lp = LP(self.projFileManager.localLogfile) self.videoObj = self.projFileManager.returnVideoObject(index) self.videofile = self.videoObj.localVideoFile self.workers = workers self.lightsOnTime = self.videoObj.startTime.replace( hour=self.projFileManager.lightsOnTime, minute=0, second=0, microsecond=0) self.lightsOffTime = self.videoObj.startTime.replace( hour=self.projFileManager.lightsOffTime, minute=0, second=0, microsecond=0) self.HMMsecs = int((min(self.videoObj.endTime, self.lightsOffTime) - self.videoObj.startTime).total_seconds() - 1)
def validateInputData(self): assert os.path.exists(self.projFileManager.localLogfile) self.lp = LP(self.projFileManager.localLogfile) for video in self.lp.movies: try: assert os.path.exists(self.projFileManager.localMasterDir + video.h264_file) except AssertionError: assert os.path.exists(self.projFileManager.localMasterDir + video.mp4_file) assert os.path.exists(self.projFileManager.localTroubleshootingDir) assert os.path.exists(self.projFileManager.localAnalysisDir) assert os.path.exists(self.projFileManager.localTempDir) assert os.path.exists(self.projFileManager.localAllClipsDir) assert os.path.exists(self.projFileManager.localManualLabelClipsDir) assert os.path.exists(self.projFileManager.localManualLabelFramesDir) self.uploads = [(self.projFileManager.localTroubleshootingDir, self.projFileManager.cloudTroubleshootingDir, '0'), (self.projFileManager.localAnalysisDir, self.projFileManager.cloudAnalysisDir, '0'), (self.projFileManager.localAllClipsDir, self.projFileManager.cloudMasterDir, '1'), (self.projFileManager.localManualLabelClipsDir, self.projFileManager.cloudMasterDir, '1'), (self.projFileManager.localManualLabelFramesDir, self.projFileManager.cloudMasterDir, '1') ]
def __init__(self, projFileManager): self.__version__ = '1.0.0' self.projFileManager = projFileManager self.lp = LP(projFileManager.localLogfile)
def __init__(self, fileManager): self.fileManager = fileManager self.lp = LP(self.fileManager.localLogfile) self._loadData() self.goodPixels = (self.tray_r[2] - self.tray_r[0]) * (self.tray_r[3] - self.tray_r[1])