예제 #1
0
 def setUp(self):
     self.logger = dcs.Logger(0)
     self.opti_opts = dcs.OptiOpts()
     self.opti_opts.model_func     = str
     self.opti_opts.model_args     = {'a': 1}
     self.opti_opts.cost_func      = str
     self.opti_opts.cost_args      = {'b': 2}
     self.opti_opts.get_param_func = str
     self.opti_opts.set_param_func = repr
     self.opti_opts.output_folder  = ''
     self.opti_opts.output_results = ''
     self.opti_opts.params         = [1, 2]
예제 #2
0
    def setUp(self):
        self.logger = dcs.Logger(10)
        time        = np.arange(251)
        sim_params  = SimParams(time, magnitude=3.5, frequency=12, phase=180)
        truth_time  = np.arange(-10, 201)
        truth_data  = 5 * np.sin(2*np.pi*10*time/1000 + 90*np.pi/180)

        self.opti_opts = dcs.OptiOpts()
        self.opti_opts.model_func     = sim_model
        self.opti_opts.model_args     = {'sim_params': sim_params}
        self.opti_opts.cost_func      = cost_wrapper
        self.opti_opts.cost_args      = {'results_time': time, 'truth_time': truth_time, 'truth_data': truth_data}
        self.opti_opts.get_param_func = get_parameter
        self.opti_opts.set_param_func = set_parameter
        self.opti_opts.output_folder  = ''
        self.opti_opts.output_results = ''
        self.opti_opts.params         = []

        # Parameters to estimate
        self.opti_opts.params.append(dcs.OptiParam('magnitude', best=2.5, min_=-10, max_=10, typical=5, minstep=0.01))
        self.opti_opts.params.append(dcs.OptiParam('frequency', best=20, min_=1, max_=1000, typical=60, minstep=0.01))
        self.opti_opts.params.append(dcs.OptiParam('phase', best=180, min_=0, max_=360, typical=100, minstep=0.1))
예제 #3
0
 def test_inequality2(self):
     opti_opts = dcs.OptiOpts()
     self.assertNotEqual(opti_opts, 2)
예제 #4
0
 def test_inequality(self):
     opti_opts1 = dcs.OptiOpts()
     opti_opts2 = dcs.OptiOpts()
     opti_opts2.grow_radius = 5.5
     self.assertNotEqual(opti_opts1, opti_opts2)
예제 #5
0
 def test_equality(self):
     opti_opts1 = dcs.OptiOpts()
     opti_opts2 = dcs.OptiOpts()
     self.assertEqual(opti_opts1, opti_opts2)
예제 #6
0
 def test_init(self):
     opti_opts = dcs.OptiOpts()
     self.assertTrue(isinstance(opti_opts, dcs.OptiOpts))
예제 #7
0
    make_plots = True
    time = np.arange(251)

    # Parameters
    sim_params = SimParams(time, magnitude=3.5, frequency=12, phase=180)

    # Truth data
    truth_time = np.arange(-10, 201)
    truth_data = truth(truth_time)
    truth = dcs.TruthPlotter(truth_time, truth_data)

    # Logger
    dcs.Logger().set_level(10)

    # BPE Settings
    opti_opts = dcs.OptiOpts()
    opti_opts.model_func = sim_model
    opti_opts.model_args = {'sim_params': sim_params}
    opti_opts.cost_func = cost_wrapper
    opti_opts.cost_args = {
        'results_time': time,
        'truth_time': truth_time,
        'truth_data': truth_data
    }
    opti_opts.get_param_func = get_parameter
    opti_opts.set_param_func = set_parameter
    opti_opts.output_folder = os.path.join(dcs.get_output_dir(),
                                           datetime.now().strftime('%Y-%m-%d'))
    opti_opts.output_results = 'bpe_results.hdf5'
    opti_opts.params = []