5. feladat

Adott a data/hf.hdf5 állomány. A tanult módon olvasd be a pythonba, majd végezd el a következő feladatokat:

  • Keresd meg benne a csoportok neveit!
  • Keresd meg azt az adattömböt, melynek dimenziói: 64x64x64
  • Ábrázold ennek a tömbnek a 3. koordináta szerinti 32.-dik szeletét
  • Az ábra az imshow használatával, "viridis" színséma beállítással készüljön.

Megoldás

Betöltjük a szükséges csomagokat

In [2]:
from h5py import *
%pylab inline
Populating the interactive namespace from numpy and matplotlib

Majd beolvassuk a fájlt. Kilistázva, látszik, hogy csak egy csoportja van, az xxlprho_128, ami egy type és egy value nevű adattáblát tartalmaz.

In [3]:
hf = File("../data/hf.hdf5", "r")
print(list(hf.keys()))
print(list(hf['xxlprho_128'].keys()))
['xxlprho_128']
['type', 'value']

A két adattömböt megvizsgálva látszik, hogy a value a keresett.

In [4]:
print(hf["xxlprho_128/type"])
print(hf["xxlprho_128/value"])
<HDF5 dataset "type": shape (), type "|S7">
<HDF5 dataset "value": shape (64, 64, 64), type "<f8">

Ezt már ábrázolhatjuk.

In [8]:
imshow(hf["xxlprho_128/value"].value[:,:,32], cmap="viridis")
xlabel("x tengely", size=12)
ylabel("y tengely", size=12)
title("Címletudva", size=18, y=1.05)
Out[8]:
<matplotlib.text.Text at 0x7fde71a7a048>