Main Content

imregconfig

명암 기반 정합 구성

설명

예제

[optimizer,metric] = imregconfig(modality)는 명암 기반 영상 정합을 수행하기 위해 imregister에 전달할 optimizermetric 구성을 생성합니다. 여기서 modality는 영상 캡처 모달리티를 지정합니다.

예제

모두 축소

영상을 작업 공간으로 불러온 후 표시합니다. 두 영상이 비슷한 밝기와 대비를 가지고 있으므로 단일모달 영상입니다.

fixed  = imread('pout.tif');
moving = imrotate(fixed, 5, 'bilinear', 'crop');
imshowpair(fixed, moving,'Scaling','joint')

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

모달리티를 'monomodal'로 설정해서 최적화 객체와 메트릭 객체를 생성합니다.

[optimizer, metric]  = imregconfig('monomodal')
optimizer = 
  registration.optimizer.RegularStepGradientDescent

  Properties:
    GradientMagnitudeTolerance: 1.000000e-04
             MinimumStepLength: 1.000000e-05
             MaximumStepLength: 6.250000e-02
             MaximumIterations: 100
              RelaxationFactor: 5.000000e-01
metric = 
  registration.metric.MeanSquares

  This class has no properties.

최적화 객체와 메트릭 객체를 imregister에 전달하여 정합을 수행합니다.

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

정합된 영상을 봅니다.

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

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

두 개의 영상을 읽어 들입니다. 이 예제에서는 무릎 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;

정합을 수행합니다.

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

정합된 영상을 봅니다.

imshowpair(fixed,movingRegistered,"Scaling","joint")

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

입력 인수

모두 축소

영상 캡처 모달리티로, 다음 값 중 하나로 지정됩니다.

모달리티설명
"monomodal"

단일모달 영상은 비슷한 밝기와 대비를 가집니다. 영상은 동일한 유형의 스캐너 또는 센서에서 캡처됩니다.

"multimodal"

다중모달 영상은 서로 다른 밝기와 대비를 가집니다. 영상은 두 가지 카메라 모델 또는 두 가지 유형의 의료 영상 모달리티(예: CT와 MRI) 같은 서로 다른 두 가지 유형의 장치에서 수집될 수 있습니다. 또한 서로 다른 노출 설정을 사용하는 카메라나 서로 다른 영상 시퀀스를 사용하는 MRI 스캐너 같은 하나의 장치에서 수집될 수도 있습니다.

데이터형: char | string

출력 인수

모두 축소

최적화 구성으로, RegularStepGradientDescent 또는 OnePlusOneEvolutionary 최적화 객체로 반환됩니다.

메트릭 구성은 정합 중 최적화할 영상 유사도 메트릭을 나타내며, MeanSquares 또는 MattesMutualInformation 메트릭 객체로 반환됩니다.

  • imregconfig는 기본 정합 구성을 제공하도록 디폴트 설정을 갖는 optimizermetric을 반환합니다. 최적화 속성 또는 메트릭 속성을 조정하면 정합 결과가 개선될 수 있습니다. 예를 들어, 최적화 객체에서 반복 횟수를 늘리거나 최적화 객체의 스텝 크기를 줄이거나 확률적 메트릭 값의 샘플 수를 변경하면, 성능이 저하되는 대신 정합이 어느 정도 개선됩니다.

확장 기능

버전 내역

R2012a에 개발됨

모두 확장