xrd-calculate

0.0.1 • Public • Published

@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

Package Sidebar

Install

npm i xrd-calculate

Weekly Downloads

3

Version

0.0.1

License

MIT

Unpacked Size

2.43 MB

Total Files

16

Last publish

Collaborators

  • theoxiong