Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

imregtform

두 개의 2차원 또는 3차원 영상을 정렬하는 기하 변환 추정

설명

예제

tform = imregtform(moving,fixed,transformType,optimizer,metric)은 이동 영상 moving과 고정 영상 fixed를 정렬하는 기하 변환을 추정합니다. transformType은 추정할 변환 유형을 정의하는 string형 스칼라 또는 문자형 벡터입니다. optimizer는 메트릭 최적화 방법을 설명하는 객체입니다. metric은 최적화할 영상 간의 유사성에 대한 정량적 측정값을 정의하는 객체입니다. 출력값 tformmovingfixed에 매핑하는 기하 변환 객체입니다.

tform = imregtform(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric)moving 영상과 fixed 영상에 연결된 공간 참조 객체를 지정하는 RmovingRfixed를 사용하여 기하 변환을 추정합니다. 출력값 tform은 공간 참조 객체 RmovingRfixed에 의해 정의된 단위로 추정된 기하 변환 객체입니다.

tform = imregtform(___,Name,Value)는 이름-값 쌍을 사용하여 작업의 여러 면을 제어하면서 기하 변환을 추정합니다.

예제

모두 축소

두 개의 영상을 읽어 들입니다. 이 예제에서는 무릎 MRI(자기 공명 영상) 영상 두 개를 사용합니다. 고정 영상은 스핀 에코 영상이고, 이동 영상은 반전 회복(inversion recovery) 기법이 사용된 스핀 에코 영상입니다. 두 개의 시상면 단층은 같은 시간에 수집했지만 약간 정렬되지 않았습니다.

fixed = dicomread('knee1.dcm');
moving = dicomread('knee2.dcm');

정렬되지 않은 영상을 표시합니다.

imshowpair(fixed, moving,'Scaling','joint')

Figure contains an axes object. The axes object contains an object of type image.

두 영상이 서로 다른 센서에서 획득된 것이므로 모달리티(촬영 장치)를 'multimodal'로 설정해서 최적화 객체와 메트릭 객체를 생성합니다.

[optimizer, metric] = imregconfig('multimodal')
optimizer = 
  registration.optimizer.OnePlusOneEvolutionary

  Properties:
         GrowthFactor: 1.050000e+00
              Epsilon: 1.500000e-06
        InitialRadius: 6.250000e-03
    MaximumIterations: 100
metric = 
  registration.metric.MattesMutualInformation

  Properties:
    NumberOfSpatialSamples: 500
     NumberOfHistogramBins: 50
              UseAllPixels: 1

문제가 전역 최댓값에 수렴하도록 하고 추가 반복을 허용하도록 최적화 객체의 속성을 조정합니다.

optimizer.InitialRadius = 0.009;
optimizer.Epsilon = 1.5e-4;
optimizer.GrowthFactor = 1.01;
optimizer.MaximumIterations = 300;

정합할 영상(moving)을 참조 영상(fixed)에 매핑할 기하 변환을 구합니다.

tform = imregtform(moving, fixed, 'affine', optimizer, metric)
tform = 
  affine2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

imwarp 함수를 사용하여, 변환을 정합 중인 영상(moving)에 적용합니다. 이 예제에서는 변환된 영상을 만들 때 참조 영상의 세계 제한 값과 해상도를 보존하기 위해 'OutputView' 파라미터를 사용합니다.

movingRegistered = imwarp(moving,tform,'OutputView',imref2d(size(fixed)));

정합된 영상을 봅니다.

figure
imshowpair(fixed, movingRegistered,'Scaling','joint')

Figure contains an axes object. The axes object contains an object of type image.

입력 인수

모두 축소

정합할 영상으로, 2차원 또는 3차원 회색조 영상으로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

정합할 영상과 연결된 공간 참조 정보로,imref2d 객체 또는 imref3d 객체로 지정됩니다.

대상 방향의 참조 영상으로, 2차원 또는 3차원 회색조 영상으로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

참조(고정) 영상과 연결된 공간 참조 정보로, imref2d 객체 또는 imref3d 객체로 지정됩니다.

정합할 영상에 적용되는 기하 변환으로, 다음 값 중 하나로 지정됩니다.

설명
'translation'(x,y) 평행 이동.
'rigid'평행 이동과 회전으로 구성된 강체 변환.
'similarity'평행 이동, 회전, 스케일링으로 구성된 비반사적 유사 변환.
'affine'평행 이동, 회전, 스케일링, 전단으로 구성된 아핀 변환.

'similarity' 변환 유형과 'affine' 변환 유형은 항상 비반사적 변환을 사용합니다.

데이터형: char | string

유사도 메트릭을 최적화하기 위한 방법으로, RegularStepGradientDescent 또는 OnePlusOneEvolutionary 최적화 객체로 지정됩니다.

정합 중 최적화할 영상 유사도 메트릭으로, MeanSquares 또는 MattesMutualInformation 메트릭 객체로 지정됩니다.

이름-값 인수

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

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

예: 'DisplayOptimization',1은 최적화 세부 정보 표시 모드를 활성화합니다.

최적화 세부 정보 표시 플래그로, 'DisplayOptimization'과 함께 논리값 true 또는 false가 쉼표로 구분되어 지정됩니다. imregister에서 정합 과정 중 명령 창에 최적화 정보를 표시할 것인지 여부를 제어합니다.

데이터형: logical

최초에 적용하는 기하 변환으로, 'InitialTransformation'과 함께 affine2d 객체 또는 affine3d 객체가 쉼표로 구분되어 지정됩니다.

정합 과정 중 사용되는 피라미드 단계 수로, 'PyramidLevels'와 함께 양의 정수가 쉼표로 구분되어 지정됩니다.

예: 'PyramidLevels',4는 피라미드 단계 수를 4로 설정합니다.

출력 인수

모두 축소

기하 변환으로, affine2d 객체 또는 affine3d 객체로 반환됩니다. 입력 행렬이 3차원이면 imregtformaffine3d 객체를 반환합니다.

  • 사용 가능한 공간 참조 정보가 있는 경우, 공간 참조 객체를 사용하여 imregtform에 이 정보를 제공해야 합니다. 이 정보를 제공하면 스케일링 차이가 감안될 수 있기 때문에 imregtform이 더 빠르게 더 나은 결과로 수렴됩니다.

  • imregtformimregister는 동일한 기본 정합 알고리즘을 사용합니다. imregistermoving을 리샘플링하는 추가 단계를 수행하여 imregtform으로 계산된 기하 변환 추정값에서 정합된 출력 영상을 생성합니다. movingfixed를 연결시키는 기하 변환을 원하는 경우 imregtform을 사용하십시오. 정합된 출력 영상을 얻으려면 imregister를 사용하십시오.

  • 최적화 기반 영상 정합에서 만족할 만한 결과를 얻으려면 일반적으로 정합하는 영상 쌍의 최적화 객체 설정 또는 메트릭 객체 설정을 수정해야 합니다. imregconfig 함수가 디폴트 구성을 제공하지만 이는 설정의 시작점으로만 간주되어야 합니다. 수정할 수 있는 여러 파라미터에 대한 자세한 내용은 imregconfig의 출력값을 참조하십시오.

버전 내역

R2013a에 개발됨