跳转到主要内容

flimlib C函数的Python封装

项目描述

FLIMLib

FLIMLib是一个用于荧光寿命成像或FLIM的曲线拟合库。它由Paul Barber(伦敦UCL和KCL)和牛津大学放射肿瘤学研究所的先进技术小组以及威斯康星大学麦迪逊分校的光学计算仪器实验室开发。FLIMLib用于Time Resolved Imaging(TRI2)软件中的FLIM功能,以及ImageJ的FLIMJ插件。

在FLIMLib中有三个核心算法用于指数寿命拟合

  1. 一个三重积分方法,用于快速估计单个指数寿命成分。
  2. 一个Levenberg-Marquardt算法或LMA,使用迭代、最小二乘法生成拟合。它与单指数、双指数和三指数模型以及拉伸指数一起工作。
  3. 一个贝叶斯算法,将每个单光子的证据结合起来估计寿命等。它在低光子计数的情况下提供更好的性能。

此外,还有代码可以同时对多个信号进行“全局”分析(例如,对图像进行分析),在这种情况下,数据集中的寿命可以认为是恒定的,但允许每个信号的幅度变化。还有一个完全通用的全局分析函数。还有一个算法可以执行相量分析。

此外,还有一个非负线性最小二乘算法,在组合光谱-寿命成像(SLIM)中的光谱混合中非常有用。

FLIMLib库代码是用与C89兼容的C编写的,并针对同时拟合多个像素进行线程安全。提供了一个Java接口(由SWIG生成),可以从Java代码中调用库:FLIMLib.java提供了FLIMJ插件用于ImageJ的函数调用子集。

此外,在FLIMLib.i中还有包装器代码,用于包装在flimlib.def中的外部函数。此代码生成SWIG包装文件,使您可以从Java调用这些函数。

另请参阅

目录内容

目录 内容
src/main/c FLIMLib库的源文件
src/main/cpp 用于C++项目的FLIMLib类的C++包含文件
target/generated-sources/main 由SWIG生成的Java API和C++包装器
src/main/java 其余的Java API源文件
src/main/python 基于ctypes的Python API源文件
src/main/swig 指导Java API生成的SWIG源文件
src/flimlib-cmd/c 库的独立可执行包装器的源文件
src/flimlib-cmd/cpp 用C++编写的独立可执行文件的源文件
src/matlab 用于与Matlab一起使用库的包装器和示例代码
test_files .dat.ini设置文件用于测试
target/natives 编译后的库二进制文件

构建源代码(C++/Java)

您需要安装JDK、Maven、CMake、SWIG以及C和C++工具链(Linux上的GCC、macOS上的命令行工具或Xcode、Windows上的Visual Studio(带有C++桌面开发))。

使用Maven构建库和独立程序

mvn clean install

运行独立可执行文件

  1. 将可执行文件复制到test_files文件夹以方便使用

    cp target/build/bin/flimlib-cmd ./test_files
    
  2. 使用测试文件运行程序

    cd ./test_files
    ./flimlib-cmd test.ini transient.dat
    

从Java项目中使用

要从Maven依赖FLIMLib,只需将以下内容复制到您的pom.xml文件中适当的位置

<properties>
  <flimlib.version>2.1.0</flimlib.version>
</properties>

<!-- FLIMLib Java interface -->
<dependency>
  <groupId>flimlib</groupId>
  <artifactId>flimlib</artifactId>
  <version>${flimlib.version}</version>
</dependency>
<!-- FLIMLib native binary -->
<dependency>
  <groupId>flimlib</groupId>
  <artifactId>flimlib</artifactId>
  <version>${flimlib.version}</version>
  <classifier>${scijava.natives.classifier}</classifier>
  <!-- Or one of the following if you would like to manually specify the binary platform -->
  <!-- <classifier>native-linux_64</classifier> -->
  <!-- <classifier>native-windows_64</classifier> -->
  <!-- <classifier>native-osx_64</classifier> -->
</dependency>

请注意,本地二进制文件是平台相关的。因此,您可能需要确保<classifier>属性由父scijava pom(${scijava.natives.classifier})自动检测或手动填充以匹配您的平台。

从Python中使用

Python API是基于ctypes的库函数包装器。

pip install flimlib
import flimlib

要开始使用,请查看这些函数的帮助(docstrings)

  • flimlib.GCI_marquardt_fitting_engine()(Levenberg-Marquardt)
  • flimlib.GCI_triple_integral_fitting_engine()(RLD:快速寿命确定)
  • flimlib.GCI_Phasor()(相量分析)

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定要选择哪一个,请了解更多关于安装软件包的信息。

源代码分发

flimlib-2.2.3.tar.gz (212.4 kB 查看哈希)

上传时间 源代码

构建版本

flimlib-2.2.3-cp311-cp311-win_amd64.whl (145.7 kB 查看哈希)

上传时间 CPython 3.11 Windows x86-64

flimlib-2.2.3-cp311-cp311-win32.whl (113.8 kB 查看哈希)

上传时间 CPython 3.11 Windows x86

flimlib-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (508.3 kB 查看哈希)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

flimlib-2.2.3-cp311-cp311-macosx_10_9_universal2.whl (374.6 kB 查看哈希)

上传时间 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

flimlib-2.2.3-cp310-cp310-win_amd64.whl (145.7 kB 查看哈希)

上传时间 CPython 3.10 Windows x86-64

flimlib-2.2.3-cp310-cp310-win32.whl (113.8 kB 查看哈希)

上传时间 CPython 3.10 Windows x86

flimlib-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (508.3 kB 查看哈希)

上传时间 CPython 3.10 manylinux: glibc 2.17+ x86-64

flimlib-2.2.3-cp310-cp310-macosx_10_9_universal2.whl (374.6 kB 查看哈希)

上传时间 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

flimlib-2.2.3-cp39-cp39-win_amd64.whl (145.7 kB 查看哈希)

上传时间 CPython 3.9 Windows x86-64

flimlib-2.2.3-cp39-cp39-win32.whl (113.8 kB 查看哈希)

上传时间 CPython 3.9 Windows x86

flimlib-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (508.1 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ x86-64

flimlib-2.2.3-cp39-cp39-macosx_10_9_universal2.whl (374.6 kB 查看哈希值)

上传时间: CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

flimlib-2.2.3-cp38-cp38-win_amd64.whl (145.7 kB 查看哈希值)

上传时间: CPython 3.8 Windows x86-64

flimlib-2.2.3-cp38-cp38-win32.whl (113.7 kB 查看哈希值)

上传时间: CPython 3.8 Windows x86

flimlib-2.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (508.4 kB 查看哈希值)

上传时间: CPython 3.8 manylinux: glibc 2.17+ x86-64

flimlib-2.2.3-cp38-cp38-macosx_10_9_universal2.whl (374.6 kB 查看哈希值)

上传时间: CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面