Example #1
0
    def __init__(self, project, values, start=None, end=None, **kwargs):

        v = [val for val in values]
        self.values = np.array(v)
        if start is None:
            start = 0
        if end is None:
            end = len(project.waves[0])
        self.leakages = np.array([wave[start:end] for wave in project.waves])
        Container.__init__(self, **kwargs)
Example #2
0
    def __init__(self, leakages_filename, values_filename, **kwargs):
        """
        Basic constructor

        :param leakages_filename: name of the npy file corresponding to the leakages
        :param values_filename: name of the npy file corresponding to the values
        :param kwargs: additional Container keyword arguments

        """

        self.leakages = np.lib.format.open_memmap(leakages_filename,'r+')
        self.values = np.lib.format.open_memmap(values_filename,'r+')

        Container.__init__(self, **kwargs)

        self.logger.debug('Creating NpyContainer from files %s / %s.'%(leakages_filename, values_filename) )
Example #3
0
    def get_leakage_mean_var(self):
        """
        Compute mean/var of the leakage.
        :return: mean/var of the container leakages
        """
        try:
            mean, var = self.leakages.mean(0), self.leakages.var(0)
            return self.apply_both_value(mean), self.apply_both_value(var)

        except:
            return Container.get_leakage_mean_var()
Example #4
0
    def __init__(self,
                 filename,
                 leakages_dataset_name="leakages",
                 values_dataset_name="values",
                 mode="r",
                 **kwargs):
        """
        Basic constructor

        :param filename:
        :param leakages_dataset_name:
        :param values_dataset_name:
        :param mode: mode for opening filename: default is read-only
        """

        self._file = h5py.File(filename, mode)
        self.leakages = self._file[leakages_dataset_name]
        self.values = self._file[values_dataset_name]

        Container.__init__(self, **kwargs)

        self.logger.debug(
            'Creating Hdf5Container from file %s with datasests %s/%s.' %
            (filename, leakages_dataset_name, values_dataset_name))
Example #5
0
    def get_leakage_mean_var(self):
        """
        Compute mean/var of the leakage.
        :return: mean/var of the container leakages
        """
        try:
            mean, var = self.leakages.attrs["mean"], self.leakages.attrs["var"]
            return self.apply_both_leakage(mean), self.apply_both_leakage(var)

        except:
            mean, var = Container.get_leakage_mean_var(self)

            try:
                self.leakages.attrs["mean"] = mean
                self.leakages.attrs["var"] = var
            except:
                pass
        return mean, var