def readSigsets(self): self.sigset_dir = os.path.join(self.location,"sigsets") self.orig_sigset_path = os.path.join(self.location,"sigsets","FRGC_Exp_2.0.4_Orig.xml") self.query_sigset_path = os.path.join(self.location,"sigsets","FRGC_Exp_2.0.4_Query.xml") self.target_sigset_path = os.path.join(self.location,"sigsets","FRGC_Exp_2.0.4_Target.xml") self.training_sigset_path = os.path.join(self.location,"sigsets","FRGC_Exp_2.0.4_Training.xml") self.orig_sigset = pv.parseSigSet(self.orig_sigset_path) self.query_sigset = pv.parseSigSet(self.query_sigset_path) self.target_sigset = pv.parseSigSet(self.target_sigset_path) self.training_sigset = pv.parseSigSet(self.training_sigset_path) self.orig_sigset_map = dict([ (data[0]['name'],[key,data]) for key,data in self.orig_sigset ]) self.query_sigset_map = dict([ (data[0]['name'],[key,data]) for key,data in self.query_sigset ]) self.target_sigset_map = dict([ (data[0]['name'],[key,data]) for key,data in self.target_sigset ]) self.training_sigset_map = dict([ (data[0]['name'],[key,data]) for key,data in self.training_sigset ]) self.orig_keys = [ data[0]['name'] for key,data in self.orig_sigset ] self.query_keys = [ data[0]['name'] for key,data in self.query_sigset ] self.target_keys = [ data[0]['name'] for key,data in self.target_sigset ] self.training_keys = [ data[0]['name'] for key,data in self.training_sigset ] # Check that everything adds up. assert len(set(self.orig_keys)) == len(self.orig_keys) assert len(set(self.query_keys + self.target_keys + self.training_keys)) == len(self.orig_keys) assert len(set(self.query_keys + self.target_keys + self.training_keys)) == len(self.query_keys) + len(self.target_keys) + len(self.training_keys)
def readSigsets(self): self.orig_sigset_path = os.path.join(self.location,"BEE_DIST","FRGC1.0","signature_sets","all.xml") self.orig_sigset = pv.parseSigSet(self.orig_sigset_path) #print self.orig_sigset self.orig_sigset = [x for x in self.orig_sigset if len(x[1]) > 0] self.orig_sigset_map = dict([ (data[0]['name'],[key,data]) for key,data in self.orig_sigset ]) self.orig_keys = [ data[0]['name'] for key,data in self.orig_sigset ]
def readSigsets(self): self.orig_sigset_path = os.path.join(self.location,"BEE_DIST","FRGC1.0","signature_sets","all.xml") self.orig_sigset = pv.parseSigSet(self.orig_sigset_path) #print self.orig_sigset self.orig_sigset = filter(lambda x: len(x[1]) > 0, self.orig_sigset) self.orig_sigset_map = dict([ (data[0]['name'],[key,data]) for key,data in self.orig_sigset ]) self.orig_keys = [ data[0]['name'] for key,data in self.orig_sigset ]
return found, missing def parseOptions(): usage = "usage: %prog [options] <input.xml> <image_directory> <found.xml> [<missing.xml>]\nReads a sigset and removes any entries that cannot be associated with an image." parser = optparse.OptionParser(usage) #parser.add_option("-v", "--verbose", # action="store_true", dest="verbose", # help="Turn on more verbose output.") (options, args) = parser.parse_args() if len(args) not in [3, 4]: parser.error( "This program requires at least three arguments: an input sigest, an image directory, and an output sigset." ) return options, args if __name__ == '__main__': options, args = parseOptions() sigset = pv.parseSigSet(args[0]) imdir = args[1] found, missing = locateFiles(sigset, imdir) pv.saveSigset(found, args[2]) if len(args) >= 4: pv.saveSigset(missing, args[3])
if len(args) not in [2]: parser.error("This program requires two sigset arguments.") return options, args if __name__ == '__main__': # Parse command line arguments options,args = parseOptions() sigset_a = args[0] sigset_b = args[1] # Read in sigsets a = pv.parseSigSet(sigset_a) b = pv.parseSigSet(sigset_b) # Compute the set of recordings and subjects in A sub_a = [] rec_a = [] for row in a: sub_id = row[0] rec_id = row[1][0]['name'] sub_a.append(sub_id) rec_a.append(rec_id) sub_a = set(sub_a) rec_a = set(rec_a) # Compute the set of recordings and subjects in B sub_b = []
#parser.add_option("-v", "--verbose", # action="store_true", dest="verbose", # help="Turn on more verbose output.") (options, args) = parser.parse_args() if len(args) != 2: parser.error("This program requires two arguments: an input sigest and an output csv file.") return options, args if __name__ == '__main__': options,args = parseOptions() sigset = pv.parseSigSet(args[0]) rows = [] header = ["sub_id","rec_id","filename","modality","file_format"] rows.append(header) for each in sigset: sub_id = each[0] rec_id = each[1][0]['name'] filename = each[1][0]['file-name'] modality = each[1][0]['modality'] file_format = each[1][0]['file-format'] row = [sub_id,rec_id,filename,modality,file_format] rows.append(row) f = csv.writer(open(args[1],'wb')) f.writerows(rows)
return options, args if __name__ == '__main__': # Parse command line arguments options,args = parseOptions() # Compute the set of recordings and subjects in A both = [] both_rec = set() for arg in args[:-1]: # Read sigsets sigset = pv.parseSigSet(arg) # Compute union for row in sigset: rec_id = row[1][0]['name'] if rec_id in both_rec: continue both.append(row) both_rec.add(rec_id) pv.saveSigset(both, args[-1])
# action="store_true", dest="verbose", # help="Turn on more verbose output.") (options, args) = parser.parse_args() if len(args) < 3: parser.error("This program requires two sigset arguments.") return options, args if __name__ == '__main__': # Parse command line arguments options, args = parseOptions() # Compute the set of recordings and subjects in A both = [] both_rec = set() for arg in args[:-1]: # Read sigsets sigset = pv.parseSigSet(arg) # Compute union for row in sigset: rec_id = row[1][0]['name'] if rec_id in both_rec: continue both.append(row) both_rec.add(rec_id) pv.saveSigset(both, args[-1])