UNPKG

xrd-calculate

Version:

Calculate xrd data

92 lines (81 loc) 3.63 kB
# @xtalpi/xrd-calculate XRD计算 ## 安装 ``` npm i @xtalpi/xrd-calculate --save ``` ## 使用 ### 引入模块 ES6 import 引入 ``` import { Calculate } from '@xtalpi/xrd-calculate' ``` CommonJs require 引入 ``` const { Calculate } = require('@xtalpi/xrd-calculate') ``` ### 基本用法 ``` const filepath = 'your-file-path' const calculate = new Calculate() calculate.onInitialized() .then(() => { // 调用实例方法 calculate.ciftoXrd(filepath) .then(xrdDatas => { console.log(xrdDatas) }) .catch(err => { throw err }) }) .catch(err => { throw err }) ``` ## API ### calculate.cifToXrd (filepath, options) ``` /** * @function 解析cif文件,转换为xrd数据 * @param {String} filepath cif文件路径 * @param {Object} options 可选项 * - theta2Min {Number} 2theta的最小值, 默认为0 * - theta2Max {Number} 2theta的最大值, 默认为50 * - raySource {String} 射线源,默认为'CuKa1' * - smooth {Boolean} 是否进行平滑降噪处理, 默认为true * - smoothStep {Number} 平滑处理的步进, 默认为0.02 * - scaled {Boolean} 是否将intensity转换为相对百分比, 默认为false * - decimalX {Number} 2theta值的小数位精度, 默认为原始值 * - decimalY {Number} intensity值的小数位精度, 默认为原始值 * - dataFormat {String} 返回的单个数据项格式,可选值:object/array。默认为'object',即:[{x:3,y:100},{x:4,y:100.5}...] * @return {Promise} 成功:resolve(xrdData), xrdData为转换后的结果。失败:reject(error) */ ``` ### calculate.smooth (xrdArray, options) ``` /** * @function 对xrd数据进行平滑降噪处理 * @param {Array} xrdArray xrd数据,如:[[3,100],[4,100.5]...] * @param {Object} options 可选项 * - theta2Min {Number} 2theta的最小值, 默认为0 * - theta2Max {Number} 2theta的最大值, 默认为50 * - smoothStep {Number} 平滑处理的步进, 默认为0.02 * - scaled {Boolean} 是否将intensity转换为相对百分比, 默认为false * - yIndex {Number} 取xrdArray中单个数据项的第几个作为intensity, 默认为1,即取[3,100]中的100作为intensity值 * - update {Boolean} 是否用平滑后的数据更新xrdArray, 默认为false,即不更新 * @return {Promise} 成功:resolve(result), 当update为false时,result为平滑后的xrd数据;当update为true时,result为更新后的xrdArray。失败:reject(error) */ ``` ### calculate.normalize (xrdArray, options) ``` /** * @function 对xrd数据进行归一化处理 * @param {Array} xrdArray xrd数据,如:[[3,100],[4,100.5]...] * @param {Object} options 可选项 * - decimal {Number} 归一化后的数据精度(小数点后的位数),默认为3 * - yIndex {Number} 取xrdArray中单个数据项的第几个作为intensity, 默认为1,即取[3,100]中的100作为intensity值 * - update {Boolean} 是否用归一化后的数据更新xrdArray, 默认为false,即不更新 * @return {Array} 返回归一化后的结果。update为false时返回新数组,update为true时返回处理后的输入数组 */ ``` ## 测试 ``` npm run test ```