astropy.io에서fits 파일 정보 얻기
개요
이전 글 "Python에서 HEALPix 그리기" 중.fits 파일의 IStokes 및 QStokes를 그렸습니다.이번에는 그 서류를 그리지 말고 자세한 정보를 봅시다.
astropy.io
다음에 필요한 모듈은 이번에fits를 import로 합니다.
from astropy.io import fits as ft
fits
다운로드위성 데이터하고 읽어보세요.
# read Planck data
planck_map = ft.open('./LFI_SkyMap_030_1024_R2.01_full.fits')
정보 보기
header
이
planck_map
변수의 정보를 봅시다.다음 정보를 볼 수 있습니다.print(repr(planck_map[0].header))
출력 좀 봐.SIMPLE = T / file does conform to FITS standard
BITPIX = 16 / number of bits per data pixel
NAXIS = 0 / number of data axes
EXTEND = T / FITS dataset may contain extensions
COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy
COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
repr
함수는 상호작용 모드로만 표시되며 있든 없든 상관없습니다.다음 면접에서 해 봅시다.
print(repr(planck_map[1].header))
결과 출력은 다음과 같습니다.XTENSION= 'BINTABLE' / binary table extension
BITPIX = 8 / 8-bit bytes
NAXIS = 2 / 2-dimensional binary table
NAXIS1 = 40 / width of table in bytes
NAXIS2 = 12582912 / number of rows in table
PCOUNT = 0 / size of special data area
GCOUNT = 1 / one data group (required keyword)
TFIELDS = 10 / number of fields in each row
TTYPE1 = 'I_Stokes' / label for field 1
TFORM1 = 'E ' / data format of field: 4-byte REAL
TUNIT1 = 'K_CMB ' / physical unit of field
TTYPE2 = 'Q_Stokes' / label for field 2
TFORM2 = 'E ' / data format of field: 4-byte REAL
TUNIT2 = 'K_CMB ' / physical unit of field
TTYPE3 = 'U_Stokes' / label for field 3
TFORM3 = 'E ' / data format of field: 4-byte REAL
TUNIT3 = 'K_CMB ' / physical unit of field
TTYPE4 = 'Hits ' / label for field 4
TFORM4 = 'J ' / data format of field: 4-byte INTEGER
TUNIT4 = 'none ' / physical unit of field
TTYPE5 = 'II_cov ' / label for field 5
TFORM5 = 'E ' / data format of field: 4-byte REAL
TUNIT5 = '(K_CMB)^2' / physical unit of field
TTYPE6 = 'IQ_cov ' / label for field 6
TFORM6 = 'E ' / data format of field: 4-byte REAL
TUNIT6 = '(K_CMB)^2' / physical unit of field
TTYPE7 = 'IU_cov ' / label for field 7
TFORM7 = 'E ' / data format of field: 4-byte REAL
TUNIT7 = '(K_CMB)^2' / physical unit of field
TTYPE8 = 'QQ_cov ' / label for field 8
TFORM8 = 'E ' / data format of field: 4-byte REAL
TUNIT8 = '(K_CMB)^2' / physical unit of field
TTYPE9 = 'QU_cov ' / label for field 9
TFORM9 = 'E ' / data format of field: 4-byte REAL
TUNIT9 = '(K_CMB)^2' / physical unit of field
TTYPE10 = 'UU_cov ' / label for field 10
TFORM10 = 'E ' / data format of field: 4-byte REAL
TUNIT10 = '(K_CMB)^2' / physical unit of field
EXTNAME = 'FREQ-MAP'
DATE = '2015-01-20T12:35:13' / file creation date (YYYY-MM-DDThh:mm:ss UT)
COMMENT
COMMENT *** Planck params ***
COMMENT
PIXTYPE = 'HEALPIX ' / HEALPIX pixelisation
ORDERING= 'NESTED ' / Pixel ordering scheme, either RING or NESTED
NSIDE = 1024 / Resolution parameter for HEALPIX
FIRSTPIX= 0 / First pixel # (0 based)
LASTPIX = 12582911 / Last pixel # (0 based)
INDXSCHM= 'IMPLICIT' / Indexing: IMPLICIT or EXPLICIT
EXTVER = 2
PROCVER = 'DX11D '
BAD_DATA= -1.6375E+30
FREQ = 30
COORDSYS= 'GALACTIC'
POLCCONV= 'COSMO ' / Coord. convention for polarization (COSMO/IAU)
FILENAME= 'LFI_SkyMap_030_1024_R2.01_full.fits'
COMMENT ---------------------------------------------------------------------
COMMENT LFI RIMO 12.1
COMMENT Madam version 3.7.4
COMMENT Added monopole offset 8.34887355761e-05 to column I_Stokes
COMMENT LFI-DMC object:
COMMENT TOODI%ACCTOODI%%madam_IQUmap_LFI_calib_30GHz_DX11D_full_025_sec:0%
COMMENT TOODI%ACCTOODI%%madam_hit_LFI_calib_30GHz_DX11D_full_025_sec:0%
COMMENT TOODI%ACCTOODI%%madam_cov_LFI_calib_30GHz_DX11D_full_025_sec:0%
COMMENT ---------------------------------------------------------------------
CHECKSUM= 'Ec3CFc1BEc1BEc1B' / HDU checksum updated 2015-01-20T12:35:18
DATASUM = '706919705' / data unit checksum updated 2015-01-20T12:35:18
이렇게 하면 TTYPE1
처럼 쓴 항목에 I_Stokes
과Q_Stokes
가 있다는 것을 알 수 있다.header['TTYPE3']
다음과 같이 실행해 보세요.
print(planck_map[1].header['TTYPE3'])
결과는 다음과 같다.U_Stokes
TTYPE3
에 추적 파라미터 U의 데이터가 포함되어 있습니다.header['NSIDE']
다음은 이거야.피트스 파일 좀 볼게요.
n_side
print(planck_map[1].header['NSIDE'])
그리하여1024
이렇게fits 파일이 무엇인지pixel을 찾기 위해 필요한 정보를 얻을 수 있습니다.header['ORDERING']
다음은 이거야.피트스 파일 주문서 좀 봅시다.이곳의 주문서는pixel의 번호 규칙을 의미합니다.

RING

NESTED
그럼 주문서 좀 찾아볼게요.
print(planck_map[1].header['ORDERING'])
그리하여NESTED
알고 있습니다.결어
이 방법을 사용하여 하나하나.fits를 다운로드한 사이트에서 정보를 찾지 않아도 로컬 환경에서'이.fits 파일이 어떤 데이터인지, 어떤 데이터 구조인지'를 확인할 수 있다.
Reference
이 문제에 관하여(astropy.io에서fits 파일 정보 얻기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/github-nakasho/items/255fb19fb99351dbf92d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)