flimlib C函数的Python封装
项目描述
FLIMLib
FLIMLib是一个用于荧光寿命成像或FLIM的曲线拟合库。它由Paul Barber(伦敦UCL和KCL)和牛津大学放射肿瘤学研究所的先进技术小组以及威斯康星大学麦迪逊分校的光学计算仪器实验室开发。FLIMLib用于Time Resolved Imaging(TRI2)软件中的FLIM功能,以及ImageJ的FLIMJ插件。
在FLIMLib中有三个核心算法用于指数寿命拟合
- 一个三重积分方法,用于快速估计单个指数寿命成分。
- 一个Levenberg-Marquardt算法或LMA,使用迭代、最小二乘法生成拟合。它与单指数、双指数和三指数模型以及拉伸指数一起工作。
- 一个贝叶斯算法,将每个单光子的证据结合起来估计寿命等。它在低光子计数的情况下提供更好的性能。
此外,还有代码可以同时对多个信号进行“全局”分析(例如,对图像进行分析),在这种情况下,数据集中的寿命可以认为是恒定的,但允许每个信号的幅度变化。还有一个完全通用的全局分析函数。还有一个算法可以执行相量分析。
此外,还有一个非负线性最小二乘算法,在组合光谱-寿命成像(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
运行独立可执行文件
-
将可执行文件复制到
test_files
文件夹以方便使用cp target/build/bin/flimlib-cmd ./test_files
-
使用测试文件运行程序
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8cbbf2a727a378b6e3aff969ad264825fca7b5b7bb566cc00e8abf5c6d0fca62 |
|
MD5 | 4d921fe51569186bc44735e079a00f79 |
|
BLAKE2b-256 | 02c0f2a5bf5bb6be54c3c0b16bfd162d42d09f172f8f6cb873004fb2afd2fed0 |
flimlib-2.2.3-cp311-cp311-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | af0132b8063e4f3f9a801f3ee2b81f0fbbffe89970bf3ea2aa31ab890804baca |
|
MD5 | 897ba83436124d76bd2d61ea93e44676 |
|
BLAKE2b-256 | a2ccd253488e7aaa880aa43b7502a536de1705857f245ea6eaa02087ecb6eb2b |
flimlib-2.2.3-cp311-cp311-win32.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 69b41e88f14b71155958bfc7d18e8a8989bbaf498acd5f447dceddf3be8bc2fe |
|
MD5 | 29dd24eb6b9e8f3eb402e0375e7c0ac5 |
|
BLAKE2b-256 | 7298fc4e7ffde64473821a3667af7c788765d0c4b76693f7a8d8666c92473cab |
flimlib-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c03bcc8770075844a6843dd84ae6d7d9b36857b8a55d47155e3add6e907cab4b |
|
MD5 | ef8e04eb9ba4aedf679111f3f58f363e |
|
BLAKE2b-256 | 29398fa79e37b6fb788d11ed2f557b1e91780e1fc5db40e713531adc327ba88b |
flimlib-2.2.3-cp311-cp311-macosx_10_9_universal2.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eaeea56de05a56b2dcc4107ffdb099d75bc2a4b2b4911aa47ce258e0bb257451 |
|
MD5 | f8da3a9d9304e484e01929d3fd975e59 |
|
BLAKE2b-256 | 6cf4041ebbd2c7bddde07c1a825d942f02fdceed0764d69d15437ccb56737cad |
哈希值 用于 flimlib-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8b5e562034d2c6056e27fb1f16e06f07887ad9d06b6e2caa373ceebd9f60dc74 |
|
MD5 | b97f1ba836cf8bbefbf84e2eab311caa |
|
BLAKE2b-256 | 68dec58e740624f99189429c3ea487318ae57282a1456daae14433e55ca94b2f |
哈希值 用于 flimlib-2.2.3-cp310-cp310-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0ad495429d9b98a139a6db4758ebc9296758a297a10e908e33a2c4de94e611f5 |
|
MD5 | 124b34395040ca69910391a4d946c1ad |
|
BLAKE2b-256 | f7c35e8984096447bbbd4a589d5c895e0c6d650222d92799baab2c90d376dd8b |
哈希值 用于 flimlib-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f136a443d1022519798e197090291d75d1aadb1bb6e71a3e335b659bd4be22ac |
|
MD5 | 74634e5bcdbe77113a0f89ec335dcb38 |
|
BLAKE2b-256 | e7e70875d8f7566d9dae5022466e76d537acb865eac7ab7043e85440252e350e |
哈希值 用于 flimlib-2.2.3-cp39-cp39-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 36828b276f9b66b6eeeedb56d134a813bd354362f176d14b45f164fff3dcb118 |
|
MD5 | ced0ceec8f7ec209a9fb4c8182f94585 |
|
BLAKE2b-256 | ec58da66b41242831d0a3f65656a84e10439b339a1f9f5eb8a785ee4cfea8387 |
哈希值 用于 flimlib-2.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fe052a50c84038ff0921fc2b038e9bb8630d9b397a137e09a80e475ffb2a0243 |
|
MD5 | 6d002442344db9a2454ab5dc2c6e1487 |
|
BLAKE2b-256 | 154a13062b822d836dc7aaf2fa4baee3d48c8c2ceeeafa555c01345dcc1131fb |
哈希值 用于 flimlib-2.2.3-cp38-cp38-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 62a8922d6ceed279491bd096cbc03e4cfc2784340e743a6c2cafa9dd5837a4fe |
|
MD5 | 432ef7421cd64b80ee327c4acbc76c0e |
|
BLAKE2b-256 | 7920932b87d5c7dac69e576b232c44b251ec3ef7321b0365c4ad2901158bc3e8 |