Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Fachkräfte:
Informatiker (m/w) für den Bereich Toolkette Embedded Software
Weiterentwicklung einer MATLAB-/Simulink-Toolkette, Automatisierung der Code-Generierung mit TargetLink und Embedded Coder
cbb-Software GmbH - Stuttgart

Systemingenieur (m/w) modellbasierte Softwareentwicklung
Entwicklung modellbasierter Software in MATLAB und Simulink
ESG Elektroniksystem- und Logistik-GmbH - Rüsselsheim

Entwicklungsingenieur/in im Bereich Design und Simulation
Programmierung von Simulationstools wie Matlab/Simulink, ANSYS, ANSYS Maxwell
Robert Bosch GmbH - Reutlingen

Softwareentwickler (m/w) automatische Codegenerierung
Umsetzung, Neuprogrammierung und Weiterentwicklung in Simulink, TargetLink und C
EFS - Ingolstadt, Wolfsburg

Ingenieur (m/w) Methoden und Auswertesoftwareentwicklung
Bearbeitung von Forschungsthemen im Zusammenhang mit Windenergieanlagentechnik und Meteorologie
ENERCON GmbH - Remels

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Inverse Radontransformation

 

TTT
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 21.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2018, 16:12     Titel: Inverse Radontransformation
  Antworten mit Zitat      
Hallo werte Community,

ich arbeite derzeit an der Rekonstruktion von Bildwerten mithilfe von Matlab.
Eines dieser Rekonstruktionsmethoden soll die Radontransformation sein.
Bisher habe ich als Beispiel folgen Code zusammengestellt:
Code:

clc;
clear all;
P = phantom(500);
P = imread('graustufen5.png');
% P = imread('Different.jpg');
% imshow(P)
P = rgb2gray(P);
P = im2double(P);

theta3 = 0:1:179.5;  
[R3,xp] = radon(P,theta3);
num_angles_R3 = size(R3,2);

figure, imagesc(theta3,xp,R3)
colormap(bone)
colorbar
xlabel('Parallel Rotation Angle - \theta (degrees)');
ylabel('Parallel Sensor Position - x\prime (pixels)');

output_size = max(size(P));
dtheta3 = theta3(2) - theta3(1);
I3 = iradon(R3,dtheta3,output_size);
figure, imshow(I3)

subplot(2,2,1)
imagesc(P);
colormap(bone)
title('Phantom Original')
xlabel('X')
ylabel('Y')

subplot(2,2,2)
imagesc(I3);
title('Phantom Rekonstruktion')
xlabel('X')
ylabel('Y')

SubPic = abs(P-I3);

subplot(2,2,3)
imagesc(SubPic);
title('Phantom Differenz')
xlabel('X')
ylabel('Y')

subplot(2,2,4)
imhist(I3);
title('Histogramm')
xlabel('X')
ylabel('Y')
 


Nun habe ich aber kein Bild zu Verfügung, sondern Messwerte von meinem Laser-Detektor-System welcher im Grunde genommen wie ein CT funktioniert. Die Messwerte gehen von 0(Strahl trifft nicht ein-> etwas im Weg) bis 2,5.. (Strahl trifft komplett ein)

Hätte einer von Euch eine Idee wo und wie in meinem Code ich diese Messwerte einfügen kann um am Ende mein Bild zu rekonstruieren? Vielleicht existiert irgendwo ein fertiger Code, den ich noch nicht entdeckt habe?
Meine Idee wäre es gewesen die nach der Radontransformation einzufügen, da ich die Vorwärtsrechnung eigentlich nicht brauche, sondern nur noch die Inverse bräuchte.

Mit freundlichen Grüßen
TTT
Private Nachricht senden Benutzer-Profile anzeigen


ol1v3r
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 06.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2018, 10:05     Titel:
  Antworten mit Zitat      
Ich habe zwar noch nie mit der Funktion gearbeitet, aber sollte nicht in der Variablen "P" die Daten zu deinem Laser gespeichert sein? Warum nutzt du aktuell die Funktion phantom und überschreibst die Werte direkt wieder?
_________________

Viele Grüße
Ol1v3r
Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
TTT
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 21.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2018, 12:48     Titel:
  Antworten mit Zitat      
Das waren nur irgendwelche Beispiele die ich hatte. In dem Code sind meine Messwerte noch nicht drin. Das Problem und das liegt aber auch am allgemeinen Verständnis, ist die Frage wie ich einen Vektor in dem meinen Werte aus 33 tangentialen Positonen über 180° (also 5940 Werte) so in eine Matrix fasse, dass ich sie hier anwenden kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.



goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.