Esempio n. 1
0
 def loadFromFile(cls, fileName):
     '''
     Load chamber and trajectory from file
     '''
     def stripeq(string):
         '''
         strip `=` if presented (new chamber format)
         '''
         pos = string.find('=')
         if pos >= 0 : # New file format
             return string[pos + 1:]
         else :
             return string   
     trajectoryFile = open(unicode(fileName), 'r')
     if trajectoryFile.readline().strip() != cls.fileCaption.strip() :
         #TODO: exception
         print('This is not Trajectory')
         return None
     # Chamber position and size
     x, y = [int(value) for value in stripeq(trajectoryFile.readline()).split()]
     width, height = [int(value) for value in stripeq(trajectoryFile.readline()).split()]
     # Creating chamber
     chamber = cls(QtCore.QRect(x, y, width, height))
     # TODO: Reading scale label and frame rate
     scale = float(stripeq(trajectoryFile.readline()))
     frameRate = float(stripeq(trajectoryFile.readline()))
     chamber.sampleName = stripeq(unicode(trajectoryFile.readline())).strip()
     chamber.threshold = float(stripeq(trajectoryFile.readline()))
     if trajectoryFile.readline().strip() == cls.trajectoryCaption.strip() :
         chamber.trajectory = LtTrajectory.loadFromFile(trajectoryFile)
     else :
         print("Error loading trajectory")
         raise
     trajectoryFile.close()
     #Loading trajectory Image
     if QtCore.QFileInfo(fileName+'.png').exists() :
         chamber.trajectoryImage = QtGui.QImage(fileName+'.png')
     return chamber, scale, frameRate