#科学计算 #算法 #数据 #数据分析 #流式处理 #tttr

bin+lib tttr-toolbox

为您的 TTTR 数据提供快速流式算法

11 个版本

0.4.5 2023年7月14日
0.4.4 2023年7月13日
0.4.3 2021年8月6日
0.4.2 2021年6月25日
0.1.0 2021年4月23日

#181 in 科学

Download history 32/week @ 2024-03-31 112/week @ 2024-04-14

107 每月下载量

MIT 许可证

105KB
2K SLoC

TTTR Toolbox

为您的 TTTR 数据提供最快的流式算法。

TTTR Toolbox 可以作为一个独立的 Rust 库使用。如果您大部分数据分析都在 Python 中进行,您可能更喜欢检查 Trattoria,这是该库的包装库。

项目目标

  • 单线程性能
  • 易于扩展

可用的算法

  • 二阶自相关(g2)
    • 支持记录范围选择
  • 三阶自相关(g3)
  • 同步三阶自相关(同步 g3)
  • 强度时间迹
  • 记录数量时间迹
  • 零延迟查找器
  • 寿命

支持的文件和记录格式

  • PicoQuant PTU
    • PHT2
    • HHT2_HH1
    • HHT2_HH2
    • HHT3_HH2

如果您想支持更多记录格式和文件格式,请提出请求。至少我们还需要文件格式规范和包含一些可识别特征的文件来测试实现。

示例

pub fn main() {
    let filename = PathBuf::from("/Users/garfield/Downloads/20191205_Xminus_0p1Ve-6_CW_HBT.ptu");
    let ptu_file = File::PTU(PTUFile::new(filename).unwrap());
    // Unwrap the file so we can print the header
    let File::PTU(f) = &ptu_file;
    println!("{}", f);

    let params = G2Params {
        channel_1: 0,
        channel_2: 1,
        correlation_window: 50_000e-12,
        resolution: 600e-12,
        record_ranges: None,
    };
    let g2_histogram = g2(&ptu_file, &params).unwrap();
    println!("{:?}", g2_histogram.hist);
}

依赖项

~7–14MB
~164K SLoC