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

imregister

명암 기반 영상 정합

설명

예제

moving_reg = imregister(moving,fixed,transformType,optimizer,metric)은 2차원 또는 3차원 영상 moving이 참조 영상 fixed와 함께 정합되도록 변환합니다. moving 영상과 fixed 영상의 차원이 같아야 합니다(2차원 또는 3차원). transformType은 수행할 변환 유형을 정의하는 string형 스칼라이거나 문자형 벡터입니다. optimizer는 유사도 측정값을 최적화하는 방법을 설명하는 객체입니다. metric은 최적화할 영상 간 유사성의 정량적 측정을 정의하는 객체입니다. 정렬된 영상 moving_reg를 반환합니다.

[moving_reg,R_reg] = imregister(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric)은 공간 참조 영상 moving이 공간 참조 영상 fixed와 함께 정합되도록 변환합니다. RmovingRfixed는 세계 좌표상의 제한값과 movingfixed의 해상도를 설명하는 공간 참조 객체입니다.

___ = imregister(___,Name,Value)Name,Value 쌍 인수를 하나 이상 추가 옵션으로 지정합니다.

예제

모두 축소

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

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

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

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

영상이 수집된 센서가 다르기 때문에 최적화 객체와 측정값 객체를 생성하여 촬영 장치(모달리티)를 '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;

정합을 수행합니다.

movingRegistered = imregister(moving, fixed, 'affine', optimizer, metric);

정합된 영상을 봅니다.

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

입력 인수

모두 축소

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

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

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

대상 방향의 참조 영상으로, 회색조 영상으로 지정됩니다.

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

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

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

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

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

데이터형: char | string

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

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

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

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

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

데이터형: logical

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

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

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

데이터형: double

출력 인수

모두 축소

변환된 영상으로, 행렬로 반환됩니다. 변환 과정에서 채워지는 픽셀 중 원래 영상의 위치에 대응하지 않는 픽셀은 0이 됩니다.

출력 영상과 연결된 공간 참조 정보로, imref2d 객체 또는 imref3d 객체로 반환됩니다.

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

  • imregister를 호출하기 전에 imregconfig 함수를 사용하여 optimizermetric을 생성하십시오. 최적화 기반 영상 정합에서 만족할 만한 결과를 얻으려면 일반적으로 정합하는 영상 쌍의 최적화 객체 설정 또는 측정값 객체 설정을 수정해야 합니다. imregconfig 함수가 디폴트 구성을 제공하지만 이는 설정의 시작점으로만 간주되어야 합니다. 예를 들어, 최적화 객체에서 반복 횟수를 늘리거나 최적화 객체의 스텝 크기를 줄이거나 확률적 계량 값의 샘플 수를 변경하면, 성능이 저하되는 대신 정합이 어느 정도 개선됩니다. 수정할 수 있는 여러 파라미터에 대한 자세한 내용은 imregconfig의 출력값을 참조하십시오.

  • 영상 간의 공간적 스케일링 차이가 10%를 넘으면 영상을 정합하기 전에 imresize를 사용하여 크기를 조정하십시오.

  • imshowpair 또는 imfuse를 사용하여 정합 결과를 시각화하십시오.

  • imregister를 자동화된 워크플로에서 사용하여 여러 영상을 정합할 수 있습니다.

  • 정합할 영상에 대한 공간 참조 정보가 있는 경우, 공간 참조 객체를 사용하여 imregister에 정보를 지정하십시오. 이렇게 하면 스케일링 차이가 감안될 수 있기 때문에 imregister가 더 빠르게 더 나은 결과로 수렴됩니다.

R2012a에 개발됨