Main Content

fitsread

FITS 파일에서 데이터 읽기

설명

예제

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

예제

data = fitsread(filename,'raw')는 FITS 파일의 주 데이터를 조정하지 않고 읽어 들입니다. 이 구문은 파일에서 읽은 데이터를 스케일링하지 않고 정의되지 않은 값을 NaN으로 대체합니다. 반환된 데이터의 클래스 유형은 파일에 지정된 대로 유지됩니다.

예제

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

예제

data = fitsread(filename,extname,index)는 같은 확장 유형이 여러 개 있을 때 인덱스도 지정합니다.

예제

data = fitsread(filename,___,Name,Value)는 하나 이상의 이름-값 인수를 사용하는 추가 옵션을 통해 FITS 파일에서 데이터를 읽어 들입니다. 예를 들어, TableColumns는 읽을 열을 지정합니다.

예제

모두 축소

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');

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

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

info = fitsinfo('tst0012.fits')
info = struct with fields:
       Filename: '/mathworks/devel/bat/filer/batfs1904-0/Bdoc24a.2511836/build/matlab/toolbox/matlab/demos/tst0012.fits'
    FileModDate: '12-Mar-2001 18:37:46'
       FileSize: 109440
       Contents: {'Primary'  'Binary Table'  'Unknown'  'Image'  'ASCII Table'}
    PrimaryData: [1x1 struct]
    BinaryTable: [1x1 struct]
        Unknown: [1x1 struct]
          Image: [1x1 struct]
     AsciiTable: [1x1 struct]

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 });

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

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

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

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

tableData = fitsread('tst0012.fits','asciitable',...
                    'Info',info,...
                    'TableRows',[1:2:rowend]);

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

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

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

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

tableData = fitsread('tst0012.fits','binarytable', ...
                    'Info',info,...
                    'TableColumns',[1 2 5]);

입력 인수

모두 축소

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

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

확장 이름

설명

'primary'

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

'asciitable'

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

'binarytable'

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

'image'

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

'unknown'

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

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

이름-값 인수

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

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: 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 이전에 개발됨