Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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 ]
Пример #4
0
    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 ]
Пример #5
0
    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])
Пример #6
0
    
    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 = []
Пример #7
0
    #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)
Пример #8
0
    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])
            
    
        
    
    
Пример #9
0
    #                  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])