当前位置: 首页>>代码示例>>Python>>正文


Python Parameter.as_dictionary方法代码示例

本文整理汇总了Python中hyperspy.component.Parameter.as_dictionary方法的典型用法代码示例。如果您正苦于以下问题:Python Parameter.as_dictionary方法的具体用法?Python Parameter.as_dictionary怎么用?Python Parameter.as_dictionary使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在hyperspy.component.Parameter的用法示例。


在下文中一共展示了Parameter.as_dictionary方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: setUp

# 需要导入模块: from hyperspy.component import Parameter [as 别名]
# 或者: from hyperspy.component.Parameter import as_dictionary [as 别名]
class TestParameterDictionary:

    def setUp(self):
        self.par = Parameter()
        self.par.name = 'asd'
        self.par._id_name = 'newone'

        def ft(x):
            return x * x

        def fit(x):
            return x * x + 1
        self.par.twin_function = ft
        self.par.twin_inverse_function = fit
        self.par._axes_manager = DummyAxesManager()
        self.par._create_array()
        self.par.value = 1
        self.par.std = 0.1
        self.par.store_current_value_in_array()
        self.par.ext_bounded = False
        self.par.ext_force_positive = False

    def test_to_dictionary(self):
        d = self.par.as_dictionary()

        nt.assert_equal(d['name'], self.par.name)
        nt.assert_equal(d['_id_name'], self.par._id_name)
        np.testing.assert_equal(d['map']['values'][0], 1)
        np.testing.assert_equal(d['map']['std'][0], 0.1)
        nt.assert_true(d['map']['is_set'][0])
        np.testing.assert_equal(d['value'], self.par.value)
        np.testing.assert_equal(d['std'], self.par.std)
        nt.assert_is(d['free'], self.par.free)
        nt.assert_equal(d['self'], id(self.par))
        np.testing.assert_equal(d['_bounds'], self.par._bounds)
        nt.assert_is(d['ext_bounded'], self.par.ext_bounded)
        nt.assert_is(
            d['ext_force_positive'], self.par.ext_force_positive)

    def test_load_dictionary(self):
        d = self.par.as_dictionary()
        p = Parameter()
        p._id_name = 'newone'
        _id = p._load_dictionary(d)

        nt.assert_equal(_id, id(self.par))
        nt.assert_equal(p.name, self.par.name)
        nt.assert_equal(p._id_name, self.par._id_name)
        np.testing.assert_equal(p.map['values'][0], 1)
        np.testing.assert_equal(p.map['std'][0], 0.1)
        nt.assert_true(p.map['is_set'][0])
        np.testing.assert_equal(p.value, self.par.value)
        np.testing.assert_equal(p.std, self.par.std)
        np.testing.assert_equal(p.free, self.par.free)
        np.testing.assert_equal(p._bounds, self.par._bounds)

        rn = np.random.random()
        np.testing.assert_equal(
            p.twin_function(rn),
            self.par.twin_function(rn))
        np.testing.assert_equal(
            p.twin_inverse_function(rn),
            self.par.twin_inverse_function(rn))

    @nt.raises(ValueError)
    def test_invalid_name(self):
        d = self.par.as_dictionary()
        d['_id_name'] = 'otherone'
        p = Parameter()
        p._id_name = 'newone'
        _id = p._load_dictionary(d)
开发者ID:AakashV,项目名称:hyperspy,代码行数:73,代码来源:test_model_as_dictionary.py

示例2: setup_method

# 需要导入模块: from hyperspy.component import Parameter [as 别名]
# 或者: from hyperspy.component.Parameter import as_dictionary [as 别名]
class TestParameterDictionary:

    def setup_method(self, method):
        self.par = Parameter()
        self.par.name = 'asd'
        self.par._id_name = 'newone'
        self.par.twin_function_expr = "x * x"
        self.par.twin_inverse_function_expr = "x * x + 1"
        self.par._axes_manager = DummyAxesManager()
        self.par._create_array()
        self.par.value = 1
        self.par.std = 0.1
        self.par.store_current_value_in_array()
        self.par.ext_bounded = False
        self.par.ext_force_positive = False

    def test_to_dictionary(self):
        d = self.par.as_dictionary()

        assert d['name'] == self.par.name
        assert d['_id_name'] == self.par._id_name
        np.testing.assert_equal(d['map']['values'][0], 1)
        np.testing.assert_equal(d['map']['std'][0], 0.1)
        assert d['map']['is_set'][0]
        np.testing.assert_equal(d['value'], self.par.value)
        np.testing.assert_equal(d['std'], self.par.std)
        assert d['free'] is self.par.free
        assert d['self'] == id(self.par)
        np.testing.assert_equal(d['_bounds'], self.par._bounds)
        assert d['ext_bounded'] is self.par.ext_bounded
        assert (
            d['ext_force_positive'] is self.par.ext_force_positive)

    def test_load_dictionary(self):
        d = self.par.as_dictionary()
        p = Parameter()
        p._id_name = 'newone'
        _id = p._load_dictionary(d)

        assert _id == id(self.par)
        assert p.name == self.par.name
        assert p._id_name == self.par._id_name
        np.testing.assert_equal(p.map['values'][0], 1)
        np.testing.assert_equal(p.map['std'][0], 0.1)
        assert p.map['is_set'][0]
        np.testing.assert_equal(p.value, self.par.value)
        np.testing.assert_equal(p.std, self.par.std)
        np.testing.assert_equal(p.free, self.par.free)
        np.testing.assert_equal(p._bounds, self.par._bounds)

        rn = np.random.random()
        np.testing.assert_equal(
            p.twin_function(rn),
            self.par.twin_function(rn))
        np.testing.assert_equal(
            p.twin_inverse_function(rn),
            self.par.twin_inverse_function(rn))

    def test_invalid_name(self):
        d = self.par.as_dictionary()
        d['_id_name'] = 'otherone'
        p = Parameter()
        p._id_name = 'newone'
        with pytest.raises(ValueError):
            _id = p._load_dictionary(d)
开发者ID:mwalls,项目名称:hyperspy,代码行数:67,代码来源:test_model_as_dictionary.py


注:本文中的hyperspy.component.Parameter.as_dictionary方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。