def main(argv): parser = argparse.ArgumentParser( description= '\nDiffs two xml face files.\n\n \t example: xml_diff file1 file2', formatter_class=lambda prog: argparse.HelpFormatter( prog, max_help_position=50)) # parser.formatter.max_help_position = 50 parser.add_argument('-filetype', '--filetype', default="faces", help='type of xml file: <imgs,chips,faces,pairs> .') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='2 will generate count per label') # choices=[0, 1, 2, 3], help=argparse.SUPPRESS) # help="increase output verbosity" parser.add_argument('file', nargs=2) args = parser.parse_args() # print "ls : ", args.ls # print "files: ", args.files u.set_verbosity(args.verbosity) u.diff_face_files(args.file[0], args.file[1])
def main(argv): parser = argparse.ArgumentParser( description='\nWrite html to display images grouped by day per label', formatter_class=RawTextHelpFormatter) parser.add_argument('file') parser.add_argument('-out', '--output', default="same_dates.html", help='write files using this base name.') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='') # help="increase output verbosity" u.set_argv(argv) args = parser.parse_args() u.set_verbosity(args.verbosity) u.set_argv(argv) verbose = 0 if verbose > 0: print("files: ", args.files) #TODO : prevent clobbering previous default output # if args.output == 'images' : # args.output = u.get_new_filename (args.output) u.html_same_date_from_csv(args.file, args.output)
def main(argv): parser = argparse.ArgumentParser( description= '\nWrite xml file for each of zero, one and multi faces.\n\n\tExample: xml_group_by_face_count -out bc2018 bc2018_faces.xml', formatter_class=RawTextHelpFormatter) parser.add_argument('files', nargs='+') parser.add_argument('-out', '--output', default="images", help='write files using this base name.') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='') # help="increase output verbosity" u.set_argv(argv) args = parser.parse_args() u.set_verbosity(args.verbosity) u.set_argv(argv) u.set_filetype('faces') verbose = 0 if verbose > 0: print("files: ", args.files) #TODO : prevent clobbering previous default output # if args.output == 'images' : # args.output = u.get_new_filename (args.output) u.split_faces_by_count(args.files, args.output)
def main(argv): parser = argparse.ArgumentParser( description= '\nCreate xml from images in specified files and directories.\n \t example: create_images_xml -out imgs.xml abc.jpg bc/images ./bf/images\n', formatter_class=RawTextHelpFormatter) # parser.formatter.max_help_position = 50 parser.add_argument('files', nargs='+') parser.add_argument( '-out', '--output', help='write output to specified file. Defaults to imgs.xml') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='print more messages') # choices=[0, 1, 2, 3], help=argparse.SUPPRESS) # help="increase output verbosity" args = parser.parse_args() # print "ls : ", args.ls # print "files: ", args.files if not args.output: args.output = 'imgs.xml' u.set_verbosity(args.verbosity) u.create_imgs_xml(args.files, args.output)
def main(argv): parser = argparse.ArgumentParser( description= '\nRun tensorflow model via docker to find bears in images. \n \t example: find_bears -mod tf-md -min 0.9 images', formatter_class=RawTextHelpFormatter) # parser.formatter.max_help_position = 50 parser.add_argument('files', nargs='+') parser.add_argument('-mod', '--model', default='tf-frcnn', help='one of: tf-md, tf-frcnn') parser.add_argument('-min', '--min_score', default="0.9", help='sets mininum score for detection.') parser.add_argument('-abs', '--absolute_path', action="store_true", default=False, help='write files with absolute path.') parser.add_argument('-out', '--output', help='write output into specified file.') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='print more messages') # choices=[0, 1, 2, 3], help=argparse.SUPPRESS) # help="increase output verbosity" args = parser.parse_args() # print "ls : ", args.ls # print "files: ", args.files if not args.output: if (args.model == 'tf-md'): args.output = 'multibears_md' else: args.output = 'multibears_frcnn' u.set_verbosity(args.verbosity) print('\n------------------------------') print('... Using image:', args.model) print('------------------------------') docker_cmd = "sudo docker ps -a | awk '/tf-*/ {print $2}'" docker_result = os.popen(docker_cmd).read() img_files = u.get_img_files(args.files, args.absolute_path) print('running:', docker_cmd) print('... docker ps:', docker_result) print('... min score:', args.min_score) print('... output :', args.output) print('... input :', args.files) print('... # files :', len(img_files)) print('... files :', img_files) # print ('files: ', img_files) u.do_find_bears(img_files, args.output, args.min_score, args.model)
def main(argv): parser = argparse.ArgumentParser( description='Create file with matched and unmatched chip pairs.', formatter_class=lambda prog: argparse.HelpFormatter( prog, max_help_position=50)) # parser.formatter.max_help_position = 50 parser.add_argument('-m', '--matched', default=0, help='Number of matched pairs. 0 for all.') parser.add_argument('-u', '--unmatched', default=0, help='Number of unmatched pairs. 0 for all.') parser.add_argument( '-t', '--triplets', default=0, help= 'Number of triplets of un/matched sets. Overides --unmatched and --matched.' ) parser.add_argument('chipfile', nargs='+') parser.add_argument( '-out', '--output', default="", help='Output file basename. Defaults to "part_<date><time>_"') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help=argparse.SUPPRESS) u.set_argv(argv) args = parser.parse_args() u.set_verbosity(args.verbosity) u.set_filetype('pairs') verbose = args.verbosity if not args.output: args.output = datetime.datetime.now().strftime("pairs_%Y%m%d_%H%M.xml") if verbose > 0: print("matched : ", args.matched) print("unmatched : ", args.unmatched) print("triplets : ", args.triplets) print("output : ", args.output) print("chipfile : ", args.chipfile) ''' filetype = args.filetype if (filetype != "chips") and (filetype != "faces") : print 'unrecognized filetype :', filetype, ', setting filetype to "chips".' filetype = "chips" ''' if (args.triplets > 0) and ((args.matched > 0) or (args.unmatched > 0)): print( 'triplets argument will override matched and unmatched arguments') xml_files = u.generate_xml_file_list(args.chipfile) u.generate_chip_pairs(xml_files, int(args.matched), int(args.unmatched), int(args.triplets), args.output)
def main(argv): parser = argparse.ArgumentParser(description='Partitions data.', formatter_class=lambda prog: argparse. HelpFormatter(prog, max_help_position=50)) # parser.formatter.max_help_position = 50 parser.add_argument('n', default=5, help='Number of paritions to create. ') parser.add_argument('files', nargs='+') parser.add_argument('-out', '--output', default="", help='Output file basename.') parser.add_argument( '-m', '--mode', type=int, default=0, choices=[0, 1, 2], help= 'Mode for split chips. 0: shuffle all, then split. 1: split each label evenly. 2: split by label - i.e. each label is only in one fold.' ) parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='') # help="increase output verbosity" args = parser.parse_args() u.set_verbosity(args.verbosity) u.set_argv(argv) u.set_filetype('chips') # pdb.set_trace () verbose = args.verbosity if verbose > 0: print("n: ", args.n) print("output: ", args.output) print("files: ", args.files) if args.mode == 0: print("mode 0: splitting after shuffling all...") elif args.mode == 1: print("mode 1: splitting each label evenly...") elif args.mode == 2: print("mode 2: separting each into different fold ... ") if not args.output: args.output = datetime.datetime.now().strftime("%Y%m%d_%H%M") if verbose > 0: print("new output: ", args.output) xml_files = u.generate_xml_file_list(args.files) u.do_generate_folds(xml_files, args.n, args.output, args.mode)
def main(argv): parser = argparse.ArgumentParser( description= '\nPrint combined stats for all input files/directory.\n\texample: xml_obj_stats xxx_*_xml outputdir', formatter_class=RawTextHelpFormatter) # parser.formatter.max_help_position = 50 parser.add_argument('files', nargs='+') parser.add_argument('-filetype', '--filetype', default="chips", help='type of xml file: <images,chips,faces,pairs> .') parser.add_argument('-write', '--write', default="", action="store_true", help='write stats into file stats_*_<currentDate> .') parser.add_argument('-p', '--print_all_labels', default=False, action="store_true", help='print ordered list of filenames.') parser.add_argument('-l', '--ls', default="", action="store_true", help='print ordered list of filenames.') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='2 will generate count per label') # choices=[0, 1, 2, 3], help=argparse.SUPPRESS) # help="increase output verbosity" args = parser.parse_args() # print "ls : ", args.ls # print "files: ", args.files filetypes = ['chips', 'faces', 'pairs', 'images'] filetype = args.filetype if filetype not in filetypes: print('unrecognized filetype :', filetype, 'should be one of:', filetypes) return u.set_verbosity(args.verbosity) xml_files = u.generate_xml_file_list(args.files) u.get_obj_stats(xml_files, args.ls, args.filetype, args.verbosity, args.write, args.print_all_labels)
def main(argv): parser = argparse.ArgumentParser( description='write faces from different locale to different xmls.', formatter_class=RawTextHelpFormatter) parser.add_argument('files', nargs='+') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='') # help="increase output verbosity" u.set_argv(argv) args = parser.parse_args() u.set_verbosity(args.verbosity) u.set_argv(argv) u.set_filetype('faces') verbose = 0 if verbose > 0: print("files: ", args.files) u.split_objects_by_locales(args.files)
def main(argv): parser = argparse.ArgumentParser( description= ' Downscale images and writes them to parallel directories.\n Also write new xml with updated content.\n\n Example: \n\tdownscale_images -xy 640 480 -replace imageSource imageSourceTiny x.xml', formatter_class=RawTextHelpFormatter) grp = parser.add_mutually_exclusive_group() parser.add_argument('files', nargs='+') grp.add_argument('-xy', '--xy_max', nargs=2, help='max x and y of image.') grp.add_argument('-max', '--max_area', default=30000, help='max size of image.') parser.add_argument('-replace', '--replace_path', nargs=2, default=['', './'], help='replace old with new.') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='') # help="increase output verbosity" u.set_argv(argv) args = parser.parse_args() u.set_verbosity(args.verbosity) u.set_filetype('faces') verbose = 0 if verbose > 0: print("files: ", args.files) if args.xy_max: args.max_area = int(args.xy_max[0]) * int(args.xy_max[1]) # print ('max_area: ', args.max_area) # print ('replace_path: ', args.replace_path) # print ('replace_path: ', args.replace_path[0], args.replace_path[1]) for face_xml in args.files: u.downscale_face_file(face_xml, args.max_area, args.replace_path)
def main(argv): parser = argparse.ArgumentParser( description= '\nPrint combined stats for all input files/directory.\n \t example: xml_obj_stats -l xxx_*_xml outputdir', formatter_class=lambda prog: argparse.HelpFormatter( prog, max_help_position=50)) # parser.formatter.max_help_position = 50 parser.add_argument('files', nargs='+') parser.add_argument('-filetype', '--filetype', default="chips", help='type of xml file: <chips,faces,pairs> .') parser.add_argument('-write', '--write', default="", action="store_true", help='write stats into file stats_*_<currentDate> .') parser.add_argument('-l', '--ls', default="", action="store_true", help='print ordered list of filenames.') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help=argparse.SUPPRESS) # help="increase output verbosity" args = parser.parse_args() # print "ls : ", args.ls # print "files: ", args.files u.set_verbosity(args.verbosity) xml_files = u.generate_xml_file_list(args.files) u.get_obj_stats(xml_files, args.ls, args.filetype, args.verbosity, args.write)
def main(argv): parser = argparse.ArgumentParser( description= 'Downscale face images, cropping to maintain face close to mininum size.\n\tCreates new images to parallel directories and generates new xml with updated content.\n\n\tExample:\n\tresize_images.py -x_max 640 -y_max 480 faces.xml', formatter_class=RawTextHelpFormatter) parser.add_argument('files', nargs='+') parser.add_argument('-x_max', '--x_max', default=1500, help='max width of image, defaults to 1500.') parser.add_argument('-y_max', '--y_max', default=2000, help='max heigth of image, defaults to 2000.') parser.add_argument('-min_face', '--min_face', default=200, help='max heigth of image, defaults to 2000.') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='') # help="increase output verbosity" u.set_argv(argv) args = parser.parse_args() u.set_verbosity(args.verbosity) u.set_argv(argv) u.set_filetype('faces') verbose = 0 if verbose > 0: print("files: ", args.files) for face_xml in args.files: u.resize_face_file(face_xml, args.x_max, args.y_max, args.min_face)
def main(argv): parser = argparse.ArgumentParser( description='Plot dimension-reduced embeddings.', formatter_class=lambda prog: argparse.HelpFormatter( prog, max_help_position=50)) parser.add_argument('files', nargs='+') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='') # help="increase output verbosity" u.set_argv(argv) args = parser.parse_args() u.set_verbosity(args.verbosity) u.set_argv(argv) u.set_filetype('embeddings') verbose = 0 if verbose > 0: print("files: ", args.files) xml_files = u.generate_xml_file_list(args.files) u.plot_embeddings(xml_files)
def main(argv): parser = argparse.ArgumentParser( description= '\nRun tensorflow model via docker to find bears in images. Takes file which lists all images (e.g. from create_imgs_file) \n \t example: ' + argv[0] + ' -mod tf-md -min 0.9 images.txt', formatter_class=RawTextHelpFormatter) # parser.formatter.max_help_position = 50 parser.add_argument('inputfile') parser.add_argument('-mod', '--model', default='tf-frcnn', help='one of: tf-md, tf-frcnn') parser.add_argument('-min', '--min_score', default="0.9", help='sets mininum score for detection.') parser.add_argument('-abs', '--absolute_path', action="store_true", default=False, help='write files with absolute path.') parser.add_argument('-out', '--output', help='write output into specified file.') parser.add_argument('-v', '--verbosity', type=int, default=1, choices=[0, 1, 2, 3], help='print more messages') # choices=[0, 1, 2, 3], help=argparse.SUPPRESS) # help="increase output verbosity" args = parser.parse_args() # print "ls : ", args.ls # print "files: ", args.files models = ['tf_md', 'tf-frcnn'] if args.model not in models: print('\nError: unknown model. Needs to be one of', models, '\n') return if not args.output: if (args.model == 'tf-md'): args.output = 'multibears_md' else: args.output = 'multibears_frcnn' u.set_verbosity(args.verbosity) print('\n------------------------------') print('... Using image:', args.model) print('------------------------------') docker_cmd = "sudo docker ps -a | awk '/tf-*/ {print $2}'" docker_result = os.popen(docker_cmd).read() # img_files = u.get_img_files (args.files, args.absolute_path) print('running:', docker_cmd) print('... docker ps:', docker_result) print('... min score:', args.min_score) print('... output :', args.output) print('... input :', args.inputfile) # print ('files: ', img_files) # curtime = datetime.datetime.now().strftime("%Y%m%d %H:%M:%S") # print ('single detects:', curtime) u.do_find_bears(args.inputfile, args.output, args.min_score, args.model)