La lecture et l'écriture s'adaptent aux fichiers avec Python (mémo)

introduction

Le fichier fit est un format de fichier image utilisé pour les données d'exploration et les données astronomiques.Il se compose d'une partie appelée en-tête qui contient diverses informations telles que l'heure et la posture, et une partie tableau de la taille de l'image (par exemple, 1024x1024). Il existe également un fichier ajustements en forme de cube, qui se compose de n en-têtes et d'un tableau d'images. https://ja.wikipedia.org/wiki/FITS À propos de la lecture et de l'affichage des données d'ajustement à l'aide de la bibliothèque Python astropy.io.fits. DS9 est l'un des téléspectateurs des ajustements.

PDS Planetary Data System Archive des données d'exploration de la NASA. Tout le monde peut l'utiliser gratuitement. Si vous téléchargez les données d'ici, vous pouvez voir l'image de votre planète préférée! Les images sont publiées au format de fichier ajusté.

Par exemple, les données pour Hayabusa sont ici. Toutes les données d'image prises par Hayabusa sont ouvertes au public.

Installez astropy

Installez avec anaconda.

conda install astropy

Charger le fichier correspond

Lisez les 0èmes données. L'image se compose d'un en-tête + un tableau d'images.

import astropy.io.fits as fits
import matplotlib.pyplot as plt
hdulist=pyfits.open('file.fits')
hdu=hdulist[0]
data=hdu.data #data=fits.getdata('file.fits',0)Mais tu peux.
header=hdu.header
plt.imshow(data)
plt.show()

Lors de la récupération d'un élément d'en-tête, par exemple TI_0

print header["TI_0"]

Spécification des pixels X et Yth

data[Y][X]

Créer un nouveau fichier ajustements

hdu = fits.PrimaryHDU(im)
hdulist = fits.HDUList([hdu])
hdulist.writeto('new.fits',overwrite=True)

correspond est un ensemble (hdu) avec en-tête et tableau d'images. Il se compose de hdu = PrimaryHDU (data, header) ''. Lorsque vous utilisez un grand nombre d'extensions, créez plusieurs hdu à partir de la seconde avec fit.ImageHDU '', et créez-en une avec le sentiment de HDUList ([hdu1, hdu2, hdu3]). Faites-en un fichier. Autrement dit, il est possible d'enregistrer une pluralité d'images dans un fichier. Il peut être écrasé en définissant overwrite = True.

Ajouter des mots clés

hdu.header['NEWKEYWORD']='something'

Recommended Posts

La lecture et l'écriture s'adaptent aux fichiers avec Python (mémo)
Lire et écrire des fichiers JSON avec Python
Lire et écrire NetCDF avec Python
Lire et écrire du CSV avec Python
Étude à partir de Python Lecture et écriture de fichiers Hour9
Lire et écrire des fichiers CSV et JSON avec Python
Exemple de lecture et d'écriture de CSV avec Python
Lire et écrire des fichiers csv
Lire des fichiers .txt avec Python
Code de caractères pour la lecture et l'écriture de fichiers csv avec python
Lecture et écriture de fichiers CSV Python
Lire et écrire du texte en Python
"Commerce du système à partir de Python3" lecture du mémo
[Easy Python] Lecture de fichiers Excel avec openpyxl
uproot: bibliothèque basée sur Python / Numpy pour lire et écrire des fichiers ROOT
Faites glisser et déposez un fichier local avec Selenium (Python)
Sensible à la casse lors de la lecture et de l'écriture de fichiers INI
[Python] Lecture de fichiers CSV
Lire et écrire des fichiers avec Slackbot ~ Développement de bot avec Python ~
Chargement / affichage et accélération de gif avec python [OpenCV]
Programmation avec Python et Tkinter
Chiffrement et déchiffrement avec Python
Mémo graphique Twitter avec Python
Mémo tranche python et rubis
Tri des fichiers image avec Python (2)
Trier de gros fichiers avec python
Tri des fichiers image avec Python
Intégrez des fichiers PDF avec Python
python avec pyenv et venv
Fonctionne avec Python et R
[Python] Lecture facile des fichiers image du numéro de série avec OpenCV
Notes sur la lecture et l'écriture d'images TIFF float32 avec python
Communiquez avec FX-5204PS avec Python et PyUSB
Briller la vie avec Python et OpenCV
Différence entre java et python (mémo)
Robot fonctionnant avec Arduino et python
Installez Python 2.7.9 et Python 3.4.x avec pip.
Modulation et démodulation AM avec python
Extraire récursivement des fichiers zip avec python
Manipulation des fichiers EAGLE .brd avec Python
Grattage avec Python, Selenium et Chromedriver
mémo python - Spécifiez les options avec getopt
Grattage avec Python et belle soupe
Manipuler des fichiers et des dossiers en Python
Lire et utiliser des fichiers Python à partir de Python
Décrypter les fichiers cryptés avec OpenSSL avec Python 3
Introduction à Hadoop et MapReduce avec Python
[GUI en Python] PyQt5-Glisser-déposer-
Enregistrer et récupérer des fichiers avec Pepper
Gérer les fichiers Excel CSV avec Python
Lecture de spécification de taille multiligne avec python
J'ai joué avec PyQt5 et Python3
Lire des fichiers en parallèle avec Python
Mémo Python ① Opérations sur les dossiers et fichiers
Exporter et exporter des fichiers en Python
Intégration multiple avec Python et Sympy
Coexistence de Python2 et 3 avec CircleCI (1.0)