光谱拟合模型的数据存储格式

这两天看到 json 存储格式,注意到它非常适合用来描述比较复杂的数据结构,而且方便生成和解析。当然这本来就是它设计出来的目的,为了给 JavaScript 脚本传递数据的嘛。关于 json 格式的定义这里不再多说,网上有非常多的内容。以下给出一个用来存储光谱拟合结果的 json 文件示意。

{
    "id":"1",
    "model":{
        "components":[
            {"compid":"1", "funcname":"gaussian", "inipar":[4861], "var":[10, 20, 30], "varlimit":[[9, 11], [15, 30], [20, 40]], "compname":"Hbeta", "comptexname":"H$\\beta$"},
            {"compid":"2", "funcname":"gaussian", "inipar":[4340], "var":[10, 20, 30], "varlimit":[[9, 11], [15, 30], [20, 40]], "compname":"Hgamma", "comptexname":"H$\\gamma$"},
            {"compid":"3", "funcname":"powerlaw", "inipar":[5100], "var":[2, -1.5], "varlimit":[[0.1, 10], [-10, 0]], "compname":"Hbeta", "comptexname":"H$\beta$"}
        ],
        "ties":{
            "var":[
                {"id":"1", "tie":"profile", "tieid":"2", "parids":["1"], "pars":[]},
                {"id":"2", "tie":"value", "tieid":"3", "parids":[], "pars":[0.0]}
            ],
            "limit":[
                {"id":"1", "tie":"littleShift", "tieid":"1", "parids":["2"], "pars":[-20, 20]}
            ]
        }
    },
    "data":{
        "file":"XXX.fits",
        "format":"NULL",
        "redshift": 0.0,
        "windows":[[4340, 4560], [4600, 5550], [6000, 7000]]
    }
}

通过上述的文档结构,我们可以很容易地恢复一个拟合对象,也可以把拟合结果连同拟合模型存储为一个 json 文件。

Visits: 119

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*