CUDA加速的Python工具,用于高通量PET/MR图像重建和分析
项目描述
NIPET是NiftyPET的Python子包,提供高通量PET图像重建以及图像处理和分析(nimpa: https://github.com/NiftyPET/NIMPA),用于具有高定量准确性和精度的PET/MR成像。该软件用CUDA C编写,并嵌入Python C扩展。
本软件的科学方面已在两篇开放获取出版物中介绍
NiftyPET:一种用于高定量精度和精确PET成像与分析的高通量软件平台 神经信息学(2018)16:95. https://doi.org/10.1007/s12021-017-9352-y
快速处理PET列表模式数据,以实现高效的不确定性估计和数据分析 医学物理与生物(2016)。 https://doi.org/10.1088/0031-9155/61/13/N322
尽管,两个独立且独立的包,nipet 和 nimpa,专注于脑部成像,但它们同样适用于全身成像。特别强调使用正电子发射断层扫描(PET)和磁共振(MR)获得的数据,特别是混合和同时PET/MR扫描仪。
此软件平台和Python命名空间 NiftyPET 覆盖了整个处理流程,从原始列表模式(LM)PET数据到感兴趣的最后图像统计(例如,区域SUV),包括LM重抽样和多重建,以促进体素级不确定性估计。
为了便于所有功能,NiftyPET 依赖于第三方软件将DICOM图像转换为NIfTI(dcm2niix)和图像配准(NiftyReg)。附加软件将自动安装到用户指定的位置。
带有安装手册和教程的文档: https://niftypet.readthedocs.io/
快速安装
请注意,安装提示要求设置NiftyPET_tools的路径和硬件衰减图。可以通过分别设置环境变量PATHTOOLS和HMUDIR来避免这种情况。还建议(但不是必需的)使用conda。
# optional (Linux syntax) to avoid prompts
export PATHTOOLS=$HOME/NiftyPET_tools
export HMUDIR=$HOME/mmr_hardwareumaps
# cross-platform install
conda install -c conda-forge python=3 \
ipykernel numpy scipy scikit-image matplotlib ipywidgets dipy nibabel pydicom
pip install "nipet>=2"
外部CMake项目
可以使用cmake将原始C/CUDA库包含在外部项目中。只需构建项目并使用find_package(NiftyPETnipet)。
# print installation directory (after `pip install nipet`)...
python -c "from niftypet.nipet import cmake_prefix; print(cmake_prefix)"
# ... or build & install directly with cmake
mkdir build && cd build
cmake ../niftypet && cmake --build . && cmake --install . --prefix /my/install/dir
在此阶段,任何外部项目都可以包含NIPET,如下所示(一旦设置-DCMAKE_PREFIX_DIR=<installation prefix from above>)
cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
project(myproj)
find_package(NiftyPETnipet COMPONENTS mmr_auxe mmr_lmproc petprj nifty_scatter REQUIRED)
add_executable(myexe ...)
target_link_libraries(myexe PRIVATE
NiftyPET::mmr_auxe NiftyPET::mmr_lmproc NiftyPET::petprj NiftyPET::nifty_scatter)
许可证
版权所有 2018-21
Pawel J. Markiewicz @ 伦敦大学学院
Casper O. da Costa-Luis @ 伦敦国王学院