Пример #1
0
 def __init__(self,
              symbol="",
              name="",
              unit="",
              symmetries={},
              init_dict=None):
     """Constructor of the class. Can be use in two ways :
     - __init__ (arg1 = 1, arg3 = 5) every parameters have name and default values
         for Matrix, None will initialise the property with an empty Matrix
         for SciDataTool type, None will call the default constructor
     - __init__ (init_dict = d) d must be a dictionnary wiht every properties as keys
     ndarray or list can be given for Vector and Matrix
     object or dict can be given for SciDataTool Object"""
     if init_dict is not None:  # Initialisation by dict
         check_init_dict(init_dict,
                         ["symbol", "name", "unit", "symmetries"])
         # Overwrite default value with init_dict content
         if "symbol" in list(init_dict.keys()):
             symbol = init_dict["symbol"]
         if "name" in list(init_dict.keys()):
             name = init_dict["name"]
         if "unit" in list(init_dict.keys()):
             unit = init_dict["unit"]
         if "symmetries" in list(init_dict.keys()):
             symmetries = init_dict["symmetries"]
     # Initialisation by argument
     self.parent = None
     self.symbol = symbol
     self.name = name
     self.unit = unit
     self.symmetries = symmetries
     # The class is frozen, for now it's impossible to add new properties
     self._freeze()
Пример #2
0
 def __init__(
     self,
     values=[],
     symbol="",
     name="",
     unit="",
     symmetries={},
     is_components=False,
     init_dict=None,
 ):
     """Constructor of the class. Can be use in two ways :
     - __init__ (arg1 = 1, arg3 = 5) every parameters have name and default values
         for Matrix, None will initialise the property with an empty Matrix
         for SciDataTool type, None will call the default constructor
     - __init__ (init_dict = d) d must be a dictionnary wiht every properties as keys
     ndarray or list can be given for Vector and Matrix
     object or dict can be given for SciDataTool Object"""
     if init_dict is not None:  # Initialisation by dict
         check_init_dict(
             init_dict,
             ["values", "symbol", "name", "unit", "symmetries", "is_components"],
         )
         # Overwrite default value with init_dict content
         if "values" in list(init_dict.keys()):
             values = init_dict["values"]
         if "symbol" in list(init_dict.keys()):
             symbol = init_dict["symbol"]
         if "name" in list(init_dict.keys()):
             name = init_dict["name"]
         if "unit" in list(init_dict.keys()):
             unit = init_dict["unit"]
         if "symmetries" in list(init_dict.keys()):
             symmetries = init_dict["symmetries"]
         if "is_components" in list(init_dict.keys()):
             is_components = init_dict["is_components"]
     # Initialisation by argument
     self.is_components = is_components
     # values can be None, a ndarray or a list
     set_array(self, "values", squeeze(values))
     # Call Data init
     super(Data1D, self).__init__(
         symbol=symbol, name=name, unit=unit, symmetries=symmetries
     )
Пример #3
0
 def __init__(
     self,
     axes=None,
     normalizations={},
     FTparameters={},
     values=None,
     symbol="",
     name="",
     unit="",
     symmetries={},
     init_dict=None,
 ):
     """Constructor of the class. Can be use in two ways :
     - __init__ (arg1 = 1, arg3 = 5) every parameters have name and default values
         for Matrix, None will initialise the property with an empty Matrix
         for SciDataTool type, None will call the default constructor
     - __init__ (init_dict = d) d must be a dictionnary wiht every properties as keys
     ndarray or list can be given for Vector and Matrix
     object or dict can be given for SciDataTool Object"""
     if init_dict is not None:  # Initialisation by dict
         check_init_dict(
             init_dict,
             [
                 "axes",
                 "normalizations",
                 "FTparameters",
                 "values",
                 "symbol",
                 "name",
                 "unit",
                 "symmetries",
             ],
         )
         # Overwrite default value with init_dict content
         if "axes" in list(init_dict.keys()):
             axes = init_dict["axes"]
         if "normalizations" in list(init_dict.keys()):
             normalizations = init_dict["normalizations"]
         if "FTparameters" in list(init_dict.keys()):
             FTparameters = init_dict["FTparameters"]
         if "values" in list(init_dict.keys()):
             values = init_dict["values"]
         if "symbol" in list(init_dict.keys()):
             symbol = init_dict["symbol"]
         if "name" in list(init_dict.keys()):
             name = init_dict["name"]
         if "unit" in list(init_dict.keys()):
             unit = init_dict["unit"]
         if "symmetries" in list(init_dict.keys()):
             symmetries = init_dict["symmetries"]
     # Initialisation by argument
     # Call DataND init
     super(DataTime, self).__init__(
         axes=axes,
         normalizations=normalizations,
         FTparameters=FTparameters,
         values=values,
         symbol=symbol,
         name=name,
         unit=unit,
         symmetries=symmetries,
     )
Пример #4
0
 def __init__(
     self,
     axes=None,
     normalizations={},
     FTparameters={},
     values=None,
     symbol="",
     name="",
     unit="",
     symmetries={},
     init_dict=None,
 ):
     """Constructor of the class. Can be use in two ways :
     - __init__ (arg1 = 1, arg3 = 5) every parameters have name and default values
         for Matrix, None will initialise the property with an empty Matrix
         for SciDataTool type, None will call the default constructor
     - __init__ (init_dict = d) d must be a dictionnary wiht every properties as keys
     ndarray or list can be given for Vector and Matrix
     object or dict can be given for SciDataTool Object"""
     if init_dict is not None:  # Initialisation by dict
         check_init_dict(
             init_dict,
             [
                 "axes",
                 "normalizations",
                 "FTparameters",
                 "values",
                 "symbol",
                 "name",
                 "unit",
                 "symmetries",
             ],
         )
         # Overwrite default value with init_dict content
         if "axes" in list(init_dict.keys()):
             axes = init_dict["axes"]
         if "normalizations" in list(init_dict.keys()):
             normalizations = init_dict["normalizations"]
         if "FTparameters" in list(init_dict.keys()):
             FTparameters = init_dict["FTparameters"]
         if "values" in list(init_dict.keys()):
             values = init_dict["values"]
         if "symbol" in list(init_dict.keys()):
             symbol = init_dict["symbol"]
         if "name" in list(init_dict.keys()):
             name = init_dict["name"]
         if "unit" in list(init_dict.keys()):
             unit = init_dict["unit"]
         if "symmetries" in list(init_dict.keys()):
             symmetries = init_dict["symmetries"]
     # Initialisation by argument
     # axes can be None or a list of Data object
     self.axes = list()
     if type(axes) is list:
         for obj in axes:
             if obj is None:  # Default value
                 self.axes.append(Data())
             elif isinstance(obj, dict):
                 # Check that the type is correct (including daughter)
                 class_name = obj.get("__class__")
                 if class_name not in [
                         "Data",
                         "Data1D",
                         "DataFreq",
                         "DataLinspace",
                         "DataND",
                         "DataTime",
                 ]:
                     raise InitUnKnowClassError("Unknow class name " +
                                                class_name +
                                                " in init_dict for axes")
                 # Dynamic import to call the correct constructor
                 module = __import__("SciDataTool.Classes." + class_name,
                                     fromlist=[class_name])
                 class_obj = getattr(module, class_name)
                 self.axes.append(class_obj(init_dict=obj))
             else:
                 self.axes.append(obj)
     elif axes is None:
         self.axes = list()
     else:
         self.axes = axes
     self.normalizations = normalizations
     self.FTparameters = FTparameters
     # values can be None, a ndarray or a list
     check_dimensions(values, axes)
     set_array(self, "values", values)
     # Call Data init
     super(DataND, self).__init__(symbol=symbol,
                                  name=name,
                                  unit=unit,
                                  symmetries=symmetries)
Пример #5
0
 def __init__(
     self,
     initial=None,
     final=None,
     step=None,
     number=None,
     include_endpoint=False,
     symbol="",
     name="",
     unit="",
     symmetries={},
     is_components=False,
     init_dict=None,
 ):
     """Constructor of the class. Can be use in two ways :
     - __init__ (arg1 = 1, arg3 = 5) every parameters have name and default values
         for Matrix, None will initialise the property with an empty Matrix
         for SciDataTool type, None will call the default constructor
     - __init__ (init_dict = d) d must be a dictionnary wiht every properties as keys
     ndarray or list can be given for Vector and Matrix
     object or dict can be given for SciDataTool Object"""
     if init_dict is not None:  # Initialisation by dict
         check_init_dict(
             init_dict,
             [
                 "initial",
                 "final",
                 "step",
                 "number",
                 "include_endpoint",
                 "symbol",
                 "name",
                 "unit",
                 "symmetries",
                 "is_components",
             ],
         )
         # Overwrite default value with init_dict content
         if "initial" in list(init_dict.keys()):
             initial = init_dict["initial"]
         if "final" in list(init_dict.keys()):
             final = init_dict["final"]
         if "step" in list(init_dict.keys()):
             step = init_dict["step"]
         if "number" in list(init_dict.keys()):
             number = init_dict["number"]
         if "include_endpoint" in list(init_dict.keys()):
             include_endpoint = init_dict["include_endpoint"]
         if "symbol" in list(init_dict.keys()):
             symbol = init_dict["symbol"]
         if "name" in list(init_dict.keys()):
             name = init_dict["name"]
         if "unit" in list(init_dict.keys()):
             unit = init_dict["unit"]
         if "symmetries" in list(init_dict.keys()):
             symmetries = init_dict["symmetries"]
         if "is_components" in list(init_dict.keys()):
             is_components = init_dict["is_components"]
     # Initialisation by argument
     self.initial = initial
     self.final = final
     self.step = step
     self.number = number
     self.include_endpoint = include_endpoint
     self.is_components = is_components
     # Call Data init
     super(DataLinspace, self).__init__(symbol=symbol,
                                        name=name,
                                        unit=unit,
                                        symmetries=symmetries)