Example #1
0
    def __init__(self, filename=None):

        # Importing dictionaries
        self["dict_measures"] = D.log_data_dict
        self["dict_parameters"] = D.parameters_dict

        # Initializing lists
        self.measures = []
        self.parameters = []

        if filename is not None:
            # Read the file
            filename = os.path.abspath(filename)
            header = U.read_header(filename)

            # Find the parameters
            self["H"] = U.find_H(filename)
            self["date"] = U.find_date(filename)
            self["mount"] = U.find_mount(filename)
            self["probe"] = U.find_probe(filename, header)
            self["sample"] = U.find_sample(filename, header)
            self.parameters += ["H", "date", "mount", "probe", "sample"]

            # Find the measurements
            log_data = U.read_file_log(filename)

            for key, value in log_data.items():
                self[key] = value
                self.measures.append(key)

        return
    def __add_parameters(self, width, thickness, length):

        filename = self["filename"]
        header = U.read_header(filename)
        parameters = []

        # Geometric parameters
        self["w"] = width
        self["t"] = thickness
        self["L"] = length

        # Other parameters
        self["H"] = U.find_H(filename, header)
        self["date"] = U.find_date(filename, header)
        self["mount"] = U.find_mount(filename, header)
        self["sample"] = U.find_sample(filename, header)
        self["probe"] = U.find_probe(filename, header)

        # Add to parameters
        parameters += ["H", "date", "mount", "sample", "probe"]
        parameters += ["w", "t", "L"]

        self.parameters += parameters

        return
Example #3
0
    def __init__(self, filename=None, **kwargs):
        """
        Used to initialize a Measurement object

        Parameters:
        ------------------------------------------------------------------------
        filename :  str
                The path to the file containing the data to be read and stored.
                Can be relative or absolute.

        Useful kwargs:
        ------------------------------------------------------------------------
        H, w, t, L :    int or float
                The value of the magnetic field used during the experiment and
                the geometric parameters of the sample. Note that kwargs are
                case sensitive and are used to populate the parameters attribute
                of the object
        sample :   str
                The name of the sample.
        """

        self.measures = []
        self.parameters = []

        if filename is not None:
            filename = os.path.abspath(filename)
            data = U.read_file_treated(filename)
            header = U.read_header(filename)
            for key, value in data.items():
                self[key] = value
                self.measures.append(key)

            self["H"] = U.find_H(filename, header)
            self["date"] = U.find_date(filename, header)
            self["mount"] = U.find_mount(filename, header)
            self["sample"] = U.find_sample(filename, header)
            self["probe"] = U.find_probe(filename, header)

            self.parameters += ["H", "date", "mount", "sample", "probe"]

        for key, value in kwargs.items():
            self[key] = value
            if key not in self.parameters:
                self.parameters.append(key)

        if hasattr(self, "__sample") is False:
            setattr(self, "__sample", "unknown")
        else:
            pass
        if hasattr(self, "__H") is False:
            setattr(self, "__H", "unknown")
        else:
            pass

        self.__add_measure()

        return