示例#1
0
文件: spd.py 项目: headmetal/PmagPy
    def __init__(self, Data, specimen_name, tmin, tmax, mapping=None, calculate=None):
        self.s = specimen_name
        self.mapping = mapping
        ####
        if calculate:
            self.calculate = []
            for stat in calculate:
                try:
                    ind = map_magic.magic.index('specimen_' + stat)
                    new_stat = map_magic.spd[ind]
                    self.calculate.append(new_stat)
                except ValueError:
                    self.calculate.append(stat)
        ####
        self.specimen_Data = Data[self.s]
        self.datablock = self.specimen_Data['datablock']

        self.x_Arai = self.specimen_Data['x_Arai']
        self.y_Arai = self.specimen_Data['y_Arai']
        self.t_Arai = self.specimen_Data['t_Arai']

        self.zdata = self.specimen_Data['zdata']

        self.x_tail_check=self.specimen_Data['x_tail_check']
        self.y_tail_check=self.specimen_Data['y_tail_check']
        self.tail_checks_temperatures = self.specimen_Data['tail_check_temperatures']
#        self.x_tail_check_starting_point = self.specimen_Data['x_tail_check_starting_point']
#        self.y_tail_check_starting_point = self.specimen_Data['y_tail_check_starting_point']
        self.tail_checks_starting_temperatures = self.specimen_Data['tail_checks_starting_temperatures']

# pTRM checks ("triangles")
        self.x_ptrm_check = self.specimen_Data['x_ptrm_check'] # a list of x coordinates of pTRM checks
        self.y_ptrm_check = self.specimen_Data['y_ptrm_check'] # a list of y coordinates of pTRM checks      
        self.ptrm_checks_temperatures= self.specimen_Data['ptrm_checks_temperatures'] # a list of pTRM checks temperature 
#        Data[s]['x_ptrm_check_starting_point'] # a list of x coordinates of the point ehere the pTRM checks started from
#         Data[s]['y_ptrm_check_starting_point'] # a list of y coordinates of the point ehere the pTRM checks started from     
        self.ptrm_checks_starting_temperatures = self.specimen_Data['ptrm_checks_starting_temperatures'] # a list of temperatures from which the pTRM checks started from 

        # AC checks
        self.x_add_check = self.specimen_Data['x_additivity_check']
        self.y_add_check = self.specimen_Data['y_additivity_check']
        self.add_checks_temperatures = self.specimen_Data['additivity_check_temperatures']
        self.add_checks_starting_temperatures = self.specimen_Data['additivity_check_starting_temperatures']
        self.x_add_check_starting_point = self.specimen_Data['x_additivity_check_starting_point']
        self.y_add_check_starting_point = self.specimen_Data['y_additivity_check_starting_point']
        
        # Data in Temp/Dec/Inc/Int format
        self.PTRMS = self.specimen_Data['PTRMS']
        self.NRMS = self.specimen_Data['NRMS']
        self.NRM = self.specimen_Data['NRM']
        self.PTRM_Checks = self.specimen_Data['PTRM_Checks']
        self.TAIL_Checks = self.specimen_Data['TAIL_Checks']
        self.AC_Diffs = self.specimen_Data['AC']
#        self.ADD_Checks = self.specimen_Data['ADD_Checks'] # removed this from new_lj_thellier_gui

        self.zijdblock=self.specimen_Data['zijdblock']        
        self.z_temperatures=self.specimen_Data['z_temp']

        self.start=self.t_Arai.index(tmin)
        self.end=self.t_Arai.index(tmax)

        self.pars={}

        self.pars['specimen_lab_dc_field'] = self.specimen_Data['pars']['lab_dc_field']
 #       self.pars['specimen_lab_ac_field'] = self.specimen_Data['pars']['lab_ac_field']
        self.B_lab_dir = [self.specimen_Data['Thellier_dc_field_phi'], self.specimen_Data['Thellier_dc_field_theta'], 
                          self.specimen_Data['Thellier_dc_field_uT']]  # 
        self.B_lab_cart = lib_direct.dir2cart(self.B_lab_dir)

  #      self.pars['magic_method_codes']=Data[self.s]['pars']['magic_method_codes']
        self.pars['specimen_int_n']=self.end-self.start+1
        self.pars['specimen_n_total']=len(self.x_Arai)

 
        #LJ ADDING stats:
        self.steps_Arai = self.specimen_Data['steps_Arai']
        self.n = float(self.end-self.start+1)
        self.n_max = len(self.t_Arai)
        self.tmin = tmin 
        self.tmax = tmax
        self.tmin_K = tmin - 273. 
        self.tmax_K = tmax - 273
        self.x_Arai_segment = self.x_Arai[self.start:self.end+1] 
        self.y_Arai_segment = self.y_Arai[self.start:self.end+1]
        self.x_Arai_mean = numpy.mean(self.x_Arai_segment)
        self.y_Arai_mean = numpy.mean(self.y_Arai_segment)
        # try
        self.pars['x_Arai_mean'] = self.x_Arai_mean
        self.pars['y_Arai_mean'] = self.y_Arai_mean
        self.pars['tmin'] = tmin
        self.pars['tmax'] = tmax
        #
        self.xy_Arai = lib_arai.get_xy_array(self.x_Arai, self.y_Arai)
        self.xy_Arai_segment = lib_arai.get_xy_array(self.x_Arai_segment, self.y_Arai_segment)
示例#2
0
    def __init__(self, Data, specimen_name, tmin=None, tmax=None,
                 mapping=None, calculate=None,acceptance_criteria={},
                 tmin_ind=None, tmax_ind=None):
        #print("MAKING PINTPARS")
        self.acceptance_criteria=acceptance_criteria
        self.s = specimen_name
        self.mapping = mapping
        ####
        if calculate:
            self.calculate = []
            for stat in calculate:
                try:
                    ind = map_magic.magic.index('specimen_' + stat)
                    new_stat = map_magic.spd[ind]
                    self.calculate.append(new_stat)
                except ValueError:
                    print("doesn't start with 'specimen'", stat)
                    #self.calculate.append(stat)
        ####
        self.specimen_Data = Data[self.s]
        self.datablock = self.specimen_Data['datablock']

        self.x_Arai = self.specimen_Data['x_Arai']
        self.y_Arai = self.specimen_Data['y_Arai']
        self.t_Arai = self.specimen_Data['t_Arai']

        self.zdata = self.specimen_Data['zdata']

        self.x_tail_check=self.specimen_Data['x_tail_check']
        self.y_tail_check=self.specimen_Data['y_tail_check']
        self.tail_checks_temperatures = self.specimen_Data['tail_check_temperatures']
#        self.x_tail_check_starting_point = self.specimen_Data['x_tail_check_starting_point']
#        self.y_tail_check_starting_point = self.specimen_Data['y_tail_check_starting_point']
        self.tail_checks_starting_temperatures = self.specimen_Data['tail_checks_starting_temperatures']

# pTRM checks ("triangles")
        self.x_ptrm_check = self.specimen_Data['x_ptrm_check'] # a list of x coordinates of pTRM checks
        self.y_ptrm_check = self.specimen_Data['y_ptrm_check'] # a list of y coordinates of pTRM checks
        self.ptrm_checks_temperatures= self.specimen_Data['ptrm_checks_temperatures'] # a list of pTRM checks temperature
#        Data[s]['x_ptrm_check_starting_point'] # a list of x coordinates of the point ehere the pTRM checks started from
#         Data[s]['y_ptrm_check_starting_point'] # a list of y coordinates of the point ehere the pTRM checks started from
        self.ptrm_checks_starting_temperatures = self.specimen_Data['ptrm_checks_starting_temperatures'] # a list of temperatures from which the pTRM checks started from

        # AC checks
        self.x_add_check = self.specimen_Data['x_additivity_check']
        self.y_add_check = self.specimen_Data['y_additivity_check']
        self.add_checks_temperatures = self.specimen_Data['additivity_check_temperatures']
        self.add_checks_starting_temperatures = self.specimen_Data['additivity_check_starting_temperatures']
        self.x_add_check_starting_point = self.specimen_Data['x_additivity_check_starting_point']
        self.y_add_check_starting_point = self.specimen_Data['y_additivity_check_starting_point']

        # Data in Temp/Dec/Inc/Int format
        self.PTRMS = self.specimen_Data['PTRMS']
        self.NRMS = self.specimen_Data['NRMS']
        self.NRM = self.specimen_Data['NRM']
        self.PTRM_Checks = self.specimen_Data['PTRM_Checks']
        self.TAIL_Checks = self.specimen_Data['TAIL_Checks']
        self.AC_Diffs = self.specimen_Data['AC']
#        self.ADD_Checks = self.specimen_Data['ADD_Checks'] # removed this from new_lj_thellier_gui

        self.zijdblock=self.specimen_Data['zijdblock']
        self.z_temperatures=self.specimen_Data['z_temp']


        # find index from start/end temperatures
        if tmin:
            self.start=self.t_Arai.index(tmin)
            self.end=self.t_Arai.index(tmax)
        # or find start/end temperatures from index
        else:
            if not tmin_ind:tmin_ind=0
            if not tmax_ind:tmax_ind=len(self.t_Arai)
            self.start = tmin_ind
            self.end = tmax_ind
            tmin = self.t_Arai[tmin_ind]
            try:
                tmax = self.t_Arai[tmax_ind]
            except IndexError:
                tmax = self.t_Arai[-1]

        self.pars={}

        self.pars['specimen_lab_dc_field'] = self.specimen_Data['pars']['lab_dc_field']
 #       self.pars['specimen_lab_ac_field'] = self.specimen_Data['pars']['lab_ac_field']
        self.B_lab_dir = [self.specimen_Data['Thellier_dc_field_phi'], self.specimen_Data['Thellier_dc_field_theta'],
                          self.specimen_Data['Thellier_dc_field_uT']]  #
        self.B_lab_cart = lib_direct.dir2cart(self.B_lab_dir)

  #      self.pars['magic_method_codes']=Data[self.s]['pars']['magic_method_codes']
        self.pars['specimen_int_n']=int(self.end-self.start+1)
        self.pars['specimen_n_total']=len(self.x_Arai)


        #LJ ADDING stats:
        self.steps_Arai = self.specimen_Data['steps_Arai']
        self.n = int(self.end-self.start+1)
        self.n_max = len(self.t_Arai)
        self.tmin = tmin
        self.tmax = tmax
        self.tmin_K = tmin - 273.
        self.tmax_K = tmax - 273
        self.x_Arai_segment = self.x_Arai[self.start:self.end+1]
        self.y_Arai_segment = self.y_Arai[self.start:self.end+1]
        self.x_Arai_mean = numpy.mean(self.x_Arai_segment)
        self.y_Arai_mean = numpy.mean(self.y_Arai_segment)
        # try
        self.pars['x_Arai_mean'] = self.x_Arai_mean
        self.pars['y_Arai_mean'] = self.y_Arai_mean
        self.pars['tmin'] = tmin
        self.pars['tmax'] = tmax
        #
        self.xy_Arai = lib_arai.get_xy_array(self.x_Arai, self.y_Arai)
        self.xy_Arai_segment = lib_arai.get_xy_array(self.x_Arai_segment, self.y_Arai_segment)
 def testXyArray(self):  # satisfactory
     xy_array = lib_arai.get_xy_array(self.x, self.y)
     for num, i in enumerate(xy_array):
         self.assertAlmostEqual(i, self.ref_xy[num])
示例#4
0
 def testXyArray(self):  # satisfactory
     xy_array = lib_arai.get_xy_array(self.x, self.y)
     for num, i in enumerate(xy_array):
         self.assertAlmostEqual(i, self.ref_xy[num])
示例#5
0
    def __init__(self, Data,specimen_name,tmin,tmax):
        print "calling __init__ PintPars object"
        #print 'specimens', Data.keys()
        self.s=specimen_name
        self.specimen_Data=Data[self.s]
        self.datablock = self.specimen_Data['datablock']

        self.x_Arai=self.specimen_Data['x_Arai']
        self.y_Arai=self.specimen_Data['y_Arai']
        self.t_Arai=self.specimen_Data['t_Arai']

        self.zdata = self.specimen_Data['zdata'] # LJ add

        self.x_tail_check=self.specimen_Data['x_tail_check']
        self.y_tail_check=self.specimen_Data['y_tail_check']
        self.tail_checks_temperatures = self.specimen_Data['tail_check_temperatures']
#        self.x_tail_check_starting_point = self.specimen_Data['x_tail_check_starting_point']
#        self.y_tail_check_starting_point = self.specimen_Data['y_tail_check_starting_point']
        self.tail_checks_starting_temperatures = self.specimen_Data['tail_checks_starting_temperatures']

# pTRM checks ("triangles")
        self.x_ptrm_check = self.specimen_Data['x_ptrm_check'] # a list of x coordinates of pTRM checks
        self.y_ptrm_check = self.specimen_Data['y_ptrm_check'] # a list of y coordinates of pTRM checks      
        self.ptrm_checks_temperatures= self.specimen_Data['ptrm_checks_temperatures'] # a list of pTRM checks temperature 
#        Data[s]['x_ptrm_check_starting_point'] # a list of x coordinates of the point ehere the pTRM checks started from
#         Data[s]['y_ptrm_check_starting_point'] # a list of y coordinates of the point ehere the pTRM checks started from     
        self.ptrm_checks_starting_temperatures = self.specimen_Data['ptrm_checks_starting_temperatures'] # a list of temperatures from which the pTRM checks started from 

        # AC checks
        self.x_add_check = self.specimen_Data['x_additivity_check']
        self.y_add_check = self.specimen_Data['y_additivity_check']
        self.add_checks_temperatures = self.specimen_Data['additivity_check_temperatures']
        self.add_checks_starting_temperatures = self.specimen_Data['additivity_check_starting_temperatures']
        self.x_add_check_starting_point = self.specimen_Data['x_additivity_check_starting_point']
        self.y_add_check_starting_point = self.specimen_Data['y_additivity_check_starting_point']
        
        # Data in Temp/Dec/Inc/Int format
        self.PTRMS = self.specimen_Data['PTRMS']
        self.NRMS = self.specimen_Data['NRMS']
        self.NRM = self.specimen_Data['NRM']
        self.PTRM_Checks = self.specimen_Data['PTRM_Checks']
        self.TAIL_Checks = self.specimen_Data['TAIL_Checks']
        self.AC_Diffs = self.specimen_Data['AC']
#        self.ADD_Checks = self.specimen_Data['ADD_Checks'] # removed this from new_lj_thellier_gui

        self.zijdblock=self.specimen_Data['zijdblock']        
        self.z_temperatures=self.specimen_Data['z_temp']

        self.start=self.t_Arai.index(tmin)
        self.end=self.t_Arai.index(tmax)

        self.pars={}

        self.pars['lab_dc_field']=self.specimen_Data['pars']['lab_dc_field']
        self.B_lab_dir = [self.specimen_Data['Thellier_dc_field_phi'], self.specimen_Data['Thellier_dc_field_theta'], 
                          self.specimen_Data['Thellier_dc_field_uT']]  # 
        self.B_lab_cart = lib_direct.dir2cart(self.B_lab_dir)

  #      self.pars['magic_method_codes']=Data[self.s]['pars']['magic_method_codes']
        self.pars['specimen_n']=self.end-self.start+1

 
        #LJ ADDING stats:
        self.steps_Arai = self.specimen_Data['steps_Arai']
        self.n = float(self.end-self.start+1)
        self.n_max = len(self.t_Arai)
        self.tmin = tmin 
        self.tmax = tmax
        self.tmin_K = tmin - 273. 
        self.tmax_K = tmax - 273
        self.x_Arai_segment = self.x_Arai[self.start:self.end+1] 
        self.y_Arai_segment = self.y_Arai[self.start:self.end+1]
        self.x_Arai_mean = numpy.mean(self.x_Arai_segment)
        self.y_Arai_mean = numpy.mean(self.y_Arai_segment)
        # try
        self.pars['x_Arai_mean'] = self.x_Arai_mean
        self.pars['y_Arai_mean'] = self.y_Arai_mean
        self.pars['tmin'] = tmin
        self.pars['tmax'] = tmax
        #
        self.xy_Arai = lib_arai.get_xy_array(self.x_Arai, self.y_Arai)
        self.xy_Arai_segment = lib_arai.get_xy_array(self.x_Arai_segment, self.y_Arai_segment)