Ich habe eine Reihe von Passungen Bilder: etwa 32000 Bilder mit der Auflösung (256,256). Der Dataset, den ich erstellen muss, ist matrixartig, also ist die Ausgabeform (32000, 256 * 256).Effizienter Weg zum Erstellen eines Datensatzes aus passt Bild
Die einfache Lösung ist eine for
Schleife, wie samething:
#file_names is a list of paths
samples=[]
for file_name in file_names:
hdu=pyfits.open(file_name)
samples.append(hdu[0].data.flatten())
hdu.close()
#then i can use numpy.concatenate to have a numpy ndarray
Diese Lösung ist sehr, sehr langsam. Was ist also die beste Lösung, um einen so großen Datensatz zu erstellen?
Wenn Sie die Beispiele auskommentieren und ausführen, ist es immer noch langsam? Wenn ja, würde das bedeuten, dass Sie beim Öffnen und Schließen der FITS-Datei Engpässe haben. Sie können auch versuchen, die Astropie FITS-Leser http://docs.astropy.org/en/stable/io/fits/index.html#module-astropy.io.fits zu verwenden. –