[PYTHON] So zeigen Sie mehrere Bilder einer Galaxie in Kacheln an

Umgebung

Google Colab (Python:3.6.9, astroquery:0.4)

Gesamtdurchfluss

Code

Passformdatei speichern

Holen Sie sich zunächst die Himmelsnamen und ihre Nummern in den von Vizier angegebenen Katalog.



from astroquery.vizier import Vizier
v=Vizier(catalog="J/ApJS/80/531/gxfluxes",columns=["Name","logLx","Bmag","dist","type"],row_limit=-1)
data=v.query_constraints()
sname=data[0]["Name"]
namelist=[]
for one in sname:
  name=one.strip().split()[0]
  name=one.replace("N","NGC").replace("I","IC")
  namelist.append(name)
olist=["HRI","DSS"]

In diesem Fall ist len (Namensliste) = 448, sodass wir sehen können, dass es 448 Himmelskörper gibt. Speichern Sie die Anpassungsdateien dieser Himmelskörper der Reihe nach.

def save(p,name,obs): # save file into fits 
    for onep,oneo in zip(p,obs):
        onep.writeto(name+"_"+oneo+".fits",overwrite=True)
from astroquery.skyview import SkyView
path_fits="/content/drive/My Drive/datastore/fits/"
num=int(input("Times of try (for <=448) : "))
filename=[]


for i in range(num):
  name=namelist[i]
  try:
    paths=SkyView.get_images(position=name,survey=olist)
    save(paths,path_fits+name,olist)
    filename.append(name)
    print("Saved  {}".format(name))
  except:
    print("Not found {}".format(name))

Lesen Sie die Fits-Datei aus dem Verzeichnis. Da die Fits-Datei Informationen zu 300x300-ndarray-Arrays enthält, machen Sie sie einmal zu einer 1x90000-Matrix. Machen Sie dasselbe für andere Anpassungsdateien und fügen Sie die Ergebnisse demselben ndarray hinzu.

#Eindimensionale Bilddaten der Anpassungsdatei im Verzeichnis,
#Speichern Sie Bilddaten in jeder Datenzeile in einem zweidimensionalen Array

path_fits=glob.glob("/content/drive/My Drive/datastore/fits/*_DSS.fits")

N=100
#N=len(path_fits)
h=300
w=300


data = np.empty(h*w*N).reshape(N, h*w)
img_data=np.empty(h*w*N)
for i in range(N):
  dsshdu=fits.open(path_fits[i])[0]
  dsswcs=WCS(dsshdu.header)
  dssdata=dsshdu.data
  img_data=np.array(dssdata)
  data[i] = np.array(dssdata).flatten()
data.shape

Formen Sie die zuvor abgeflachten Bilddaten erneut in eine 300 x 300-Matrix um. Zeichnen Sie es einzeln in Richtung der Achse = 0.

data_reshaped=data.reshape(N,h,w)

f=plt.figure(figsize=(15,15))
f.subplots_adjust(left=0,right=1,bottom=0,top=1,hspace=0.05,wspace=0.05)

for i in range(N):
  ax=f.add_subplot(10, 10, i+1, xticks=[], yticks=[])
  ax.imshow(data_reshaped[i], interpolation="bilinear")

plt.show()

Ergebnis

2020-06-06.png

Verweise

[Für Super-Anfänger] Versuchen Sie, die Hauptkomponentenanalyse (PCA) von Bildern mit Python zu implementieren.

Recommended Posts

So zeigen Sie mehrere Bilder einer Galaxie in Kacheln an
[Google Colab] Ich möchte mehrere Bilder nebeneinander in einer Kachel anzeigen
So sammeln Sie Bilder in Python
So zeigen Sie eine bestimmte Dateispalte unter Linux an (awk)
So unterdrücken Sie Anzeigefehler in matplotlib
So zeigen Sie die neunundneunzig Tabelle in Python an
So zeigen Sie Hello World in Python an
So zeigen Sie Bilder in Djangos Admin an
So zeichnen Sie ein OpenCV-Bild mit Pygame
So ändern Sie mehrere Spalten von csv in Pandas (Unixtime-> Japan Time)
Verstehen, wie Bilder auf Jupyter angezeigt werden (Verwendung von imshow / matplotlib von OpenCV)
So verfolgen Sie die Arbeit mit Powershell
Zusammenfassung zum Importieren von Dateien in Python 3
Ich möchte mehrere Bilder mit matplotlib anzeigen.
Zusammenfassung der Verwendung von MNIST mit Python
So zeigen Sie Bilder kontinuierlich mit matplotlib Memo an
So zeigen Sie Videos in Google Colab inline an
[Java] So wechseln Sie zwischen mehreren Java-Versionen
So erhalten Sie mehrere Modellobjekte zufällig in Django
So ermitteln Sie die Anzahl der Stellen in Python
So schreiben Sie in Python die Verkettung von Zeichenfolgen in mehrere Zeilen
So zeigen Sie DataFrame als Tabelle in Markdown an
So rufen Sie mehrere Arrays mit Slice in Python ab.
Zusammenfassung, wie der Status mit mehreren Funktionen geteilt wird
So zeigen Sie das Änderungsdatum einer Datei in C-Sprache bis zu Nanosekunden an
Optimale Platzierung mehrerer Bilder
Wie man in Python entwickelt
So schneiden Sie ein Block-Multiple-Array aus einem Multiple-Array in Python
So definieren Sie mehrere Variablen in einer Python for-Anweisung
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
So zeigen Sie eine Liste der mit pyenv installierbaren Versionen an
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
So erhöhen Sie die Anzahl der Datensatzbilder für maschinelles Lernen
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Zusammenfassung zum Schreiben von in gRPC verwendeten .proto-Dateien
So erhalten Sie einen Überblick über Ihre Daten in Pandas
Anzeigen des regionalen Netzes des Government Statistics Office (eStat) in einem Webbrowser
[Super einfach! ] So zeigen Sie den Inhalt von Wörterbüchern und Listen einschließlich Japanisch in Python an
So verarbeiten Sie Kamerabilder mit Teams und Zoom Verarbeitungsvolumen im Animationsstil
Bildpixel-Manipulation in Python
Umgang mit Sitzungen in SQLAlchemy
[Rails] So zeigen Sie Google Map an
So bestimmen Sie die Existenz eines Selenelements in Python
So implementieren Sie Java-Code im Hintergrund von Red Hat (Linux ONE)
[Bildverkettung] Ordnen Sie Bilder in Kacheln an
Verwendung von Klassen in Theano
Wie man nüchtern mit Pandas schreibt
So ändern Sie die Farbe nur der mit Tkinter gedrückten Taste
So zeigen Sie Formeln in Latex an, wenn Sie sympy (> = 1.4) in Google Colaboratory verwenden
So aktualisieren Sie Spyder in Anaconda
Verwendung von SQLite in Python
Zusammenfassung der Verwendung von pyenv-virtualenv
Audio-Wellenform-Anzeige in Python
So konvertieren Sie 0,5 in 1056964608 auf einmal
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
[TensorFlow 2] So überprüfen Sie den Inhalt von Tensor im Diagrammmodus
Wie man CSS in Django reflektiert