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
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