Ich nahm 200 Projektionen bei einem Schrittwinkel von 1,8 Grad mit LabVIEW-Software. Die Größe des Bildes ist 2748 x 2748 Pixel, Uint16. Dann lade ich mit Matlab die Projektionsbilder ein, mache die Flachfeldkorrektur, verändere das Bild um 1/3 und speichere die Bilder als .mat-Datei. Dann führe ich den folgenden Code für die gefilterte Rückprojektion aus.Warum gibt iradon negative Pixelwerte zurück?
interp='linear'; %set interpolation: nearest, linear, spline, pchip, v5cubic
filter='Hann'; %set filter: Ram-Lak, Shepp-Logan, Cosine, Hamming, Hann, None
for s=1:916
for i=1:200
a(i,:)=proj065(:,s,i);
end
a=a';
%figure(3), imagesc(a)
b=iradon(a,1.8,interp,filter);
imagesc(b);
recon(:,:,s)=b;
s
clear a
end
Wenn ich einen Filter in diesem Code verwende, werde ich negative Pixelwerte erhalten.
Aber wenn ich den Code ohne den Filter ausführen, werde ich positive Pixelwerte erhalten.
Gibt es eine Idee, warum iradon negative Pixelwerte in gefilterter Rückprojektion liefert?
Vielen Dank.
Nurul
Vielen Dank nennen. Können Sie mir irgendwelche Artikel/Zeitschriften mitgeben, die erklären, wie FBP negative Werte produziert? –
@NurulR. Es gibt keine .... Weil es kein Ding ist, das "Forschung" verdient. Es tut einfach. Ich habe an diesen 2 Jahren gearbeitet, es kann nur * passieren *, wie Sie es gerade getestet haben. Insbesondere, wenn real verrauschte Daten verwendet werden, da manchmal der einzige Weg zum mathematischen Beschreiben des Rauschens (z. B. tote Pixel in dem Detektor) negative Werte in dem Bild aufweist. Aber jetzt, da Sie wissen, wie Sie die Winkel korrekt eingeben, sollten Sie kaum negativ werden. –
Leider habe ich immer noch negative Werte, wenn ich den Filter benutze, obwohl ich das Theta geändert habe. Ist es wegen meines Bildes sehr laut? –