Handhabung von Science Instrument Aperture -Dateien (SIAF) für Weltraumteleskope. SIAF -Dateien enthalten detaillierte geometrische Fokusebene -Beschreibungen und Beziehungen für die Wissenschaftsinstrumente. Sie werden in der JWST/HST -PRD (Projektreferenzdatenbank) verwaltet.
Pysiaf ist ein Python -Paket zum Zugriff auf, interpretieren, pflegen und generieren, insbesondere für JWST. Die Tools zur Anwendung der Rahmentransformationen, -Plotten, des Vergleichs und der Validierung werden bereitgestellt.
Überprüfen Sie, welche PRD -Version verwendet wird:
print(pysiaf.JWST_PRD_VERSION)
Rahmentransformationen ( det , sci , idl , tel sind unterstützte Frames):
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)
Auftreten (nur eine kleine Teilmenge von Optionen ist dargestellt):



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()
Die Hauptreferenz für eine Beschreibung von JWST Siaf ist Cox & Lallo, 2017, JWST-StSci-001550: Beschreibung und Verwendung der Datei JWST Science Instrument Aperture , verfügbar unter https://jwst.stsci.edu/documentation/techical-documents .
Pysiaf ist unter https://pysiaf.readthedocs.io/ dokumentiert
Wenn Sie dieses Paket nützlich finden, zitieren Sie den Zenodo -Datensatz mit dem obigen DOI -Abzeichen. Weitere Zitieranweisungen finden Sie im Zitat.
Alle Parameterwerte in PYSIAF ändert sich. JWST -Werte sind vorläufig, bis die Inbetriebnahme der JWST -Observatorium abgeschlossen ist.
Verzerrung und andere Transformationen in Pysiaf sind für Operationen ausreichend, haben jedoch nicht unbedingt eine Qualitätsqualität. Beispielsweise wird im Allgemeinen nur eine Filterlösung pro Blende getragen. Für Transformationen für wissenschaftliche Qualitätsgrade wenden Sie sich bitte an die wissenschaftlichen Pipelines und deren Referenzdateien (siehe https://jwst-docs.stsci.edu/jwst-data-uction-pipeline)
Für die Planung der wissenschaftlichen Beobachtung hat die in der neueste APT (http://www.stsci.edu/hst/proposing/tp) implementierte Fokusebene -Geometrie Vorrang voran.
Die STSCI -Teleskope -Zweigstelle unterstützt PYSIAF nur für S & OC -Betriebssysteme.
Bitte öffnen Sie ein neues Problem oder eine neue Pull -Anfrage für Fehler, Feedback oder neue Funktionen, die Sie gerne sehen möchten. Wenn es ein Problem gibt, an dem Sie arbeiten möchten, hinterlassen Sie bitte einen Kommentar und wir werden gerne helfen. Neue Beiträge und Mitwirkende sind sehr willkommen!
Haben Sie Feedback- und Feature -Anfragen? Fehlt etwas, das Sie gerne sehen möchten? Bitte öffnen Sie ein Problem oder senden Sie eine E -Mail an die Betreuer. Dieses Paket folgt dem Space Telescope -Verhaltenscode von Verhaltensweisen bemüht sich, allen unseren Benutzern und Mitwirkenden eine einladende Community zu bieten.
Das Folgende beschreibt den typischen Arbeitsfluss für den Beitrag zum PYSIAF-Projekt (angepasst von JWQL): 0. Verpflichten Sie keine vertraulichen Informationen (z. . Git -Geschichte kann nicht gelöscht werden.
spacetelescope pysiaf -Repository auf Ihrem persönlichen Github -Raum.upstream Sie sicherspacetelescope pysiaf , das die Notwendigkeit und Art der Änderungen beschreibt, die Sie vornehmen möchten. Dies ist für geringfügige Änderungen und Korrekturen nicht erforderlich.origin .spacetelescope pysiaf -Repository eine Pull -Anfrage, die den Zweig in spacetelescope:master verwandelt.Dieses Paket wird in Python 3.10+ unterstützt
pip install pysiaf
Klonen Sie das Repository:
git clone https://github.com/spacetelescope/pysiaf
Installieren Sie Pysiaf:
cd pysiaf
pip install .
Installieren Sie in Entwicklungsmodus pip install -e .
Wenn Sie einen Fehler erhalten
import pysiaf
das spindert zurück zu zu
import lxml.etree as ET
und Staaten
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 ,,
Dies kann wahrscheinlich durch Herunterfahren der Version von LXML fixiert werden, z. B.
pip uninstall lxml
pip install lxml==3.6.4
PYQT5 -Installationsprobleme: Wenn Sie MacOS Mojave verwenden, scheitert Matplotlib ohne PYQT5. Bitte ergreifen Sie geeignete Maßnahmen, um sicherzustellen, dass PYQT5 für die installiert ist