예제 #1
0
def output_filename(file_name):
    dirname = os.path.dirname(file_name)
    if len(dirname) > 0:
        dirname += "/"
    target = info.get_target(file_name)
    filter1, filter2 = info.get_filters(file_name)
    image_time = info.get_image_time(file_name)
    spacecraft = info.get_spacecraft_name(file_name)
    image_id = file_name[:file_name.index(".")]
    camera = info.get_instrument_id(file_name)

    if camera is not None and len(camera) > 0:
        camera = "NAC" if camera == "NARROW_ANGLE_CAMERA" else "WAC"
    else:
        camera = "UNK"

    sc = "Vg1" if spacecraft == "VOYAGER_1" else "Vg2"

    out_file = "{dirname}{image_id}_{spacecraft}_{camera}_{target}_{filter1}_{image_date}".format(dirname=dirname,
                                                                                        image_id=image_id,
                                                                                        spacecraft=sc,
                                                                                        camera=camera,
                                                                                        target=target,
                                                                                        filter1=filter1,
                                                                                        image_date=image_time.strftime('%Y-%m-%d_%H.%M.%S'))
    return out_file
예제 #2
0
def printInfo(lbl_file_name):
    target = info.get_target(lbl_file_name)
    filter1, filter2 = info.get_filters(lbl_file_name)
    image_time = info.get_image_time(lbl_file_name)
    num_lines = info.get_num_lines(lbl_file_name)
    num_line_samples = info.get_num_line_samples(lbl_file_name)
    sample_bits = info.get_sample_bits(lbl_file_name)

    instrument = info.get_instrument_id(lbl_file_name)
    if instrument in ("ISSNA", "NARROW_ANGLE_CAMERA"):
        camera = "Narrow"
    elif instrument in ("ISSWA", "WIDE_ANGLE_CAMERA"):
        camera = "Wide"
    else:
        camera = "NA"


    print "%25s|%10s|%10s|%22s|%5s|%5s|%4s|%8s| %s"%(target,
                                                filter1,
                                                filter2,
                                                image_time.strftime('%Y-%m-%d %H:%M:%S'),
                                                num_lines,
                                                num_line_samples,
                                                sample_bits,
                                                camera,
                                                lbl_file_name)
예제 #3
0
def output_filename(file_name):
    dirname = os.path.dirname(file_name)
    if len(dirname) > 0:
        dirname += "/"
    product_id = info.get_product_id(file_name)
    target = info.get_target(file_name)
    filter1, filter2 = info.get_filters(file_name)
    image_time = info.get_image_time(file_name)

    out_file = "{dirname}{product_id}_{target}_{filter1}_{filter2}_{image_date}".format(
        dirname=dirname,
        product_id=product_id[2:-4],
        target=target,
        filter1=filter1,
        filter2=filter2,
        image_date=image_time.strftime('%Y-%m-%d_%H.%M.%S'))
    return out_file
예제 #4
0
    use_fov = True

    args = parser.parse_args()

    source = args.data
    fov = args.fov
    pct = args.pct

    if not os.path.exists(source):
        print "Specified dataset %s not found" % source
        sys.exit(1)

    output_path = "%s_Simulated.jpg" % utils.output_filename(source)

    image_time = info.get_image_time(source)
    target = info.get_target(source).upper()

    default_fov = 1
    camera = info.get_instrument_id(source)
    if camera == "ISSNA":
        default_fov = 0.35
    elif camera == "ISSWA":
        default_fov = 3.5

    if fov is None or fov < 1 or fov > 90:
        fov = default_fov

    if pct is not None:
        use_fov = False
예제 #5
0
 def test_get_image_time_cub(self):
     image_time = info.get_image_time(TestIsis3Galileo.CUB_FILE)
     assert image_time.strftime('%Y-%m-%d %H:%M:%S') == "1999-11-26 04:53:00"
예제 #6
0
 def test_get_image_time_cub(self):
     image_time = info.get_image_time(TestIsis3Voyager.CUB_FILE)
     assert image_time.strftime(
         '%Y-%m-%d %H:%M:%S') == "1981-08-26 02:35:11"
예제 #7
0
def process_data_file(lbl_file_name, require_target, require_filters,
                      require_width, require_height, metadata_only, is_verbose,
                      skip_existing, init_spice, nocleanup,
                      additional_options):
    source = utils.guess_from_filename_prefix(lbl_file_name)
    source_dirname = os.path.dirname(source)
    if source_dirname == "":
        source_dirname = "."

    if not os.path.exists(source):
        print "File %s does not exist" % source
    else:
        print_if_verbose("Processing %s" % source, is_verbose)

    target = info.get_target(source)
    print_if_verbose("Target: %s" % target, is_verbose)

    product_id = info.get_product_id(source)
    print_if_verbose("Product ID: %s" % product_id, is_verbose)

    try:
        filter1, filter2 = info.get_filters(source)
    except:
        filter1, filter2 = (None, None)
    print_if_verbose("Filter #1: %s" % filter1, is_verbose)
    print_if_verbose("Filter #2: %s" % filter2, is_verbose)

    width = info.get_num_line_samples(source)
    height = info.get_num_lines(source)

    lines = info.get_num_lines(source)
    print_if_verbose("Lines: %s" % lines, is_verbose)

    line_samples = info.get_num_line_samples(source)
    print_if_verbose("Samples per line: %s" % line_samples, is_verbose)

    image_date = info.get_image_time(source)
    print_if_verbose("Image Date: %s" % image_date, is_verbose)

    out_file_base = utils.output_filename(source)

    out_file_tiff = "%s.tif" % out_file_base
    print_if_verbose("Output Tiff: %s" % out_file_tiff, is_verbose)

    out_file_cub = "%s.cub" % out_file_base
    print_if_verbose("Output Cube: %s" % out_file_cub, is_verbose)

    if metadata_only:
        return

    if skip_existing and os.path.exists(out_file_cub) and os.path.exists(
            out_file_tiff):
        print "Output exists, skipping."
        return

    if require_target is not None and not require_target.upper(
    ) == target.upper():
        print "Target mismatch, exiting."
        return

    if require_filters is not None and not (filter1 in require_filters
                                            or filter2 in require_filters):
        print "Filter mismatch, exiting."
        return

    if require_height is not None and not (str(height) in require_height):
        print "Height filter mismatch, exiting"

    if require_width is not None and not (str(width) in require_width):
        print "Width filter mismatch, exiting"

    utils.process_pds_data_file(source,
                                is_verbose=is_verbose,
                                init_spice=init_spice,
                                nocleanup=nocleanup,
                                additional_options=additional_options)
예제 #8
0
 def test_get_image_time_cub(self):
     image_time = info.get_image_time(TestIsis3Info.CUB_FILE)
     assert image_time.strftime(
         '%Y-%m-%d %H:%M:%S') == "2005-03-09 04:09:10"