2014-11-20 7 views
0

일부 새 열을 추가하여 FITS 테이블 확장을 업데이트하려고합니다. 나는 http://pyfits.readthedocs.org/en/latest/users_guide/users_table.html#merging-tables에 주어진 방법을 따르고있다. 그러나 병합 된 테이블의 머리글에는 열을 식별하는 데 필요한 최소한의 정보 만 포함됩니다. 원본 헤더 파일에 필요한 정보가 있습니다. 이전 테이블의 모든 추가 키워드를 새 테이블로 옮길 수 있습니까?헤더를 보존하면서 테이블에 열 추가

이미

merged_table.header = old_table.header 

을 시도하고 수동으로 새로운 열의에 필요한 항목에 추가, 그러나 이것은 항상 헤더를 손상하고 전체 파일을 읽을 수 FITS 수있다.

감사

답변

1

이에 대한 가장 좋은 대답은 부분적으로 새로운 테이블이 생성되는 방식에 따라 다르지만 PyFITS (V3.3.0) 또는 Astropy (v0.4.2)을 BinTableHDU.from_columns 방법의 최신 버전으로하는 열 정의 집합에서 새 BINARY 테이블 HDU를 만듭니다. 예를 들어 원본 테이블 HDU의 헤더를 수신 할 수있는 선택적 header 인수를 사용할 수 있습니다.

이렇게하면 FITS 형식으로 이해되는 테이블 구조와 관련된 키워드는 무시되며 다른 메타 데이터 만 유지됩니다. header 인수가 무시되었지만 지금은 수정해야하는 버그가 있다고 생각합니다.

+0

내 방식보다 훨씬 낫습니다. 감사합니다. – TheBigH

+1

희망 - 그것이 행운을 빌어 요. 또한 Astropy Table 인터페이스를 확인해보십시오. http://docs.astropy.org/en/stable/table/index.html 대다수의 FITS 테이블에서 작동하는 테이블을 조작하기위한 인터페이스가 훨씬 우수합니다. – Iguananaut