def main(): progname = os.path.basename(sys.argv[0]) usage = """prog [options] <image> <image2>.... The even newer version of e2boxer. Complete rewrite. Incomplete. This program """ parser = EMArgumentParser(usage=usage,version=EMANVERSION) parser.add_pos_argument(name="micrographs",help="List the file to process with e2boxer here.", default="", guitype='filebox', browser="EMBoxesTable(withmodal=True,multiselect=True)", row=0, col=0,rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--boxsize","-B",type=int,help="Box size in pixels",default=-1, guitype='intbox', row=2, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--ptclsize","-P",type=int,help="Longest axis of particle in pixels (diameter, not radius)",default=-1, guitype='intbox', row=2, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--apix",type=float,help="Angstroms per pixel for all images",default=0, guitype='floatbox', row=4, col=0, rowspan=1, colspan=1, mode="autofit['self.pm().getAPIX()']") parser.add_argument("--voltage",type=float,help="Microscope voltage in KV",default=300, guitype='floatbox', row=4, col=1, rowspan=1, colspan=1, mode="autofit['self.pm().getVoltage()']") parser.add_argument("--cs",type=float,help="Microscope Cs (spherical aberation)",default=4.0, guitype='floatbox', row=5, col=0, rowspan=1, colspan=1, mode="autofit['self.pm().getCS()']") parser.add_argument("--ac",type=float,help="Amplitude contrast (percentage, default=10)",default=10, guitype='floatbox', row=5, col=1, rowspan=1, colspan=1, mode='autofit') parser.add_argument("--write_dbbox",action="store_true",help="Write coordinate file (eman1 dbbox) files",default=False, guitype='boolbox', row=3, col=0, rowspan=1, colspan=1, mode="extraction") parser.add_argument("--write_ptcls",action="store_true",help="Write particles to disk",default=False, guitype='boolbox', row=3, col=1, rowspan=1, colspan=1, mode="extraction[True]") parser.add_argument("--invert",action="store_true",help="If writing outputt inverts pixel intensities",default=False, guitype='boolbox', row=3, col=2, rowspan=1, colspan=1, mode="extraction") parser.add_argument("--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID",default=-1) parser.add_argument("--gui", action="store_true", default=True, help="Dummy option; used in older version of e2boxer") parser.add_argument("--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help="verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args()
def main(): progname = os.path.basename(sys.argv[0]) usage = """%prog [options] <image1> <image2> <image3> <image4> .... WARNING: Experimental program. Contact [email protected] for more info. Currently only supports bootstrapping an initial probe doing all versus all alignment of the input images """ parser = EMArgumentParser(usage=usage,version=EMANVERSION) parser.add_argument("--align",type=str,help="The aligner and its parameters. e.g. --align=rt.3d.grid:ralt=180:dalt=10:dphi=10:rphi=180:search=5", default="rt.3d.grid") parser.add_argument("--aligncmp",type=str,help="The comparator used for determing the best initial alignment", default="dot.tomo:threshold=0") parser.add_argument("--cmp",type=str,help="The comparator used to obtain the final similarity", default="dot.tomo:threshold=0") parser.add_argument("--ralign",type=str,help="This is the second stage aligner used to refine the first alignment. This is usually the \'refine\' aligner.", default=None) parser.add_argument("--raligncmp",type=str,help="The comparator used for determing the refined alignment", default="dot.tomo:threshold=0") parser.add_argument("--bootstrap",action="store_true",default=True,help="Boot strap alignment") parser.add_argument("--output",type=str,default="e2tomoave.hdf",help="The output image which will store the results matrix") parser.add_argument("--parallel",type=str,default=None,help="Use parallelism") parser.add_argument("--path", default=None, type=str,help="The name of a directory where results are placed. If unspecified will generate one automatically of type tomo_ave_??.") parser.add_argument("--nsoln", default=1, type=int,help="If supplied and greater than 1, the nsoln-best alignments will be written to a text file. This is useful for debug but may be left unspecified") parser.add_argument("--dbls",type=str,help="data base list storage, used by the workflow. You can ignore this argument.",default=None) parser.add_argument("--shrink",type=int,help="Shrink the data as part of the alignment - for speed purposes but at the potential loss of accuracy",default=None) parser.add_argument("--filter",type=str,help="The name and parameters of an EMAN2 processor. Will be applied prior to shrinking.",default=None) parser.add_argument("--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID",default=-1) parser.add_argument("--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help="verbose level [0-9], higner number means higher level of verboseness") if EMUtil.cuda_available(): parser.add_argument("--cuda",action="store_true",help="GPU acceleration using CUDA. Experimental", default=False) (options, args) = parser.parse_args() print options.shrink error_messages = check_options(options,args) if len(error_messages) != 0: msg = "\n" for error in error_messages: msg += error +"\n" parser.error(msg) exit(1) logger=E2init(sys.argv,options.ppid) if options.bootstrap: module = EMBootStrappedAverages(args,options,logger) module.execute() else: print "boot strap only supported technique" E2end(logger)
def main(): progname = os.path.basename(sys.argv[0]) usage = progname + """ [options] A tool for displaying EMAN2 command history """ parser = EMArgumentParser(usage=usage) parser.add_argument( "--gui", "-g", default=False, action="store_true", help="Open history in an interface with a sortable table.") parser.add_argument("--all", "-a", default=False, action="store_true", help="Show for all directories.") parser.add_argument( "--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID", default=-1) parser.add_argument( "--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help= "verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args() if options.gui: from eman2_gui.emapplication import EMApp app = EMApp() hist = HistoryForm(app, os.getcwd()) hist.form.show() hist.form.raise_() app.show() app.execute() else: print_to_std_out(options.all)
def main(): progname = os.path.basename(sys.argv[0]) usage = progname + """ [options] A tool for displaying EMAN2 command history """ parser = EMArgumentParser(usage=usage) parser.add_argument("--gui", "-g",default=False, action="store_true",help="Open history in an interface with a sortable table.") parser.add_argument("--all", "-a",default=False, action="store_true",help="Show for all directories.") parser.add_argument("--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID",default=-1) parser.add_argument("--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help="verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args() if options.gui: from emapplication import EMApp app = EMApp() hist = HistoryForm(app,os.getcwd()) app.show() app.execute() else: print_to_std_out(options.all)
if __name__ == "__main__": usage = """ sxproj_compare.py <input_imgs> <input_volume> sxproj_compare.py <input_imgs> <input_volume> --outdir <output_directory> sxproj_compare.py <input_imgs> <input_volume> --outdir <output_directory> --angles <angles_file> sxproj_compare.py <input_imgs> <input_volume> --outdir <output_directory> --angles <angles_file> --select <img_selection_file> sxproj_compare.py <input_imgs> <input_volume> --outdir <output_directory> --angles <angles_file> --select <img_selection_file> --display """ # Command-line arguments parser = EMArgumentParser(usage=usage,version=EMANVERSION) parser.add_argument('classavgs', help='Input class averages') parser.add_argument('vol3d', help='Input 3D reconstruction') parser.add_argument('--outdir', "-o", type=str, help='Output directory') parser.add_argument('--angles', "-a", type=str, help='Angles files, which will be imported into the header of the class-average stack') parser.add_argument('--select', "-s", type=str, help='Selection file for included classes. RVIPER may exclude some images from the reconstruction.') parser.add_argument('--display', "-d", action="store_true", help='Automatically open montage in e2display') (options, args) = parser.parse_args() #print args, options # (Everything is in options.) #exit() # If output directory not specified, write to same directory as class averages if not options.outdir: outdir = os.path.dirname(os.path.realpath(options.classavgs)) else: outdir = options.outdir #print("outdir: %s" % outdir) runcheck(options.classavgs, options.vol3d, outdir, inangles=options.angles, selectdoc=options.select, displayYN=options.display)
def main(): progname = os.path.basename(sys.argv[0]) usage = """prog [options] <image file> ... This program can be used to visualize most files used in EMAN2. Running it without arguments will open a browser window with more flexible functionality than the command-line. """ global app,win,options parser = EMArgumentParser(usage=usage,version=EMANVERSION) parser.add_argument("--classmx",type=str,help="<classmx>,<#> Show particles in one class from a classification matrix. Pass raw particle file as first argument to command.") parser.add_argument("--classes",type=str,help="<rawptcl>,<classmx> Show particles associated class-averages") parser.add_argument("--pdb",type=str,help="<pdb file> Show PDB structure.") parser.add_argument("--singleimage",action="store_true",default=False,help="Display a stack in a single image view") parser.add_argument("--plot",action="store_true",default=False,help="Data file(s) should be plotted rather than displayed in 2-D") parser.add_argument("--plot3",action="store_true",default=False,help="Data file(s) should be plotted rather than displayed in 3-D") parser.add_argument("--fullrange",action="store_true",default=False,help="A specialized flag that disables auto contrast for the display of particles stacks and 2D images only.") parser.add_argument("--newwidget",action="store_true",default=False,help="Use the new 3D widgetD. Highly recommended!!!!") parser.add_argument("--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID",default=-2) parser.add_argument("--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help="verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args() # logid=E2init(sys.argv) app = EMApp() #gapp = app #QtGui.QApplication(sys.argv) win=[] if options.fullrange: fullrangeparms = set_full_range() if len(args) < 1: global dialog file_list = [] dialog = embrowser.EMBrowserWidget(withmodal=False,multiselect=False) dialog.show() try: dialog.raise_() # QtCore.QObject.connect(dialog,QtCore.SIGNAL("ok"),on_browser_done) # QtCore.QObject.connect(dialog,QtCore.SIGNAL("cancel"),on_browser_cancel) except: pass elif options.pdb: load_pdb(args,app) elif options.plot: plot(args,app) elif options.plot3: plot_3d(args,app) elif options.classes: options.classes=options.classes.split(",") imgs=EMData.read_images(args[0]) display(imgs,app,args[0]) QtCore.QObject.connect(win[0].child,QtCore.SIGNAL("mousedown"),lambda a,b:selectclass(options.classes[0],options.classes[1],a,b)) try: out=file("selected.lst","w") out.write("#LST\n") out.close() except: pass elif options.classmx: options.classmx=options.classmx.split(",") clsnum=int(options.classmx[1]) imgs=getmxim(args[0],options.classmx[0],clsnum) display(imgs,app,args[0]) else: for i in args: if not file_exists(i): print "%s doesn't exist" %i sys.exit(1) display_file(i,app,options.singleimage,usescenegraph=options.newwidget) if options.fullrange: revert_full_range(fullrangeparms) app.exec_()
def main(): progname = os.path.basename(sys.argv[0]) usage = """prog [options] <image file> ... This program can be used to visualize most files used in EMAN2. Running it without arguments will open a browser window with more flexible functionality than the command-line. """ global app, win, options parser = EMArgumentParser(usage=usage, version=EMANVERSION) parser.add_argument( "--classmx", type=str, help= "<classmx>,<#> Show particles in one class from a classification matrix. Pass raw particle file as first argument to command." ) parser.add_argument( "--classes", type=str, help="<rawptcl>,<classmx> Show particles associated class-averages") parser.add_argument("--pdb", type=str, help="<pdb file> Show PDB structure.") parser.add_argument("--singleimage", action="store_true", default=False, help="Display a stack in a single image view") parser.add_argument( "--plot", action="store_true", default=False, help="Data file(s) should be plotted rather than displayed in 2-D") parser.add_argument( "--hist", action="store_true", default=False, help= "Data file(s) should be plotted as a histogram rather than displayed in 2-D." ) parser.add_argument( "--plot3d", action="store_true", default=False, help="Data file(s) should be plotted rather than displayed in 3-D") parser.add_argument( "--fullrange", action="store_true", default=False, help= "A specialized flag that disables auto contrast for the display of particles stacks and 2D images only." ) parser.add_argument("--newwidget", action="store_true", default=False, help="Use the new 3D widgetD. Highly recommended!!!!") parser.add_argument( "--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID", default=-2) parser.add_argument( "--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help= "verbose level [0-9], higher number means higher level of verboseness") (options, args) = parser.parse_args() # logid=E2init(sys.argv) app = EMApp() #gapp = app #QtWidgets.QApplication(sys.argv) win = [] if options.fullrange: print( """The --fullrange option has been removed, and replaced with an option in user preferences. To set your preferences for full-range 2-D display, please run: e2procjson.py --setoption display2d.autocontrast:true """) sys.exit(0) if len(args) < 1: global dialog file_list = [] dialog = embrowser.EMBrowserWidget(withmodal=False, multiselect=False) dialog.show() try: dialog.raise_() # QtCore.QObject.connect(dialog,QtCore.SIGNAL("ok"),on_browser_done) # QtCore.QObject.connect(dialog,QtCore.SIGNAL("cancel"),on_browser_cancel) except: pass elif options.pdb: load_pdb(args, app) elif options.plot: plot(args, app) elif options.hist: hist(args, app) elif options.plot3d: plot_3d(args, app) elif options.classes: options.classes = options.classes.split(",") imgs = EMData.read_images(args[0]) display(imgs, app, args[0]) win[0].child.mousedown.connect(lambda a, b: selectclass( options.classes[0], options.classes[1], a, b)) try: out = open("selected.lst", "w") out.write("#LST\n") out.close() except: pass elif options.classmx: options.classmx = options.classmx.split(",") clsnum = int(options.classmx[1]) imgs = getmxim(args[0], options.classmx[0], clsnum) display(imgs, app, args[0]) else: for i in args: if not file_exists(i): print("%s doesn't exist" % i) sys.exit(1) display_file(i, app, options.singleimage, usescenegraph=options.newwidget) app.exec_()
parser.add_argument( "--original", action="store_true", default=False, help= "Also write original (not subtracted) particles to new image stack(s)") parser.add_argument("--low-cutoff", type=float, default=0.0, help="Low cutoff frequency in FRC normalization") parser.add_argument("--high-cutoff", type=float, default=0.7071, help="High cutoff frequency in FRC normalization") parser.add_argument( "--no-frc", action="store_true", default=False, help="Perform direct subtraction without FRC normalization") # parser.add_argument("--append", action="store_true", default=False, help="Append") parser.add_argument( "suffix", type=str, help="Relative path and suffix for output image stack(s)") (opts, args) = parser.parse_args() logger = logging.getLogger(__name__) logger.setLevel(logging.getLevelName(opts.loglevel.upper())) sys.exit(main(opts))
def main(): progname = os.path.basename(sys.argv[0]) usage = """prog [options] <image> <image2>.... The even newer version of e2boxer. Complete rewrite. Incomplete. This program """ parser = EMArgumentParser(usage=usage, version=EMANVERSION) parser.add_pos_argument( name="micrographs", help="List the file to process with e2boxer here.", default="", guitype='filebox', browser="EMBoxesTable(withmodal=True,multiselect=True)", row=0, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--boxsize", "-B", type=int, help="Box size in pixels", default=-1, guitype='intbox', row=2, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument( "--ptclsize", "-P", type=int, help="Longest axis of particle in pixels (diameter, not radius)", default=-1, guitype='intbox', row=2, col=0, rowspan=1, colspan=3, mode="boxing,extraction") parser.add_argument("--apix", type=float, help="Angstroms per pixel for all images", default=0, guitype='floatbox', row=4, col=0, rowspan=1, colspan=1, mode="autofit['self.pm().getAPIX()']") parser.add_argument("--voltage", type=float, help="Microscope voltage in KV", default=300, guitype='floatbox', row=4, col=1, rowspan=1, colspan=1, mode="autofit['self.pm().getVoltage()']") parser.add_argument("--cs", type=float, help="Microscope Cs (spherical aberation)", default=4.0, guitype='floatbox', row=5, col=0, rowspan=1, colspan=1, mode="autofit['self.pm().getCS()']") parser.add_argument("--ac", type=float, help="Amplitude contrast (percentage, default=10)", default=10, guitype='floatbox', row=5, col=1, rowspan=1, colspan=1, mode='autofit') parser.add_argument("--write_dbbox", action="store_true", help="Write coordinate file (eman1 dbbox) files", default=False, guitype='boolbox', row=3, col=0, rowspan=1, colspan=1, mode="extraction") parser.add_argument("--write_ptcls", action="store_true", help="Write particles to disk", default=False, guitype='boolbox', row=3, col=1, rowspan=1, colspan=1, mode="extraction[True]") parser.add_argument("--invert", action="store_true", help="If writing outputt inverts pixel intensities", default=False, guitype='boolbox', row=3, col=2, rowspan=1, colspan=1, mode="extraction") parser.add_argument( "--ppid", type=int, help="Set the PID of the parent process, used for cross platform PPID", default=-1) parser.add_argument("--gui", action="store_true", default=True, help="Dummy option; used in older version of e2boxer") parser.add_argument( "--verbose", "-v", dest="verbose", action="store", metavar="n", type=int, default=0, help= "verbose level [0-9], higner number means higher level of verboseness") (options, args) = parser.parse_args()