주요 콘텐츠

imregdemons

두 개의 2차원 또는 3차원 영상이 일치되도록 정렬하는 변위 필드 추정

설명

[D,moving_reg] = imregdemons(moving,fixed)는 정합할 영상 moving을 참조 영상 fixed에 맞춰 정렬하는 변위 필드 D를 추정합니다. 각 픽셀 위치에 있는 변위 벡터는 fixed 영상 그리드의 위치를 moving 영상의 대응하는 위치로 매핑합니다. moving_regmoving 영상에 워핑이 적용된 버전으로, 변위 필드 D에 따라 워핑이 적용되고 선형 보간을 사용하여 리샘플링한 영상입니다.

예제

[D,moving_reg] = imregdemons(moving,fixed,N)은 계산할 반복 횟수를 지정합니다. 이 함수는 수렴 기준을 사용하지 않으므로, 항상 지정된 반복 횟수나 디폴트 반복 횟수만큼 실행됩니다.

[D,moving_reg] = imregdemons(___,Name,Value)는 이동 영상을 정합할 때 이름-값 쌍을 사용하여 가중치 계산의 여러 특성을 제어합니다.

예제

예제

모두 축소

이 예제에서는 같은 손을 서로 다른 두 가지 자세로 촬영한 정합 문제를 푸는 방법을 보여줍니다. 두 영상의 부정합은 각 영상 전체에서 국소적으로 다르게 나타납니다. 따라서 이는 비강체(non-rigid) 정합 문제입니다.

두 영상을 작업 공간으로 읽어 들입니다.

fixed  = imread('hands1.jpg');
moving = imread('hands2.jpg');

처리를 위해 영상을 회색조로 변환합니다.

fixed  = im2gray(fixed);
moving = im2gray(moving);

초기 부정합을 관찰합니다. 손가락 자세가 다릅니다.

imshowpair(fixed,moving,'montage')

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

영상에서 차이가 나는 부분을 쉽게 알 수 있도록 두 영상을 겹쳐 놓습니다. 차이가 나는 부분은 녹색과 자홍색으로 강조 표시됩니다.

imshowpair(fixed,moving)

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

히스토그램 매칭을 사용하여 moving 영상과 fixed 영상 간의 조도 차이를 보정합니다. 이는 자주 사용되는 전처리 단계입니다.

moving = imhistmatch(moving,fixed);

두 영상을 정합하는 데 필요한 변환을 추정합니다.

[~,movingReg] = imregdemons(moving,fixed,[500 400 200],...
    'AccumulatedFieldSmoothing',1.3);

정합 결과를 표시합니다. 첫 번째 Figure에 영상이 겹쳐지며 정합되었음을 나타냅니다.

imshowpair(fixed,movingReg)

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

imshowpair(fixed,movingReg,'montage')

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

입력 인수

모두 축소

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

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

목표 방향에 놓인 참조 영상으로, 2차원 또는 3차원 회색조 영상으로 지정됩니다.

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

반복 횟수로, 양의 정수 스칼라 또는 벡터로 지정됩니다.

벡터를 지정할 경우 N은 피라미드 단계(해상도 수준)당 반복 횟수입니다. 예를 들어 피라미드 단계가 3개 있는 경우 벡터 [100,50,25]를 지정할 수 있습니다. 이 경우 imregdemons는 가장 낮은 해상도 수준에서는 100회 반복을, 그다음 피라미드 단계에서는 50회 반복을, 마지막 반복 수준(즉, 최대 해상도 수준)에서는 25회 반복을 수행합니다. 해상도 수준이 낮을수록 처리 시간이 적게 걸리므로, 피라미드의 낮은 해상도에서는 반복을 더 많이 실행하고 높은 해상도에서는 반복을 적게 실행하는 것이 성능에 도움이 될 수 있습니다.

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

이름-값 인수

모두 축소

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

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

예: 'AccumulatedFieldSmoothing',1.5는 각 반복에서 표준편차가 1.5인 가우스 평활화를 적용합니다.

각 반복에서 적용되는 평활화로, 'AccumulatedFieldSmoothing'과 함께 숫자형 값이 쉼표로 구분되어 지정됩니다. 이 파라미터는 확산과 유사한 정규화의 정도를 제어합니다. imregdemons는 가우스 평활화의 표준편차를 적용하여 각 반복에서 누적된 필드를 정규화합니다. 값이 클수록 더 평활한 출력 변위 필드가 생성됩니다. 값이 작을수록 출력 변위 필드에서 더 국소적인 변형이 발생합니다. 일반적으로 값의 범위는 [0.5, 3.0]입니다. PyramidLevels를 여러 개 지정할 경우, 가우스 평활화에 사용되는 표준편차는 각 피라미드 단계에서 동일하게 유지됩니다.

데이터형: double

사용할 다중 해상도 영상 피라미드 단계의 개수로, 'PyramidLevels'와 함께 양의 정수가 쉼표로 구분되어 지정됩니다.

데이터형: double

진행률을 나타내는 대기 표시줄을 표시할지 여부로, 'DisplayWaitbar'와 함께 값 true 또는 false가 쉼표로 구분되어 지정됩니다. true로 설정하면 imregdemons는 장시간 진행되는 연산의 진행률을 나타내는 대기 표시줄을 표시합니다. imregdemons에서 대기 표시줄을 표시하지 않게 하려면 DisplayWaitbarfalse로 설정하십시오.

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

출력 인수

모두 축소

변위 필드로, 숫자형 배열로 지정됩니다. 변위 값은 픽셀 단위입니다.

  • fixedm×n 크기의 2차원 회색조 영상인 경우, 변위 필드 배열은 m×n×2입니다. D(:,:,1)x축을 따라 변위를 포함하고, D(:,:,2)y축을 따라 변위를 포함합니다.

  • fixedm×n×p 크기의 3차원 회색조 영상인 경우, 변위 필드 배열은 m×n×p×3입니다. D(:,:,:,1)x축을 따라 변위를 포함하고, D(:,:,:,2)y축을 따라 변위를 포함하며, D(:,:,:,3)z축을 따라 변위를 포함합니다.

데이터형: double

정합된 영상으로, 2차원 또는 3차원 회색조 영상으로 반환됩니다. 변위 필드 D에 따라 영상에 워핑이 적용되고 선형 보간을 사용하여 리샘플링됩니다.

  • 변위 필드 D를 사용하여 영상을 변환하려면 imwarp를 사용하십시오.

참고 문헌

[1] Thirion, J.-P. "Image matching as a diffusion process: an analogy with Maxwell’s demons". Medical Image Analysis. Vol. 2, Number 3, 1998, pp. 243–260.

[2] Vercauteren, T., X. Pennec, A. Perchant, N. Ayache, "Diffeomorphic Demons: Efficient Non-parametric Image Registration", NeuroImage. Vol. 45, Number 1, Supplement 1, March 2009, pp. 61–72.

확장 기능

모두 확장

버전 내역

R2014b에 개발됨

모두 확장

참고 항목

함수