Penanganan File Apertur Instrumen Sains (SIAF) untuk teleskop luar angkasa. File SIAF berisi deskripsi bidang fokus geometris terperinci dan hubungan untuk instrumen sains. Mereka dipelihara dalam JWST/HST PRD (Project Reference Database).
Pysiaf adalah paket Python untuk mengakses, menafsirkan, memelihara, dan menghasilkan SIAF, khususnya untuk JWST. Alat untuk menerapkan transformasi bingkai, plot, perbandingan, dan validasi disediakan.
Periksa versi PRD mana yang digunakan:
print(pysiaf.JWST_PRD_VERSION)
Transformasi bingkai ( det , sci , idl , tel adalah bingkai yang didukung):
import pysiaf
instrument = 'NIRISS'
# read SIAFXML
siaf = pysiaf.Siaf(instrument)
# select single aperture by name
nis_cen = siaf['NIS_CEN']
# access SIAF parameters
print('{} V2Ref = {}'.format(nis_cen.AperName, nis_cen.V2Ref))
print('{} V3Ref = {}'.format(nis_cen.AperName, nis_cen.V3Ref))
for attribute in ['InstrName', 'AperShape']:
print('{} {} = {}'.format(nis_cen.AperName, attribute, getattr(nis_cen, attribute)))
# coordinates in Science frame
sci_x = np.array([0, 2047, 2047, 0])
sci_y = np.array([0, 0, 2047, 2047])
# transform from Science frame to Ideal frame
idl_x, idl_y = nis_cen.sci_to_idl(sci_x, sci_y)
Plotting (hanya sebagian kecil opsi yang diilustrasikan):



import matplotlib.pyplot as plt
plt.figure(figsize=(4, 4), facecolor='w', edgecolor='k'); plt.clf()
# plot single aperture
nis_cen.plot()
# plot all apertures in SIAF
for aperture_name, aperture in siaf.apertures.items():
aperture.plot()
plt.show()
# plot 'master' apertures
from pysiaf.siaf import plot_master_apertures
plt.figure(figsize=(8, 8), facecolor='w', edgecolor='k'); plt.clf()
plot_master_apertures(mark_ref=True)
plt.show()
# plot HST apertures
siaf = pysiaf.Siaf('HST')
aperture_names = ['FGS1', 'FGS2', 'FGS3', 'IUVIS1FIX', 'IUVIS2FIX', 'JWFC1FIX', 'JWFC2FIX']
plt.figure(figsize=(4, 4), facecolor='w', edgecolor='k')
for aperture_name in aperture_names:
siaf[aperture_name].plot(color='r', fill_color='darksalmon', mark_ref=True)
ax = plt.gca()
ax.set_aspect('equal')
ax.invert_yaxis()
plt.show()
Referensi utama untuk deskripsi JWST SIAF adalah Cox & Lallo, 2017, JWST-STSCI-001550: Deskripsi dan penggunaan file aperture instrumen sains JWST , tersedia di https://jwst.stsci.edu/documentation/technical-okumen .
Pysiaf didokumentasikan di https://pysiaf.readthedocs.io/
Jika Anda menemukan paket ini berguna, silakan pertimbangkan mengutip catatan Zenodo menggunakan lencana DOI di atas. Silakan temukan instruksi kutipan tambahan dalam kutipan.
Semua nilai parameter di PysiaF dapat berubah. Nilai -nilai JWST adalah pendahuluan sampai Commissioning Observatorium JWST berakhir.
Distorsi dan transformasi lain dalam Pysiaf memiliki akurasi yang cukup untuk operasi, tetapi tidak harus memiliki kualitas tingkat sains. Misalnya, umumnya hanya satu solusi filter yang dibawa per aperture. Untuk transformasi tingkat sains, silakan berkonsultasi dengan pipa sains dan file referensi mereka (lihat https://jwst-docs.stsci.edu/jwst-data-reduction-pipeline)
Untuk perencanaan pengamatan sains, geometri bidang fokus yang diimplementasikan dalam APT terbaru (http://www.stsci.edu/hst/proposing/apt) diutamakan.
Cabang Teleskop STSCI memberikan dukungan penuh dari Pysiaf hanya untuk sistem operasional S&OC.
Harap buka edisi baru atau permintaan tarik baru untuk bug, umpan balik, atau fitur baru yang ingin Anda lihat. Jika ada masalah yang ingin Anda kerjakan, silakan tinggalkan komentar dan kami akan dengan senang hati membantu. Kontribusi dan kontributor baru sangat disambut!
Apakah Anda memiliki umpan balik dan permintaan fitur? Apakah ada sesuatu yang hilang yang ingin Anda lihat? Harap buka masalah atau kirim email ke pengelola. Paket ini mengikuti Kode Etik Teleskop Antariksa berusaha untuk menyediakan komunitas yang ramah kepada semua pengguna dan kontributor kami.
Berikut ini menggambarkan aliran kerja yang khas untuk berkontribusi pada proyek PysiaF (diadaptasi dari JWQL): 0. Jangan melakukan informasi sensitif apa pun (misalnya struktur jalur stsci-internal, nama mesin, nama pengguna, kata sandi, dll.) Untuk repositori publik ini . Sejarah git tidak dapat dihapus.
spacetelescope pysiaf di ruang github pribadi Anda.upstream ke https://github.com/spacetelescope/pysiafspacetelescope pysiaf yang menggambarkan kebutuhan dan sifat perubahan yang Anda rencanakan. Ini tidak diperlukan untuk perubahan dan perbaikan kecil.origin .pysiaf spacetelescope , buat permintaan tarik yang menggabungkan cabang menjadi spacetelescope:master .Paket ini didukung dalam Python 3.10+
pip install pysiaf
Klon Repositori:
git clone https://github.com/spacetelescope/pysiaf
Instal Pysiaf:
cd pysiaf
pip install .
Instal in Develop Mode pip install -e .
Jika Anda mendapatkan kesalahan
import pysiaf
yang melacak kembali ke
import lxml.etree as ET
dan negara bagian
ImportError [...] Library not loaded: libxml2.2.dylib Reason: Incompatible library version: etree.[...] requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0 ,
Ini mungkin dapat diperbaiki dengan menurunkan versi LXML, misalnya
pip uninstall lxml
pip install lxml==3.6.4
Masalah instalasi PYQT5: Jika menggunakan macos mojave, itu menyebabkan matplotlib gagal tanpa pyqt5. Harap ambil tindakan yang tepat untuk memastikan PYQT5 diinstal