CM hat geschrieben:Was bitte ist bei Dir "binär"?
3 meiner Dateien enthalten nur:
(bin)00000000 --> 0(dez)
ODER
(bin)00000001 --> 1(dez)
die anderen 3 dateien enthalten:
00000000 00000000 00000000 00000000 --> 32bit float Zahl(Real Anteil)
UND
00000000 00000000 00000000 00000000 --> 32bit float Zahl(Imag Anteil)
Also ein Datensatz würde in den ersten 3 Dateien 8bit haben und in den
anderen 3 Dateien 64bit haben.
CM hat geschrieben:numpy.fromfile() kann sehr wohl binäre Daten lesen. Wie sieht denn Deine Datei aus (Beschreibung, bitte keine wirklich binären Daten posten)? Hast Du Die Datei selber erstellt? Wie? (Vielleicht kann man da drehen, so dass es leichter / schneller zu lesen ist.) Wie ist der dtype Deiner arrays? Z.B. 'complex128'?
Sieh oben. Die Dateien werden von einem OpenSource Programm
namens Gnuradio erstellt. Der Source Code ist in C++. Bitte verschont
mich.

Es wäre möglich eigene Module für Gnuradio zu programmieren,
wenn man genügend zeit und Erfahrung hat, die die Daten anders
ablegen.
CM hat geschrieben:Vorschläge:
- ebenso wie BJ: Lass das .tolist() weg - das braucht man gaaanz selten wirklich.
- die fromfile-Aufrufe sehen seltsam aus: Brauchst Du da wirklich keine Zuweisung?
- Ich würde ja plotting und Datenbearbeitung trennen. Das sind zwei Paar Schuhe und das Leben ist einfacher, wenn man diese Dinge trennt.
Hi und danke für die Antwort,
ich habe einige Kritik Punkte von Euch geändert.
mein jetziger Code Ausschnitt sieht wie folgt aus:
Code: Alles auswählen
class GraphWindow(wx.Window):
def __init__(self, *args, **kwargs):
wx.Window.__init__(self, *args, **kwargs)
self.lines = []
self.figure = Figure()
self.canvas = FigureCanvasWxAgg(self, -1, self.figure)
f_p_1 = file('../../../peakdetektor1.hex','rb')
f_p_2 = file('../../../peakdetektor2.hex','rb')
f_p_3 = file('../../../peakdetektor3.hex','rb')
f_pv_1 = file('../../../peakband1.hex','rb')
f_pv_2 = file('../../../peakband2.hex','rb')
f_pv_3 = file('../../../peakband3.hex','rb')
nitems = 1000
self.a_p_1 = numpy.fromfile(f_p_1,dtype='b',count=nitems)
self.a_p_2 = numpy.fromfile(f_p_2,dtype='b',count=nitems)
self.a_p_3 = numpy.fromfile(f_p_3,dtype='b',count=nitems)
self.a_pv_1 = numpy.fromfile(f_p_1,dtype='f',count=nitems*2)#real + imag part
self.a_pv_2 = numpy.fromfile(f_p_1,dtype='f',count=nitems*2)
self.a_pv_3 = numpy.fromfile(f_p_1,dtype='f',count=nitems*2)
self.draw(nitems)
def draw(self,nitems):
if not hasattr(self, 'subplot1'):
self.subplot1 = self.figure.add_subplot(211)
self.subplot2 = self.figure.add_subplot(212)
d = range(nitems)
a = self.a_p_1
b = self.a_p_2
c = self.a_p_3
bar1 = self.subplot1.bar(d,a, color='red', edgecolor='red',align='center')
bar2 = self.subplot1.bar(d,b, color='green', edgecolor='green',align='center',
bottom=a)
bar3 = self.subplot1.bar(d,c, color='blue', edgecolor='blue',align='center',
bottom=a+b)
Danke für die Tipps und Antworten Grüße Markus