J'ai un ensemble d'images ajustées: environ 32000 images avec une résolution (256,256). L'ensemble de données que je dois construire est semblable à une matrice, donc la forme de sortie est (32000, 256 * 256).Un moyen efficace de créer un ensemble de données à partir d'une image
La solution simple est une boucle for
, samething comme:
#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
Cette solution est très, très lent. Alors quelle est la meilleure solution pour construire un si gros ensemble de données?
Si vous commentez la partie samples.append et l'exécutez, est-ce encore lent? Si oui, alors cela suggérerait que vous avez goulot fermé sur l'ouverture et la fermeture du fichier FITS. Vous pouvez également essayer d'utiliser les lecteurs astrits FITS http://docs.astropy.org/en/stable/io/fits/index.html#module-astropy.io.fits. –