Source code for pymcxray.serialization.SerializationNumpy

#!/usr/bin/env python
""" """

# Script information for the file.
__author__ = "Hendrix Demers (hendrix.demers@mail.mcgill.ca)"
__version__ = ""
__date__ = ""
__copyright__ = "Copyright (c) 2011 Hendrix Demers"
__license__ = ""

# Standard library modules.
import logging
import os.path

# Third party modules.
import numpy as np

# Local modules.

# Project modules
import pymcxray.serialization._Serialization as _Serialization

# Globals and constants variables.

[docs]class SerializationNumpy(_Serialization._Serialization):
[docs] def load(self): filepath = self.getFilepath() if self._verbose: logging.debug("Reading serialization file: %s.", filepath) serializedData = np.zeros((1), dtype=float) if os.path.isfile(filepath): serializedData = np.fromfile(filepath) return serializedData
[docs] def save(self, serializedData): filepath = self.getFilepath() if self._verbose: logging.debug("Writing serialization file %s.", filepath) serializedData.tofile(filepath)
def _getSerializationExtension(self): return "_numpy.dat"
[docs]class SerializationNumpyTxt(SerializationNumpy): def _getSerializationExtension(self): return "_numpy.txt"
[docs] def load(self): data = np.zeros((1)) filepath = self.getFilepath() if os.path.isfile(filepath): data = np.loadtxt(filepath) return data
[docs] def save(self, data): filepath = self.getFilepath() np.savetxt(filepath, data)
[docs]class SerializationNumpyTxtGz(SerializationNumpyTxt): def _getSerializationExtension(self): return "_numpy.txt.gz"
[docs]class SerializationNumpyNPY(SerializationNumpy): def _getSerializationExtension(self): return "_numpy.npy"
[docs] def load(self): data = np.zeros((1)) filepath = self.getFilepath() if os.path.isfile(filepath): data = np.load(filepath) return data
[docs] def save(self, data): filepath = self.getFilepath() np.save(filepath, data)
[docs]class SerializationNumpyNPZ(SerializationNumpy): def _getSerializationExtension(self): return "_numpy.npz"
[docs] def load(self): data = {} filepath = self.getFilepath() if os.path.isfile(filepath): npzfile = np.load(filepath) for key in npzfile.files: data[key] = npzfile[key] del npzfile return data
[docs] def save(self, data): filepath = self.getFilepath() np.savez(filepath, **data)