주요 콘텐츠

fitsread

FITS 파일에서 데이터 읽기

설명

data = fitsread(filename)filename으로 지정된 FITS(Flexible Image Transport System) 파일의 주 데이터를 읽고, 읽은 데이터를 배열로 반환합니다. fitsread 함수는 정의되지 않은 데이터 값을 NaN 값으로 바꾸고 숫자형 데이터를 기울기 및 절편 값으로 스케일링하여 항상 배정밀도 값을 반환합니다.

예제

data = fitsread(filename,"raw")는 파일에서 읽은 데이터를 스케일링하거나 정의되지 않은 데이터 값을 NaN 값으로 대체하지 않습니다. 반환된 데이터의 클래스 유형은 파일에 지정된 대로 유지됩니다.

예제

data = fitsread(filename,extname)extname으로 지정된 FITS 파일 확장에서 데이터를 읽습니다. FITS 파일은 주 데이터를 포함하며 선택적으로 확장이라고 하는 추가 성분을 포함할 수 있습니다.

예제

data = fitsread(filename,extname,index)extnameindex로 지정된 FITS 파일 확장에서 데이터를 읽습니다.

예제

data = fitsread(filename,___,Name=Value)는 하나 이상의 이름-값 인수를 사용하는 추가 옵션을 통해 FITS 파일에서 데이터를 읽어 들입니다. 예를 들어, TableColumns=[3,5]는 FITS 파일에서 데이터의 세 번째 열과 다섯 번째 열을 읽습니다.

예제

예제

모두 축소

FITS 파일에서 주 데이터를 읽어 들입니다.

data = fitsread("tst0012.fits");

출력 변수 data를 검토합니다.

whos data
  Name        Size             Bytes  Class     Attributes

  data      109x102            88944  double              

FITS 파일에서 주 데이터를 원시 데이터로 읽어 들입니다.

data = fitsread("tst0012.fits","raw");

출력 변수 data를 검토합니다.

whos data
  Name        Size             Bytes  Class     Attributes

  data      109x102            44472  single              

FITS 파일의 확장을 살펴보고 Image 확장에서 데이터를 읽어 들입니다.

확장이 있는 경우 확장을 포함하여 FITS 파일의 내용을 나열합니다.

info = fitsinfo("tst0012.fits");
disp(info.Contents)
    {'Primary'}    {'Binary Table'}    {'Unknown'}    {'Image'}    {'ASCII Table'}

FITS 파일의 Image 확장에서 데이터를 읽어 들입니다.

imageData = fitsread("tst0012.fits","image");
whos imageData
  Name            Size              Bytes  Class     Attributes

  imageData      31x73x5            90520  double              

FITS 파일에서 데이터의 서브샘플을 읽어 들입니다.

먼저, FITS 파일에 대한 정보를 가져옵니다.

info = fitsinfo("tst0012.fits");

Image 확장의 각 차원 크기를 쿼리합니다.

info.Image.Size
ans = 1×3

    31    73     5

행과 열 크기를 저장합니다.

rowend = info.Image.Size(1);
colend = info.Image.Size(2);

FITS 파일 세 번째 차원의 다섯 번째 요소에서 행과 열을 하나씩 건너뛰며 읽어 들입니다.

 primaryData = fitsread("tst0012.fits","image",Info=info, ...
              PixelRegion={[1 2 rowend],[1 2 colend],5});
 size(primaryData)
ans = 1×2

    16    37

FITS 파일의 ASCII 테이블에서 행을 하나씩 건너뛰며 읽어 들입니다.

ASCII 테이블의 행 개수를 결정합니다.

info = fitsinfo("tst0012.fits");
rowend = info.AsciiTable.Rows
rowend = 
53

ASCII 테이블에서 행을 하나씩 건너뛰며 읽어 들입니다.

tableData = fitsread("tst0012.fits","asciitable",Info=info, ...
                     TableRows=[1:2:rowend])
tableData=1×8 cell array
    {27×1 cell}    {27×1 double}    {27×1 double}    {27×1 double}    {27×1 double}    {27×1 cell}    {27×1 cell}    {27×1 double}

FITS 파일 Binary 테이블의 첫 번째, 두 번째, 다섯 번째 열의 데이터를 모두 읽어 들입니다.

Binary 테이블의 행 개수를 결정합니다.

info = fitsinfo("tst0012.fits");
rowend = info.BinaryTable.Rows
rowend = 
11

Binary 테이블의 첫 번째, 두 번째, 다섯 번째 열을 읽어 들입니다.

tableData = fitsread("tst0012.fits","binarytable",Info=info, ...
                     TableColumns=[1 2 5])
tableData=1×3 cell array
    {11×1 cell}    {11×13 double}    {11×3 double}

입력 인수

모두 축소

FITS 파일의 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

  • 파일이 현재 폴더 또는 MATLAB® 경로의 폴더에 있는 경우, filename에 파일 이름을 지정하십시오.

  • 파일이 현재 폴더나 MATLAB 경로의 폴더에 모두 없는 경우, filename에 전체 경로 또는 상대 경로를 지정하십시오.

예: "myFile.fits"

예: "C:\myFolder\myFile.fits"

예: "myFolder\myFile.fits"

데이터 배열 또는 확장 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. FITS 파일은 주 데이터를 포함하며 확장이라고 하는 여러 개의 선택적 성분을 포함할 수 있습니다. FITS 파일의 내용을 확인하려면 fitsinfo로 반환되는 구조체의 Contents 필드를 확인하십시오.

extname

설명

"primary"

주 데이터 배열에서 데이터를 읽습니다.

"asciitable"

ASCII 테이블 확장에서 데이터를 1차원 셀형 배열로 읽어 들입니다.

"binarytable"

Binary 테이블 확장에서 데이터를 1차원 셀형 배열로 읽어 들입니다.

"image"

Image 확장에서 데이터를 읽습니다.

"unknown"

Unknown 확장에서 데이터를 읽습니다.

인덱스로, 같은 유형의 확장이 여러 개 있을 경우 읽어야 할 확장을 나타내는 스칼라로 지정됩니다.

이름-값 인수

모두 축소

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: data = fitsread("tst0012.fits",PixelRegion={[1 2 100],[1 2 100]})

정보로, 읽어야 할 데이터의 위치를 지정하는 구조체형 배열로 지정됩니다. fitsinfo 함수를 사용하여 이 정보 구조체형 배열을 얻을 수 있습니다. Info를 지정하면, 특히 파일에서 여러 이미지를 읽을 때 성능을 크게 향상시킬 수 있습니다.

픽셀 영역으로, 벡터로 구성된 셀형 배열로 지정됩니다. 각 벡터는 데이터의 차원에 대응합니다. N차원에서 읽어야 할 부분 영역을 지정하려면 셀형 배열의 N번째 벡터를 사용하십시오. 다음 중 한 가지 방법으로 셀형 배열의 각 벡터를 지정합니다.

벡터 형식

설명

start

차원 내의 시작점. 디폴트 중단점은 차원의 끝입니다.

[start stop]

차원 내의 시작점과 중단점.

[start increment stop]

차원 내의 시작점과 중단점 및 읽을 때의 증분값.

이 픽셀 영역 파라미터는 주 확장 또는 Image 확장에만 유효합니다.

읽어야 하는 열로, ASCII 또는 Binary 테이블 확장에서 읽을 열의 인덱스를 포함하는 1차원 배열로 지정됩니다. 이 벡터는 오름차순으로 지정된 테이블 데이터에 대한 유효한 인덱스를 포함해야 합니다. 이 파라미터는 ASCII 또는 Binary 테이블 확장에만 유효합니다.

읽어야 하는 행으로, ASCII 또는 Binary 테이블 확장에서 읽을 행의 인덱스를 포함하는 1차원 배열로 지정됩니다. 이 벡터는 오름차순으로 지정된 테이블 데이터에 대한 유효한 인덱스를 포함해야 합니다. 이 파라미터는 ASCII 또는 Binary 테이블 확장에만 유효합니다.

  • MATLAB은 FITS 이미지 데이터를 파일에 나타난 순서대로 읽어오지만, FITS 이미지 데이터를 읽고 쓰는 일부 소프트웨어 패키지는 이미지의 맨 아래 행부터 이미지 데이터가 저장된다고 가정합니다. 따라서 MATLAB에 표시되는 FITS 이미지 데이터는 다른 소프트웨어 패키지를 사용하여 표시되는 동일한 데이터와 비교했을 때, 위아래 방향(즉, 가로 축 기준)이 뒤집혀 보일 수 있습니다. MATLAB에서 이미지를 뒤집으려면, 이미지를 표시하기 전에 fitsread의 출력값에 flipud 함수를 사용할 수 있습니다.

버전 내역

R2006a 이전에 개발됨