2016-06-13 75 views
-1

對於我的項目,我必須對CT腦部圖像中的異常進行分割。 我想通過比較大腦的右側和左側來做到這一點。這可以通過使用圖像的強度差異來完成 。例如,血液比CT圖像中的腦組織更亮。由於大腦的右側和左側幾乎是對稱的,因此可能通過與另一側比較來發現一側的異常。使用Matlab,我想使用CT圖像的Dicom文件工作 。我想通過比較大腦的兩側來分割異常區域。 在2D中分割異常之後,我想要註冊2D圖像並創建3D重建。 有沒有人可能知道,用什麼最好的編碼方法(在Matlab中)比較Dicom圖像的左側和右側?比較MATLAB中的Dicom圖像(在一個文件中)

+0

如果您認爲我的答案是您正在尋找的答案,請考慮將其標記爲已接受的答案。 – sdbonte

回答

1

也許看看這篇論文:http://www.sciencedirect.com/science/article/pii/S0167865503000497 它解釋瞭如何找到三維MRI圖像中的對稱平面,但該方法也應該在CT上工作。首先搜索圖像中的質心。接下來計算慣性橢球的軸並評估對稱性。最後,您可以使用下坡單純形法來改進對稱平面。

希望這會有所幫助!

編輯:這是我會怎麼解決這個問題:

  1. 搜索質量中心R

    ind = find(ones(size(image))); 
    ind = reshape(ind, size(image,1), size(image,2), size(image,3)); %for a 3D volume 
    [x,y,z] = ind2sub(size(image), ind); %for a 3D volume 
    Rx = image.*x; 
    Ry = image.*y; 
    Rz = image.*z; 
    Rx = round(1/sum(image(:)) * sum(Rx(:))); 
    Ry = round(1/sum(image(:)) * sum(Ry(:))); 
    Rz = round(1/sum(image(:)) * sum(Rz(:))); 
    

    Rx, RyRz現在包含大量的在中心位置的圖片。該代碼很容易適應2D。

  2. 現在,尋找慣性橢圓的軸:

    for p=0:2 
        for q=0:2 
         for r=0:2 
          if p+q+r==2 
           integr = image.*(x-Rx).^p.*(y-Ry).^q.*(z-Rz).^r; 
           m = sum(integr(:)); 
           if p==2, xx=1; yy=1; 
           elseif p>0 && q>0, xx=1; yy=2; 
           elseif p>0 && r>0, xx=1; yy=3; 
           elseif q==2, xx=2; yy=2; 
           elseif q>0 && r>0, xx=2; yy=3;      
           elseif r==2, xx=3; yy=3; 
           end 
           M(xx,yy) = m; 
           M(yy,xx) = m; 
          end 
         end 
        end 
    end 
    
    [V,~] = eig(M); 
    

    矩陣V包含的慣性橢圓體的軸的方向。這些是對稱平面的第一次猜測。

  3. 評估對稱性。這是一個很難的部分,因爲你必須圍繞所有三個(或二個,二維的)可能的對稱平面旋轉圖像。我已經使用了affine3Dimwarp命令,但它非常麻煩。確保通過之前發現的重心定義不同的軸。一種可能的對稱性測量是mu = 1 - ||image - mirrored_ image||^2/(2*||image||^2)。具有最高值mu的軸是最好的對稱平面。

  4. 如果對對稱軸不滿意,可以使用下坡單純形法來改善它,參見例如, https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method

  5. 現在你有你的原始圖像和midsagittal飛機周圍的鏡像。減去兩者應該會給你一個異常的想法。

我希望這很清楚。欲瞭解更多信息,請查看Tuzikov等人的優秀論文。上文提到的。

+0

當然,我會在一分鐘內編輯我的文本:)我自己實現了這個方法,但它大約有1000行代碼,所以在這裏完全不可行。此外,我不認爲我已經以最有效的方式實現了算法:) – sdbonte

+0

看起來不錯。感謝您的努力(+1)。 – armatita