Beispiel #1
0
    for compare_to in [pysiaf.JWST_PRD_VERSION, 'outdated pre-delivery']:
        if compare_to == 'outdated pre-delivery':
            ref_siaf = pysiaf.Siaf(instrument,
                                   filename=os.path.join(
                                       pre_delivery_dir,
                                       'NIRCam_SIAF_outdated.xml'))
        else:
            # compare new SIAF with PRD version
            ref_siaf = pysiaf.Siaf(instrument)

        tags = {'reference': compare_to, 'comparison': 'new pre-delivery'}

        compare.compare_siaf(pre_delivery_siaf,
                             reference_siaf_input=ref_siaf,
                             fractional_tolerance=1e-6,
                             report_dir=pre_delivery_dir,
                             tags=tags)

        compare.compare_transformation_roundtrip(pre_delivery_siaf,
                                                 reference_siaf_input=ref_siaf,
                                                 tags=tags,
                                                 report_dir=pre_delivery_dir)

        compare.compare_inspection_figures(pre_delivery_siaf,
                                           reference_siaf_input=ref_siaf,
                                           report_dir=pre_delivery_dir,
                                           tags=tags,
                                           mark_ref=True)

        create_jira_plots = False
Beispiel #2
0
#sort SIAF entries in the order of the aperture definition file
aperture_dict = OrderedDict(sorted(aperture_dict.items(), key=lambda t: aperture_name_list.index(t[0])))

#third pass to set DDCNames apertures, which depend on other apertures
ddc_siaf_aperture_names = np.array([key for key in _ddc_apername_mapping.keys()])
ddc_v2 = np.array([aperture_dict[aperture_name].V2Ref for aperture_name in ddc_siaf_aperture_names])
ddc_v3 = np.array([aperture_dict[aperture_name].V3Ref for aperture_name in ddc_siaf_aperture_names])
for AperName in aperture_name_list:
    separation_tel_from_ddc_aperture = np.sqrt((aperture_dict[AperName].V2Ref - ddc_v2)**2 + (aperture_dict[AperName].V3Ref - ddc_v3)**2)
    aperture_dict[AperName].DDCName = _ddc_apername_mapping[ddc_siaf_aperture_names[np.argmin(separation_tel_from_ddc_aperture)]]

aperture_collection = pysiaf.ApertureCollection(aperture_dict)

# write the SIAFXML to disk
[filename] = pysiaf.iando.write.write_jwst_siaf(aperture_collection, basepath=test_dir, file_format=['xml'])
print('SIAFXML written in {}'.format(filename))

# compare to SIAFXML produced the old way
# ref_siaf = pysiaf.Siaf(instrument, os.path.join(test_dir , '{}'.format('NIRISS_SIAF_2017-10-18.xml')))
ref_siaf = pysiaf.Siaf(instrument)
new_siaf = pysiaf.Siaf(instrument, filename)

# compare.compare_siaf(new_siaf, reference_siaf_input=ref_siaf, fractional_tolerance=1e-6, selected_aperture_name=['NIS_CEN', 'NIS_CEN_OSS'])
compare.compare_siaf(new_siaf, reference_siaf_input=ref_siaf, fractional_tolerance=1e-6)
# tools.compare_siaf_xml(ref_siaf, new_siaf)

compare.compare_transformation_roundtrip(new_siaf, reference_siaf_input=ref_siaf)


Beispiel #3
0
    for compare_to in [pysiaf.JWST_PRD_VERSION]:
        if compare_to == 'cdp7b':
            ref_siaf = pysiaf.Siaf(instrument,
                                   filename=os.path.join(
                                       pre_delivery_dir,
                                       'NIRISS_SIAF_cdp7b.xml'))
        else:
            # compare new SIAF with PRD version
            ref_siaf = pysiaf.Siaf(instrument)

        tags = {'reference': compare_to, 'comparison': 'pre_delivery'}

        compare.compare_siaf(pre_delivery_siaf,
                             reference_siaf_input=ref_siaf,
                             fractional_tolerance=1e-6,
                             report_dir=pre_delivery_dir,
                             tags=tags)

        compare.compare_transformation_roundtrip(
            pre_delivery_siaf,
            reference_siaf_input=ref_siaf,
            tags=tags,
            report_dir=pre_delivery_dir,
        )

        compare.compare_inspection_figures(pre_delivery_siaf,
                                           reference_siaf_input=ref_siaf,
                                           report_dir=pre_delivery_dir,
                                           tags=tags)
    if not os.path.isdir(pre_delivery_dir):
        os.makedirs(pre_delivery_dir)

    # write the SIAF files to disk
    filenames = pysiaf.iando.write.write_jwst_siaf(aperture_collection,
                                                   basepath=pre_delivery_dir,
                                                   file_format=['xml', 'xlsx'])

    pre_delivery_siaf = pysiaf.Siaf(instrument, basepath=pre_delivery_dir)

    # compare new SIAF with PRD version
    ref_siaf = pysiaf.Siaf(instrument)
    compare.compare_siaf(pre_delivery_siaf,
                         reference_siaf_input=ref_siaf,
                         fractional_tolerance=1e-6,
                         report_dir=pre_delivery_dir,
                         tags={
                             'reference': pysiaf.JWST_PRD_VERSION,
                             'comparison': 'pre_delivery'
                         })
    compare.compare_siaf(pre_delivery_siaf,
                         reference_siaf_input=ref_siaf,
                         fractional_tolerance=1e-6,
                         tags={
                             'reference': pysiaf.JWST_PRD_VERSION,
                             'comparison': 'pre_delivery'
                         })

    # run some tests on the new SIAF
    from pysiaf.tests import test_nirspec

    print(