def main(): parser = argparse.ArgumentParser( description='Run makepsf chunk of the OSSOS pipeline') parser.add_argument('--ccd', '-c', action='store', type=int, dest='ccd', default=None, help='which ccd to process, default is all') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("expnum", type=int, nargs='+', help="expnum(s) to process") parser.add_argument("--dry-run", action="store_true", help="DRY RUN, don't copy results to VOSpace, implies --force") parser.add_argument("--fk", action="store_true", help="Run fk images") parser.add_argument("--type", "-t", choices=['o', 'p', 's'], help="which type of image: o-RAW, p-ELIXIR, s-SCRAMBLE", default='p') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--force", default=False, action="store_true") parser.add_argument("--debug", "-d", action="store_true") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Started {}".format(cmd_line)) prefix = (args.fk and 'fk') or '' storage.DBIMAGES = args.dbimages exit_code = 0 for expnum in args.expnum: if args.ccd is None: if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = range(0,36) else: # First exposrues with 40 CCD Megaprime ccdlist = range(0, 40) else: ccdlist = [args.ccd] for ccd in ccdlist: run(expnum, ccd, args.type, args.dry_run, prefix, args.force) return exit_code
def main(): parser = argparse.ArgumentParser() parser.add_argument('field') parser.add_argument('ccd') parser.add_argument( '--expnum', default=None, help="Which exposure is the lead for this astrom file?") parser.add_argument( '--astrom-filename', default=None, help="Give the astrom file directly instead of looking-up " "using the field/ccd naming scheme.") parser.add_argument('--reals', action='store_true', default=False) parser.add_argument('--type', choices=['o', 'p', 's'], help="Which type of image.", default='s') parser.add_argument('--measure3', default='vos:OSSOS/measure3/2013B-L_redo/') parser.add_argument('--dbimages', default=None) parser.add_argument('--dry-run', action='store_true', default=False) parser.add_argument('--force', action='store_true', default=False) parser.add_argument("--fk", action="store_true", default=False, help="Do fakes?") parser.add_argument('--object-planted', default=OBJECT_PLANTED, help="Name of file contains list of planted objects.") parser.add_argument( '--bright-limit', default=BRIGHT_LIMIT, type=float, help= "Sources brighter than this limit {} are used to diagnose planting issues." .format(BRIGHT_LIMIT)) parser.add_argument( '--minimum-bright-detections', default=MINIMUM_BRIGHT_DETECTIONS, type=int, help= "required number of detections with mag brighter than bright-limit.") parser.add_argument( '--minimum-bright-fraction', default=MINIMUM_BRIGHT_FRACTION, type=float, help= "minimum fraction of objects above bright limit that should be found.") parser.add_argument("--debug", action="store_true") parser.add_argument("--verbose", "-v", action="store_true") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Starting {}".format(cmd_line)) prefix = (args.fk and "fk") or "" version = args.type ext = 'cands' if args.reals: ext = 'reals' if args.dbimages is not None: storage.DBIMAGES = args.dbimages astrom.DATASET_ROOT = args.dbimages storage.MEASURE3 = args.measure3 astrom_uri = storage.get_cands_uri(args.field, ccd=args.ccd, version=args.type, prefix=prefix, ext="measure3.{}.astrom".format(ext)) if args.astrom_filename is None: astrom_filename = os.path.basename(astrom_uri) else: astrom_filename = args.astrom_filename if not os.access(astrom_filename, os.F_OK): astrom_filename = os.path.dirname(astrom_uri) + "/" + astrom_filename # Load the list of astrometric observations that will be looked at. fk_candidate_observations = astrom.parse(astrom_filename) if args.expnum is None: expnum = fk_candidate_observations.observations[0].expnum else: expnum = args.expnum message = storage.SUCCESS if storage.get_status(task, prefix, expnum, version='', ccd=args.ccd) and not args.force: logging.info("{} completed successfully for {} {} {} {}".format( task, prefix, expnum, '', args.ccd)) return with storage.LoggingManager(task, prefix, expnum, args.ccd, version, args.dry_run): try: match_filename = os.path.splitext( os.path.basename(astrom_filename))[0] + '.match' logging.info(f'Got back:{match_filename}') match_uri = storage.get_cands_uri( args.field, ccd=args.ccd, version=args.type, prefix=prefix, ext="measure3.{}.match".format(ext), block=args.field) try: storage.copy(match_uri, match_filename) except NotFoundException as ex: logging.warning( f'No match file found at {match_uri}, creating one.') logging.debug(f'{ex}') pass logging.info( ("Comparing planted and measured magnitudes " "for sources in {} and {}\n".format(args.object_planted, astrom_filename))) result = match_planted( fk_candidate_observations, match_filename=match_filename, object_planted=args.object_planted, bright_limit=args.bright_limit, minimum_bright_detections=args.minimum_bright_detections, bright_fraction=args.minimum_bright_fraction) if not args.dry_run: storage.copy(match_filename, match_uri) uri = os.path.dirname(astrom_uri) keys = [storage.tag_uri(os.path.basename(astrom_uri))] values = [result] storage.set_tags_on_uri(uri, keys, values) logger.info(message) except Exception as err: import traceback traceback.print_exc() message = str(err) logging.error(message) if not args.dry_run: storage.set_status(task, prefix, expnum, version='', ccd=args.ccd, status=message) return
def main(): parser = argparse.ArgumentParser( description='Run makepsf chunk of the OSSOS pipeline') parser.add_argument('--ccd', '-c', action='store', type=int, dest='ccd', default=None, help='which ccd to process, default is all') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("expnum", type=int, nargs='+', help="expnum(s) to process") parser.add_argument( "--dry-run", action="store_true", help="DRY RUN, don't copy results to VOSpace, implies --force") parser.add_argument("--fk", action="store_true", help="Run fk images") parser.add_argument( "--type", "-t", choices=['o', 'p', 's'], help="which type of image: o-RAW, p-ELIXIR, s-SCRAMBLE", default='p') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--force", default=False, action="store_true") parser.add_argument("--debug", "-d", action="store_true") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Started {}".format(cmd_line)) prefix = (args.fk and 'fk') or '' storage.DBIMAGES = args.dbimages exit_code = 0 for expnum in args.expnum: if args.ccd is None: if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = list(range(0, 36)) else: # First exposrues with 40 CCD Megaprime ccdlist = list(range(0, 40)) else: ccdlist = [args.ccd] for ccd in ccdlist: run(expnum, ccd, args.type, args.dry_run, prefix, args.force) return exit_code
def main(): # Must be running as a script parser = argparse.ArgumentParser( description='Run step3jmp and step3matt on a given triple.') parser.add_argument("--ccd", "-c", action="store", default=None, type=int, dest="ccd") parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("expnums", type=int, nargs=3, help="3 expnums to process") parser.add_argument("--version", action='version', version='%(prog)s 1.0') parser.add_argument('-t', '--type', help='which type of image to process', choices=['s', 'p', 'o'], default='p') parser.add_argument('--fk', help='Do fakes?', default=False, action='store_true') parser.add_argument( '--field', help='a string that identifies which field is being searched', nargs='?') parser.add_argument('--no-sort', help='preserve input exposure order', action='store_true') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--debug", action="store_true") parser.add_argument("--rate_min", default=_RATE_MIN, help='minimum rate to accept', type=float) parser.add_argument('--rate_max', default=_RATE_MAX, help='maximum rate to accept', type=float) parser.add_argument('--angle', default=_ANGLE_CENTRE, help='angle of x/y motion, West is 0, North 90', type=float) parser.add_argument('--width', default=_ANGLE_WIDTH, help='openning angle of search cone', type=float) parser.add_argument("--dry-run", action="store_true", help="do not copy to VOSpace, implies --force") parser.add_argument("--force", action="store_true") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Starting {}".format(cmd_line)) storage.DBIMAGES = args.dbimages prefix = (args.fk and 'fk') or '' expnums = args.expnums version = args.type if args.ccd is None: expnum = min(expnums) if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = list(range(0, 36)) else: # First exposrues with 40 CCD Megaprime ccdlist = list(range(0, 40)) else: ccdlist = [args.ccd] if not args.no_sort: args.expnums.sort() for ccd in ccdlist: run(expnums, ccd, version=version, rate_min=args.rate_min, rate_max=args.rate_max, angle=args.angle, width=args.width, field=args.field, prefix=prefix, force=args.force, dry_run=args.dry_run)
def main(): parser = argparse.ArgumentParser( description='Run step1jmp and step1matt on a given exposure.') parser.add_argument("--ccd", "-c", action="store", default=None, type=int, dest="ccd") parser.add_argument("--fk", help="add the fk prefix on processing?", default=False, action='store_true') parser.add_argument("--dbimages", action="store", default=storage.DBIMAGES, help='vospace dbimages containerNode') parser.add_argument("--field", action="store", default=None, help="Name of the field being combined") parser.add_argument("expnum", type=int, help="expnum to process") parser.add_argument("--measure3", action="store", help="VOSpace location for measure3 files", default=storage.MEASURE3) parser.add_argument('--type', default='p', choices=['o', 'p', 's'], help="which type of image") parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--debug", '-d', action='store_true') parser.add_argument("--force", '-f', action='store_true') parser.add_argument("--dry-run", action="store_true", help="Don't push back to VOSpace, implies --force") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Starting {}".format(cmd_line)) storage.DBIMAGES = args.dbimages storage.MEASURE3 = args.measure3 expnum = args.expnum version = args.type prefix = (args.fk and 'fk') or '' if args.ccd is None: if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccd_list = list(range(0, 36)) else: # First exposures with 40 CCD Megaprime ccd_list = list(range(0, 40)) else: ccd_list = [args.ccd] for ccd in ccd_list: run(args.expnum, ccd, prefix=prefix, version=version, field=args.field, measure3_dir=args.measure3, dry_run=args.dry_run, force=args.force)
def main(): parser = argparse.ArgumentParser( description='Run mopheader chunk of the OSSOS pipeline') parser.add_argument('--ccd', '-c', action='store', type=int, dest='ccd', default=None, help='which ccd to process, default is all') parser.add_argument('--ignore-update-headers', action='store_true', dest='ignore_update_headers') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("expnum", type=int, nargs='+', help="expnum(s) to process") parser.add_argument("--dry-run", action="store_true", help="DRY RUN, don't copy results to VOSpace, implies --force") parser.add_argument("--fk", action="store_true", help="Run fk images") parser.add_argument("--type", "-t", choices=['o', 'p', 's'], help="which type of image: o-RAW, p-ELIXIR, s-SCRAMBLE", default='p') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--force", default=False, action="store_true") parser.add_argument("--debug", "-d", action="store_true") args = parser.parse_args() util.set_logger(args) logging.info("started") prefix = (args.fk and 'fk') or '' task = util.task() dependency = 'update_header' storage.DBIMAGES = args.dbimages if args.ccd is None: ccdlist = range(0, 36) else: ccdlist = [args.ccd] exit_code = 0 for expnum in args.expnum: for ccd in ccdlist: logging.info("Attempting to get status on header for {} {}".format(expnum, ccd)) storage.set_logger(task, prefix, expnum, ccd, args.type, args.dry_run) if storage.get_status(task, prefix, expnum, version=args.type, ccd=ccd) and not args.force: logging.info("{} completed successfully for {} {} {} {}".format(task, prefix, expnum, args.type, ccd)) continue message = 'success' try: logging.info("Building a header ") if not storage.get_status(dependency, prefix, expnum, "p", 36) and not args.ignore_update_headers: raise IOError("{} not yet run for {}".format(dependency, expnum)) mk_mopheader(expnum, ccd, args.type, args.dry_run, prefix=prefix) except CalledProcessError as cpe: message = str(cpe.output) exit_code = message except Exception as e: message = str(e) logging.info(message) logging.error(message) if not args.dry_run: storage.set_status(task, prefix, expnum, version=args.type, ccd=ccd, status=message) return exit_code
def main(): parser = argparse.ArgumentParser() parser.add_argument('--ccd', action='store', type=int, default=None, help='which ccd to process') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("expnums", type=int, nargs=3, help="expnum(s) to process") parser.add_argument("--type", action='store', default='s', choices=['s', 'p', 'o'], help='which type of image') parser.add_argument('--no-sort', action='store_true', default=False, help='no sorting exposure before processing') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--debug", '-d', action='store_true') parser.add_argument("--number", "-n", type=int, help="Number of KBOs to plant into images.", default=10) parser.add_argument("--mmin", type=float, help="Minimum magnitude value to add source with.", default=21.0) parser.add_argument("--mmax", type=float, help="Maximum magnitude value to add source with.", default=25.5) parser.add_argument("--rmin", default=0.5, type=float, help="minimum motion rate") parser.add_argument("--rmax", default=15, type=float, help="maximum motion rate") parser.add_argument("--width", default=30, type=float, help="angle opening") parser.add_argument("--ang", default=20, type=float, help="angle of motion, 0 is West") parser.add_argument("--force", action="store_true") parser.add_argument("--dry-run", action="store_true") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Starting {}".format(cmd_line)) storage.DBIMAGES = args.dbimages expnums = args.expnums version = args.type if args.ccd is None: expnum = min(expnums) if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = list(range(0, 36)) else: # First exposrues with 40 CCD Megaprime ccdlist = list(range(0, 40)) else: ccdlist = [args.ccd] if not args.no_sort: args.expnums.sort() for ccd in ccdlist: plant(args.expnums, ccd, args.rmin, args.rmax, args.ang, args.width, number=args.number, mmin=args.mmin, mmax=args.mmax, version=version, dry_run=args.dry_run)
parser.add_argument("--fk", action="store_true", help="Run fk images") parser.add_argument("--type", "-t", choices=['o', 'p', 's'], help="which type of image: o-RAW, p-ELIXIR, s-SCRAMBLE", default='p') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--force", default=False, action="store_true") parser.add_argument("--debug", "-d", action="store_true") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Started {}".format(cmd_line)) prefix = (args.fk and 'fk') or '' storage.DBIMAGES = args.dbimages for expnum in args.expnum: if args.ccd is None: ccdlist = storage.get_ccdlist(expnum) else: ccdlist = [args.ccd] for ccd in ccdlist: run(expnum, ccd)
def main(): # Must be running as a script parser = argparse.ArgumentParser( description='Run step2jmp and step2matt on a given exposure.') parser.add_argument("--ccd", "-c", action="store", default=None, type=int, dest="ccd") parser.add_argument("--fk", action="store_true", default=False, help="Do fakes?") parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("expnums", type=int, nargs=3, help="3 expnums to process") parser.add_argument("--version", action='version', version='%(prog)s 1.0') parser.add_argument('-t', '--type', help='which type of image to process', choices=['s', 'p', 'o'], default='p') parser.add_argument('--no-sort', help='preserve input exposure order', action='store_true') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--default", default="WCS", choices=['WCS', 'JMP'], help="Which shift should be used if they dis-agree?") parser.add_argument("--debug", action="store_true") parser.add_argument( "--dry-run", action="store_true", help="run without pushing back to VOSpace, implies --force") parser.add_argument("--force", action="store_true") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Starting {}".format(cmd_line)) storage.DBIMAGES = args.dbimages prefix = (args.fk and "fk") or "" expnums = args.expnums version = args.type if args.ccd is None: expnum = min(expnums) if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = list(range(0, 36)) else: # First exposrues with 40 CCD Megaprime ccdlist = list(range(0, 40)) else: ccdlist = [args.ccd] if not args.no_sort: args.expnums.sort() for ccd in ccdlist: run(args.expnums, ccd, version=version, prefix=prefix, dry_run=args.dry_run, default=args.default, force=args.force)
def main(): ### Must be running as a script parser = argparse.ArgumentParser( description='Run step1jmp and step1matt on a given exposure.') parser.add_argument("--ccd", "-c", action="store", default=None, type=int, dest="ccd") parser.add_argument("--ignore", help="Try to run even in previous step failed.", default=False, action="store_true") parser.add_argument("--fk", help="add the fk prefix on processing?", default=False, action='store_true') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("--sex_thresh", action="store", type=float, default=_SEX_THRESHOLD, help="sExtractor detection threhold") parser.add_argument("--wavelet_thresh", type=float, default=_WAVE_THRESHOLD, help="Wavelet detection threhold") parser.add_argument("expnum", type=int, nargs='+', help="expnum(s) to process") parser.add_argument("--version", action='version', version='%(prog)s 1.0') parser.add_argument('--type', default='p', choices=['o', 'p', 's'], help="which type of image") parser.add_argument('--log', default=None, help="Write standard out to this file") parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--debug", '-d', action='store_true') parser.add_argument("--force", action="store_true") parser.add_argument("--dry-run", action="store_true", help="Do a dry run, not changes to vospce, implies --force") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Starting {}".format(cmd_line)) storage.DBIMAGES = args.dbimages prefix = (args.fk and 'fk') or '' version = args.type exit_code = 0 for expnum in args.expnum: if args.ccd is None: if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = range(0,36) else: # First exposrues with 40 CCD Megaprime ccdlist = range(0, 40) else: ccdlist = [args.ccd] for ccd in ccdlist: run(expnum, ccd, prefix=prefix, version=version, sex_thresh=args.sex_thresh, wave_thresh=args.wavelet_thresh, dry_run=args.dry_run, force=args.force)
parser.add_argument("--fk", action="store_true", help="Run fk images") parser.add_argument( "--type", "-t", choices=['o', 'p', 's'], help="which type of image: o-RAW, p-ELIXIR, s-SCRAMBLE", default='p') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--force", default=False, action="store_true") parser.add_argument("--debug", "-d", action="store_true") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Started {}".format(cmd_line)) prefix = (args.fk and 'fk') or '' storage.DBIMAGES = args.dbimages for expnum in args.expnum: if args.ccd is None: ccdlist = storage.get_ccdlist(expnum) else: ccdlist = [args.ccd] for ccd in ccdlist: run(expnum, ccd)
def main(task='step1'): ### Must be running as a script parser = argparse.ArgumentParser( description='Run step1jmp and step1matt on a given exposure.') parser.add_argument("--ccd", "-c", action="store", default=None, type=int, dest="ccd") parser.add_argument("--ignore", help="Try to run even in previous step failed.", default=False, action="store_true") parser.add_argument("--fk", help="add the fk prefix on processing?", default=False, action='store_true') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("--sex_thresh", action="store", type=float, default=_SEX_THRESHOLD, help="sExtractor detection threhold") parser.add_argument("--wavelet_thresh", type=float, default=_WAVE_THRESHOLD, help="Wavelet detection threhold") parser.add_argument("expnum", type=int, nargs='+', help="expnum(s) to process") parser.add_argument("--version", action='version', version='%(prog)s 1.0') parser.add_argument('--type', default='p', choices=['o', 'p', 's'], help="which type of image") parser.add_argument('--log', default=None, help="Write standard out to this file") parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--debug", '-d', action='store_true') parser.add_argument("--force", action="store_true") parser.add_argument("--dry-run", action="store_true", help="Do a dry run, not changes to vospce, implies --force") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Starting {}".format(cmd_line)) storage.DBIMAGES = args.dbimages prefix = (args.fk and 'fk') or '' task = util.task() dependency = "mkpsf" version = args.type exit_code = 0 for expnum in args.expnum: if args.ccd is None: if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = range(0,36) else: # First exposrues with 40 CCD Megaprime ccdlist = range(0, 40) else: ccdlist = [args.ccd] for ccd in ccdlist: try: message = storage.SUCCESS if not (args.force or args.dry_run) and storage.get_status(task, prefix, expnum, version, ccd): logging.critical("{} completed successfully for {}{}{}{:02d}".format( task, prefix, expnum, version, ccd)) continue if not storage.get_status(dependency, prefix, expnum, version, ccd) and not args.ignore: raise IOError(35, "Cannot start {} as {} not yet completed for {}{}{}{:02d}".format( task, dependency, prefix, expnum, version, ccd)) storage.set_logger(task, prefix, expnum, ccd, args.type, args.dry_run) step1(expnum, ccd, prefix=prefix, version=version, dry_run=args.dry_run) except Exception as ex: message = str(ex) logging.error(message) if not args.dry_run: storage.set_status(task, prefix, expnum, version, ccd, status=message) logging.info(message) return exit_code
def main(): """ Run the align process. @return: None """ parser = argparse.ArgumentParser() parser.add_argument('--ccd', action='store', type=int, default=None, help='which ccd to process') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("expnums", type=int, nargs=3, help="expnum(s) to process") parser.add_argument("--type", action='store', default='s', choices=['s', 'p', 'o'], help='which type of image') parser.add_argument("--fk", help="add the fk prefix on processing?", default=False, action='store_true') parser.add_argument( '--no-sort', action='store_true', default=False, help='do not sort exposure list by expnum before processing') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--debug", '-d', action='store_true') parser.add_argument("--force", action="store_true") parser.add_argument("--dry-run", action="store_true") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Starting {}".format(cmd_line)) storage.DBIMAGES = args.dbimages prefix = (args.fk and 'fk') or '' version = args.type if not args.no_sort: args.expnums.sort() if args.ccd is None: if int(args.expnums[0]) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = list(range(0, 36)) else: # First exposrues with 40 CCD Megaprime ccdlist = list(range(0, 40)) else: ccdlist = [args.ccd] for ccd in ccdlist: align(args.expnums, ccd, version=version, prefix=prefix, dry_run=args.dry_run)
def main(): # Must be running as a script parser = argparse.ArgumentParser( description='Run step1jmp and step1matt on a given exposure.') parser.add_argument("--ccd", "-c", action="store", default=None, type=int, dest="ccd") parser.add_argument("--ignore", help="Try to run even in previous step failed.", default=False, action="store_true") parser.add_argument("--fk", help="add the fk prefix on processing?", default=False, action='store_true') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("--sex_thresh", action="store", type=float, default=_SEX_THRESHOLD, help="sExtractor detection threhold") parser.add_argument("--wavelet_thresh", type=float, default=_WAVE_THRESHOLD, help="Wavelet detection threhold") parser.add_argument("expnum", type=int, nargs='+', help="expnum(s) to process") parser.add_argument("--version", action='version', version='%(prog)s 1.0') parser.add_argument('--type', default='p', choices=['o', 'p', 's'], help="which type of image") parser.add_argument('--log', default=None, help="Write standard out to this file") parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--debug", '-d', action='store_true') parser.add_argument("--force", action="store_true") parser.add_argument("--dry-run", action="store_true", help="Do a dry run, not changes to vospce, implies --force") cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info("Starting {}".format(cmd_line)) storage.DBIMAGES = args.dbimages prefix = (args.fk and 'fk') or '' version = args.type for expnum in args.expnum: if args.ccd is None: if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = list(range(0, 36)) else: # First exposrues with 40 CCD Megaprime ccdlist = list(range(0, 40)) else: ccdlist = [args.ccd] for ccd in ccdlist: run(expnum, ccd, prefix=prefix, version=version, sex_thresh=args.sex_thresh, wave_thresh=args.wavelet_thresh, dry_run=args.dry_run, force=args.force, ignore=args.ignore)
def main(): """Run the script.""" parser = argparse.ArgumentParser( description='time scramble the input images by tweaking their headers.' ) parser.add_argument('--ccd', action='store', type=int, default=None, help='which ccd to process') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("expnums", type=int, nargs=3, help="expnums to scramble") parser.add_argument("--nosort", action='store_true', default=False, help="do not sort before processing") parser.add_argument("--type", action='store', default='p', choices=['p', 'o'], help='which type of image') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--debug", '-d', action='store_true') parser.add_argument("--dry-run", action="store_true", help="Do not copy back to VOSpace, implies --force") parser.add_argument("--force", action='store_true') cmd_line = " ".join(sys.argv) args = parser.parse_args() util.set_logger(args) logging.info('Starting {}'.format(cmd_line)) storage.DBIMAGES = args.dbimages prefix = '' version = args.type if not args.nosort: args.expnums.sort() expnums = args.expnums if args.ccd is None: if int(expnums[0]) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = list(range(0, 36)) else: # First exposrues with 40 CCD Megaprime ccdlist = list(range(0, 40)) else: ccdlist = [args.ccd] for ccd in ccdlist: # check if scramble image alraedy made for this ccd scramble(expnums=expnums, ccd=ccd, version=version, dry_run=args.dry_run, prefix=prefix)
def main(task='mkpsf'): parser = argparse.ArgumentParser( description='Run makepsf chunk of the OSSOS pipeline') parser.add_argument('--ccd', '-c', action='store', type=int, dest='ccd', default=None, help='which ccd to process, default is all') parser.add_argument("--dbimages", action="store", default="vos:OSSOS/dbimages", help='vospace dbimages containerNode') parser.add_argument("expnum", type=int, nargs='+', help="expnum(s) to process") parser.add_argument("--dry-run", action="store_true", help="DRY RUN, don't copy results to VOSpace, implies --force") parser.add_argument("--fk", action="store_true", help="Run fk images") parser.add_argument("--type", "-t", choices=['o', 'p', 's'], help="which type of image: o-RAW, p-ELIXIR, s-SCRAMBLE", default='p') parser.add_argument("--verbose", "-v", action="store_true") parser.add_argument("--force", default=False, action="store_true") parser.add_argument("--debug", "-d", action="store_true") args = parser.parse_args() util.set_logger(args) prefix = (args.fk and 'fk') or '' task = util.task() dependency = 'mk_mopheader' storage.DBIMAGES = args.dbimages exit_code = 0 for expnum in args.expnum: if args.ccd is None: if int(expnum) < 1785619: # Last exposures with 36 CCD Megaprime ccdlist = range(0,36) else: # First exposrues with 40 CCD Megaprime ccdlist = range(0, 40) else: ccdlist = [args.ccd] for ccd in ccdlist: if storage.get_status(task, prefix, expnum, version=args.type, ccd=ccd) and not args.force: logging.info("{} completed successfully for {} {} {} {}".format(task, prefix, expnum, args.type, ccd)) continue storage.set_logger(task, prefix, expnum, ccd, args.type, args.dry_run) message = 'success' try: if not storage.get_status(dependency, prefix, expnum, "p", ccd=ccd): raise IOError("{} not yet run for {}".format(dependency, expnum)) mkpsf(expnum, ccd, args.type, args.dry_run, prefix=prefix) if args.dry_run: continue storage.set_status('fwhm', prefix, expnum, version=args.type, ccd=ccd, status=str(storage.get_fwhm( expnum, ccd, version=args.type))) storage.set_status('zeropoint', prefix, expnum, version=args.type, ccd=ccd, status=str(storage.get_zeropoint( expnum, ccd, version=args.type))) except Exception as e: message = str(e) logging.error(message) if not args.dry_run: storage.set_status(task, prefix, expnum, version=args.type, ccd=ccd, status=message) return exit_code