def load_data_from_cube(self, URL):  # -> create either psi[x,y,z]
                                         #               or psik[kx,ky,kz]

        # Last element in URL are the parameters. The first element
        # is the orbital to load as a list of length 2
        # with first entry being the URL, the second the meta_data
        # dictionary
        *orbital, options = URL
        name, *parameters = options
        self.data = SlicedData.init_from_orbital_cube(
            name, orbital, parameters)

        self.change_slice(0, 0)
# ... or choose URL pointing to cubefile
#cube_file = 'http://143.50.77.12/OrganicMolecule/B3LYP/5A/charge0mult1/5A_MO_73'

# Create SlicedData object
orbital = [[cube_file, {}]]
name = '5A H**O'
parameters = [
    'k-space',  # either 'real-space' or 'k-space'
    0.15,  # desired resolution for 3D-Fourier-Transform.
    150,  # maximum kinetic energy in eV
    'real'
]  # choose between 'real', 'imag', 'abs' or 'abs2'
#   for Re(), Im(), |..| or |..|^2

orbital_slices = SlicedData.init_from_orbital_cube(name, orbital, parameters)

# Plot some slices
fig, _ax = plt.subplots(3, 3)
ax = _ax.flatten()
nplots = len(ax)
nslice = orbital_slices.data.shape[0]

count = 0
for i in range(0, nslice, 1 + nslice // nplots):
    plot_data = orbital_slices.slice_from_index(i)
    ax[count].imshow(plot_data.data)
    count += 1

plt.show()