2016-09-21 1 views
0

Ich simuliere ein Papier, dass die Skala der Glättung von Bildern auf Millimeter basiert. Das Format von 3D-Bildern ist DICOM. Zum Beispiel, in der Regel die Glättung von Bild X mit Fenster Größe und Maßstab s, getan wird, wie folgt:Wie glätten Sie 3D-Bilder auf der Grundlage von Millimeter?

f1 = fspecial('gaussian',[size,size],s); 
Smooth1 = imfilter(X,f1); 

Weiß jemand, wie kann ich Glättung tun was seine Skala basiert auf Millimeter?

Sollte ich die Größe des Fensters auf Millimeter anstelle von Pixel ändern? Wie kann ich das machen?

+0

Vielleicht http://forums.dcm4che.org/jiveforums/thread.jspa?threadID=1732 – Jeon

Antwort

0

Wenn die Form des Gauß-Filters in Millimetern definiert werden soll, können Sie die PixelSpacing-Eigenschaft aus den DICOM-Metadaten verwenden, um Millimeter in Pixel zu konvertieren. Die Einheiten des PixelSpacing ist mm/pixel

info = dicominfo(filename); 
X = double(dicomread(info)); 

scale_mm = 3;           % Signma of the filter in mm 

scale_px = scale_mm/double(info.PixelSpacing(1));  % Converted to pixels 

% Create a Gaussian filter using this sigma value 
f1 = fspecial('gaussian', [height, width], scale_px); 

% Apply the smoothing 
smooth1 = imfilter(X, f1); 
+0

Vielen Dank für Ihre Hilfe, was die Verwendung von scale_mm ist hier? und was ist sz? –

+0

@ S.EB Sorry, hatte einen Tippfehler von einer alten Version. Jetzt behoben – Suever

+0

Vielen Dank Suever :) –

Verwandte Themen