우주 망원경에 대한 과학 기기 조리개 파일 (SIAF)의 처리. SIAF 파일에는 과학 도구에 대한 자세한 기하학적 초점 평면 설명과 관계가 포함되어 있습니다. JWST/HST PRD (프로젝트 참조 데이터베이스)로 유지됩니다.
PySIAF는 특히 JWST에 대한 SIAF에 액세스, 해석, 유지 및 생성하는 파이썬 패키지입니다. 프레임 변환, 플로팅, 비교 및 검증을 적용하기위한 도구가 제공됩니다.
사용중인 PRD 버전을 확인하십시오.
print(pysiaf.JWST_PRD_VERSION)
프레임 변환 ( det , sci , idl , tel 지원되는 프레임) :
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)
플로팅 (작은 옵션의 작은 하위 집합 만 설명) :



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()
JWST SIAF에 대한 주요 참조는 Cox & Lallo, 2017, JWST-STSCI-001550 : https://jwst.stsci.edu/documentation/technical-documentation/technical-documentation에서 제공되는 JWST 과학 기기 조리개 파일의 설명 및 사용입니다 . .
pysiaf는 https://pysiaf.readthedocs.io/에서 문서화됩니다.
이 패키지가 유용하다면 위의 DOI 배지를 사용하여 Zenodo 레코드를 인용하는 것을 고려하십시오. 인용에서 추가 인용 지침을 찾으십시오.
pysiaf의 모든 매개 변수 값은 변경 될 수 있습니다. JWST 값은 JWST 전망대 시운전이 끝날 때까지 예비입니다.
Pysiaf의 왜곡 및 기타 변환은 운영에 충분한 정확도가 있지만 반드시 과학적 등급의 품질을 갖는 것은 아닙니다. 예를 들어, 일반적으로 하나의 필터 솔루션 만 조리개 당 운반됩니다. 과학 등급의 변환은 과학 파이프 라인과 해당 참조 파일을 참조하십시오 (https://jwst-docs.stsci.edu/jwst-data- 줄무늬 -pipeline 참조).
과학 관찰 계획의 경우, 최신 APT (http://www.stsci.edu/hst/proposing/apt)에서 구현 된 초점 평면 형상이 우선합니다.
STSCI 망원경 지점은 S & OC 운영 체제에 대해서만 PYSIAF를 완전히 지원합니다.
버그, 피드백 또는보고 싶은 새로운 기능에 대한 새로운 문제 또는 새로운 풀 요청을 열어주십시오. 작업하고 싶은 문제가 있으면 의견을 남겨 주시면 기꺼이 도와 드리겠습니다. 새로운 기부금과 기여자들은 매우 환영합니다!
피드백과 기능 요청이 있습니까? 당신이보고 싶은 것이 빠르나요? 문제를 열거나 관리자에게 이메일을 보내주십시오. 이 패키지는 우주 망원경 행동 강령을 따라 모든 사용자와 기여자들에게 환영하는 커뮤니티를 제공하기 위해 노력합니다.
다음은 PYSIAF 프로젝트 (JWQL에서 조정)에 기여하기위한 일반적인 작업 흐름을 설명합니다. . GIT 역사는 지워질 수 없습니다.
spacetelescope pysiaf 저장소에서 포크를 만듭니다.upstream 를 지적하고 있는지 확인하십시오spacetelescope pysiaf 에 대한 문제를 열어주는 변화의 필요성과 특성을 설명하십시오. 이것은 사소한 변화와 수정에 필요하지 않습니다.origin 로 밀어 넣으십시오.spacetelescope pysiaf 저장소에서 분기를 spacetelescope:master 로 병합하는 풀 요청을 만듭니다.이 패키지는 Python 3.10+에서 지원됩니다
pip install pysiaf
저장소 복제 :
git clone https://github.com/spacetelescope/pysiaf
pysiaf 설치 :
cd pysiaf
pip install .
개발 모드 pip install -e .
오류가 발생하면
import pysiaf
다시 추적합니다
import lxml.etree as ET
그리고 주
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
이것은 아마도 LXML 버전을 다운 그레이드하여 수정 될 수 있습니다.
pip uninstall lxml
pip install lxml==3.6.4
PYQT5 설치 문제 : MacOS Mojave를 사용하는 경우 PYQT5없이 MATPLOTLIB가 실패하게됩니다. PYQT5가 설치되어 있는지 확인하기 위해 적절한 조치를 취하십시오.