도와 주셔서 감사합니다! 아래는 내가 직면하고있는 문제입니다. 내가 맞는 이미지의 헤더를 읽고 있다고 가정 해 봅시다. 헤더 카드 중 하나는 정의되지 않은 객체이며이를 처리하는 방법을 알지 못합니다.맞는 머리글에 정의되지 않은 값
from astropy.io import fits as pf
hdu = pf.open('myfitsfile')
hdu.info()
img_hd= hdu[0].header
print(img_hd['IMAGEZPT'])
<astropy.io.fits.card.Undefined object at 0x109b35a20>
나는 반복적으로 수천 개의 이미지를 통해 내 코드를 실행하고 거의 그들 모두가 몇 가지 값이 있습니다. 예 :
hdu_base = pf.open(a_lof[38])
img_hd= hdu_base[0].header
print(img_hd['IMAGEZPT'])
23.61687
여기에 다른 값을 지정하고 계속 진행하기 만하면됩니다. 그래서,
if img_hd['IMAGEZPT'] == None:
img_hd['IMAGEZPT'] = base_ZPT #some value I know
print(img_hd['IMAGEZPT'])
을 시도하지만 예상대로 키워드가 정의되지 않기 때문에이 작동하지 않았다. 그래서 '== None'은 작동하지 않습니다. 키워드가 존재하지만 그것은 정의되지 않았습니다.
도움이 될 것입니다! 보다도, Abhi
흠. 헤더에 '정의되지 않음'이 표시되는 것은 대부분 구현 세부 사항이므로 이상하지 않습니다. 그것은 Astropy의 버그와 같습니다. 헤더 견본을 게시 할 수 있습니까? – Iguananaut
사용중인 데이터는 공개되었습니다. 맞는 파일을 살펴볼 수 있습니다. IRSA-PTF 이미지 서비스 (http://irsa.ipac.caltech.edu/applications/ptf/)로 이동하십시오. 그런 다음 단일 노출 이미지의 필드 ID 및 CCD ID를 사용하여 검색하십시오. 필드 ID = 100025, CCDID = 1.이 쿼리를 실행하고 완료되면 EXPID = 49679 (첫 페이지 자체의 아래쪽에서 8 번째)로 이미지를 찾습니다. 헤더의 SEEING 및 IMAGEZPT 키워드를 읽으려고 할 때이 메시지를 반환하는 몇 가지 파일 중 하나입니다. – Abhishek
헤더가 여기에 붙여 넣기에 큰 것처럼 보입니다. – Abhishek