WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Problem mit Raw Daten und fft

 

shnegg
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 15.02.11
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 18.03.2011, 12:32     Titel: Problem mit Raw Daten und fft
  Antworten mit Zitat      
Hey,
ich hab ein Problem mit meinen Raw daten, und der fft. Bei einigen Bilder funktioniert es, bei anderen jedoch nicht, und ich weiß nicht woran es liegt.
Code:

mini_MDH =

                   ulDMALength: 2.1475e+009
                      lMeasUID: 14
                 ulScanCounter: 1281
                   ulTimeStamp: 19575896
                ulPMUTimeStamp: 952998
               aulEvalInfoMask: [1 0]
              ushSamplesInScan: 16
               ushUsedChannels: 8
                           sLC: [1x1 struct]
                       sCutOff: [1x1 struct]
         ushKSpaceCentreColumn: 128
                      ushDummy: 0
             fReadOutOffcentre: 0
             ulTimeSinceLastRF: 0
         ushKSpaceCentreLineNo: 64
    ushKSpaceCentrePartitionNo: 0
            aushIceProgramPara: [0 0 0 0]
                  aushFreePara: 0
                           sSD: [1x1 struct]
                   ulChannelId: 1.3173e+009
                 aflQuaternion: [0.7071 0 0 0.7071]

Loop_counters_max_values =

           ushLine: 128
    ushAcquisition: 1
          ushSlice: 1
      ushPartition: 1
           ushEcho: 1
          ushPhase: 1
     ushRepetition: 10
            ushSet: 1
            ushSeg: 1
            ushIda: 1
            ushIdb: 1
            ushIdc: 1
            ushIdd: 1
            ushIde: 1
       ulChannelId: 1.3173e+009

Das sind die Informationen für meine erste .dat Datei, wo es funktioniert.
Das sind die werte für meine zweite Dat Datei: (siehe Bilder)
Code:


mini_MDH =

                   ulDMALength: 2.1475e+009
                      lMeasUID: 35
                 ulScanCounter: 953
                   ulTimeStamp: 22868918
                ulPMUTimeStamp: 2013953
               aulEvalInfoMask: [1 0]
              ushSamplesInScan: 16
               ushUsedChannels: 8
                           sLC: [1x1 struct]
                       sCutOff: [1x1 struct]
         ushKSpaceCentreColumn: 36
                      ushDummy: 0
             fReadOutOffcentre: 0
             ulTimeSinceLastRF: 0
         ushKSpaceCentreLineNo: 28
    ushKSpaceCentrePartitionNo: 0
            aushIceProgramPara: [0 0 0 0]
                  aushFreePara: 0
                           sSD: [1x1 struct]
                   ulChannelId: 1.9477e+009
                 aflQuaternion: [0.7071 0 0 0.7071]

Loop_counters_max_values =

           ushLine: 56
    ushAcquisition: 1
          ushSlice: 1
      ushPartition: 1
           ushEcho: 1
          ushPhase: 1
     ushRepetition: 1
            ushSet: 17
            ushSeg: 3
            ushIda: 1
            ushIdb: 1
            ushIdc: 1
            ushIdd: 1
            ushIde: 1
       ulChannelId: 1.9477e+009
 




mit einer loop struktur hole ich mir meine ganzen Daten.
Code:
     

tmp = fftshift(fft2(araw));
aimg = tmp(:,1+size(rawdata, 2)/4:3*size(rawdata, 2)/4); % remove oversampling
 
 

weiß jemand vielleicht, warum meine fft nicht richtig funktioniert? Liegt es eventuell an den Columns und lines? (die in meinem zweiten Bild anders sind)

geht nicht.png
 Beschreibung:

Download
 Dateiname:  geht nicht.png
 Dateigröße:  8.87 KB
 Heruntergeladen:  589 mal
fft geht.png
 Beschreibung:

Download
 Dateiname:  fft geht.png
 Dateigröße:  69.59 KB
 Heruntergeladen:  594 mal
Private Nachricht senden Benutzer-Profile anzeigen


Scriptor
Forum-Century

Forum-Century


Beiträge: 217
Anmeldedatum: 22.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 13:23     Titel:
  Antworten mit Zitat      
Also die Anfangswerte haben mit der FFT an sich erstmal gar nix zu tun. Die FFT benutzt nur den Datensatz an sich.Desweiteren ist es immer vorteilhaft, wenn nicht sogar notwendig, gerade bei Matrizenoperationen bei denen es man den Index mit bestimten Funktionen mit den Ergebnissen von Berechnungen bedient, die in der Klammer stehen mit weiteren Klammern zu versehen. Mehr kann ich jetzt nicht aus dem was du sagst rausholen, da man auch den programmierten Loop nciht sehen kann, bzw wie sich die Werte von mini_MDH und dem anderen auf die FFT indirekt auswirken.

Mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
shnegg
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 15.02.11
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 18.03.2011, 13:42     Titel:
  Antworten mit Zitat      
Die werte hohle ich mir wie folgt
Code:

    for set = 1:sMDH.sLC.ushRepetition
%         for slice = 1:sMDH.sLC.ushSlice
%             for cha = 1:sMDH.ushUsedChannels
            % select raw lines -
            lines = find(loopcounters(:,2)  == 1 ...        % sMDH.sLC.ushAcquisition
                       & loopcounters(:,3)  == 1 ...        % sMDH.sLC.ushSlice
                       & loopcounters(:,4)  == 1 ...        % sMDH.sLC.ushPartition
                       & loopcounters(:,5)  == 1 ...        % sMDH.sLC.ushEcho
                       & loopcounters(:,6)  == 1 ...        % sMDH.sLC.ushPhase
                       & loopcounters(:,7)  == set ...        % sMDH.sLC.ushRepetition
                       & loopcounters(:,8)  == 1 ...      % sMDH.sLC.ushSet    
                       & loopcounters(:,9)  == 1 ...        % sMDH.sLC.ushSeg
                       & loopcounters(:,10) == 1 ...        % sMDH.sLC.ushIdb
                       & loopcounters(:,11) == 1 ...        % sMDH.sLC.ushIda
                       & loopcounters(:,12) == 1 ...        % sMDH.sLC.ushIda
                       & loopcounters(:,13) == 1 ...        % sMDH.sLC.ushIda
                       & loopcounters(:,14) == 1 ...        % sMDH.sLC.ushIda
                       & loopcounters(:,15) == sMDH.ulChannelId  -2 + 1 ...        % sMDH.ulChannelId
                       );

                   
            araw = rawdata(lines,:);


 

vielleicht hilft das dir weiter?
Also bist du nicht der Meinung, das es an den Rows/Cols liegt?


Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Scriptor
Forum-Century

Forum-Century


Beiträge: 217
Anmeldedatum: 22.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 15:29     Titel:
  Antworten mit Zitat      
Also aus den Variablen und so werde ich nicht ganz schlau.Das einzige was ich sehe, ist das sich die Zeilen für die zu transformierenden Daten irgendwie aus den Rohdaten herauskristallisieren. Ob dem auch so ist wie es soll,da musst du einen betreuer oder so fragen. Das können wir hier denke ich schlecht erörtern.

Sind denn rows und colls gleich groß?

BTW

Haste denn mal die Klammern gesetzt so wie ich vorgeschlagen habe?


Mfg
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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.