fitswrite
이미지를 FITS 파일에 쓰기
설명
예제
FITS 파일 만들기
RGB 이미지의 빨간색 채널을 포함하는 FITS 파일을 만듭니다. 빨간색 채널은 최종 이미지에서 회색조로 표현됩니다.
샘플 이미지를 읽고 빨간색 채널을 분리합니다.
X = imread('ngc6543a.jpg');
R = X(:,:,1);
FITS 파일에 빨간색 채널 데이터를 씁니다.
fitswrite(R,'myfile.fits');
FITS 메타데이터를 표시합니다.
fitsdisp('myfile.fits');
HDU: 1 (Primary HDU) SIMPLE = T / file does conform to FITS standard BITPIX = 8 / number of bits per data pixel NAXIS = 2 / number of data axes NAXIS1 = 600 / length of data axis 1 NAXIS2 = 650 / length of data axis 2 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
압축된 FITS 파일을 만들고 추가하기
RGB 이미지 채널에서 구성한 3개의 이미지를 가진 압축된 FITS 파일을 만듭니다. 먼저 하나의 채널을 가진 파일을 만든 다음 다른 두 개의 채널을 가진 파일을 추가합니다.
샘플 이미지를 읽고 빨간색, 녹색, 파란색 채널을 분리합니다.
X = imread('ngc6543a.jpg');
R = X(:,:,1);
G = X(:,:,2);
B = X(:,:,3);
Rice 압축을 사용하여 빨간색 채널 데이터를 FITS 파일에 씁니다.
fitswrite(R,'myfile.fits','Compression','rice');
Rice 압축을 사용하여 녹색과 파란색 채널 데이터를 FITS 파일에 추가합니다.
fitswrite(G,'myfile.fits','WriteMode','append','Compression','rice'); fitswrite(B,'myfile.fits','WriteMode','append','Compression','rice');
FITS 파일을 표시합니다.
fitsdisp('myfile.fits');
HDU: 1 (Primary HDU) 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 HDU: 2 XTENSION= 'BINTABLE' / binary table extension BITPIX = 8 / 8-bit bytes NAXIS = 2 / 2-dimensional binary table NAXIS1 = 8 / width of table in bytes NAXIS2 = 650 / number of rows in table PCOUNT = 101902 / size of special data area GCOUNT = 1 / one data group (required keyword) TFIELDS = 1 / number of fields in each row TTYPE1 = 'COMPRESSED_DATA' / label for field 1 TFORM1 = '1PB(470)' / data format of field: variable length array HDU: 3 XTENSION= 'BINTABLE' / binary table extension BITPIX = 8 / 8-bit bytes NAXIS = 2 / 2-dimensional binary table NAXIS1 = 8 / width of table in bytes NAXIS2 = 650 / number of rows in table PCOUNT = 95976 / size of special data area GCOUNT = 1 / one data group (required keyword) TFIELDS = 1 / number of fields in each row TTYPE1 = 'COMPRESSED_DATA' / label for field 1 TFORM1 = '1PB(470)' / data format of field: variable length array HDU: 4 XTENSION= 'BINTABLE' / binary table extension BITPIX = 8 / 8-bit bytes NAXIS = 2 / 2-dimensional binary table NAXIS1 = 8 / width of table in bytes NAXIS2 = 650 / number of rows in table PCOUNT = 96255 / size of special data area GCOUNT = 1 / one data group (required keyword) TFIELDS = 1 / number of fields in each row TTYPE1 = 'COMPRESSED_DATA' / label for field 1 TFORM1 = '1PB(470)' / data format of field: variable length array
입력 인수
imagedata
— 입력 이미지 데이터
1차원 배열 | 다차원 배열
입력 이미지 데이터로, 1차원 배열 또는 다차원 배열로 지정됩니다.
filename
— 파일 이름
문자형 벡터 | string형 스칼라
파일 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: fitswrite(R,'myfile.fits','WriteMode','append')
WriteMode
— 쓰기 모드
'overwrite'
(디폴트 값) | 'append'
쓰기 모드로, 문자형 벡터나 string형 스칼라로 지정됩니다. 지정한 파일이 이미 존재하는 경우, 쓰기 모드가 fitswrite
의 동작을 결정합니다.
쓰기 모드 | 설명 |
---|---|
| 기존 파일을 덮어씁니다. 이는 디폴트 동작입니다. |
| 기존 파일에 이미지 데이터를 추가합니다. |
해당 파일이 없으면 fitswrite
는 쓰기 모드에 관계없이 새 파일을 만듭니다.
Compression
— 압축 알고리즘
'none'
(디폴트 값) | 'gzip'
| 'rice'
| 'hcompress'
| 'plio'
FITS 이미지를 쓸 때 사용되는 압축 알고리즘으로, 다음 값 중 하나로 지정됩니다.
값 | 설명 |
---|---|
| 무압축 이는 디폴트 동작입니다. |
| 이미지 데이터를 GNU Zip 파일로 압축합니다. |
| Rice 알고리즘을 사용하여 이미지 데이터를 압축합니다. |
| HCOMPRESS 알고리즘을 사용하여 이미지 데이터를 압축합니다. |
'plio' | PLIO 알고리즘을 사용하여 이미지 데이터를 압축합니다. |
팁
MATLAB®은 원시 FITS 이미지 데이터를 주어진 순서대로 쓰지만, FITS 이미지 데이터를 읽고 쓰는 일부 소프트웨어 패키지는 이미지의 맨 아래 행부터 이미지 데이터가 저장된다고 가정합니다. 따라서 MATLAB에서 작성된 FITS 이미지 데이터는 다른 소프트웨어 패키지를 사용하여 표시했을 때와 위아래 방향(즉, 가로 축 기준)이 뒤집혀 보일 수 있습니다. MATLAB에서 이미지를 뒤집으려면,
fitswrite
함수로 이미지를 쓰기 전에 이미지 데이터에flipud
함수를 사용할 수 있습니다.
버전 내역
R2012a에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)