이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

affine3d

3차원 아핀 기하 변환

설명

affine3d 객체는 3차원 아핀 기하 변환에 대한 정보를 저장하며, 순방향 및 역방향 변환을 적용합니다.

생성

다음 방법을 사용하여 affine3d 객체를 만들 수 있습니다.

  • imregtform — 유사도 최적화를 사용하여 이동 영상을 고정 영상에 매핑하는 기하 변환을 추정합니다.

  • randomAffine3d — 무작위 방식의 3차원 아핀 변환을 만듭니다.

  • 여기에서 다루는 affine3d 함수

설명

tform = affine3d는 항등 변환에 해당하는 디폴트 속성 설정을 사용하여 affine3d 객체를 만듭니다.

예제

tform = affine3d(A)는 정칙 행렬 A로 정의되는 유효한 아핀 변환을 사용하여 속성 T를 설정합니다.

속성

모두 확장

순방향 3차원 아핀 변환으로, 4x4 숫자형 정칙 행렬로 지정됩니다.

행렬 T는 다음과 같은 규칙을 사용합니다.

[x y z 1] = [u v w 1] * T

T는 다음과 같은 형태를 갖습니다.

 [a b c 0;
  d e f 0;
  g h i 0;
  j k l 1];

T의 디폴트 값은 항등 변환입니다.

데이터형: double | single

입력 점 및 출력 점 모두에 대한 기하 변환의 차원 수를 설명합니다. 값 3으로 지정됩니다.

객체 함수

invertInvert geometric transformation
isRigidDetermine if transformation is rigid transformation
isSimilarityDetermine if transformation is similarity transformation
isTranslationDetermine if transformation is pure translation
outputLimitsFind output spatial limits given input spatial limits
transformPointsForwardApply forward geometric transformation
transformPointsInverseApply inverse geometric transformation

예제

모두 축소

각 차원에서 각기 다른 배율로 3차원 영상을 스케일링하는 affine3d 객체를 만듭니다.

Sx = 1.2;
Sy = 1.6;
Sz = 2.4;
tform = affine3d([Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1])
tform = 
  affine3d with properties:

    Dimensionality: 3
                 T: [4x4 double]

작업 공간에 3차원 볼륨을 불러옵니다.

load('mri');
D = squeeze(D);

imwarp를 사용하여 영상에 기하 변환을 적용합니다.

B = imwarp(D,tform);

각 볼륨의 가운데를 축 방향으로 자르는 슬라이스를 시각화하여 스케일 변환의 효과를 확인합니다. 변환된 볼륨의 가운데 슬라이스의 인덱스는 원본 볼륨의 가운데 슬라이스의 인덱스와 같지 않은데, 이는 z 차원에서 스케일링했기 때문입니다.

figure
imshowpair(D(:,:,14),B(:,:,33),'montage');

원본 영상이 왼쪽에, 변환된 영상은 오른쪽에 있습니다. 변환된 영상은 가로 방향보다 세로 방향에서 더 많이 스케일링되었습니다. SySx보다 크기 때문입니다.

확장 기능

R2013a에 개발됨