跳转到主要内容

cuCIM - 一个可扩展的工具包,旨在为N维图像提供GPU加速的I/O、计算机视觉和图像处理原语,重点关注生物医学成像。

项目描述

 cuCIM

RAPIDS cuCIM 是一个开源的、用于多维度图像的加速计算机视觉和图像处理软件库,适用于生物医学、地理空间、材料和生命科学以及遥感用例。

cuCIM 提供

  • 增强大型和 n 维标签图像文件格式 (TIFF) 文件的处理能力
  • 通过基于图形处理单元 (GPU) 的图像处理和计算机视觉原语加速性能
  • 简单的 Pythonic 接口,具有与 Openslide 匹配的应用程序编程接口 (API)

cuCIM 支持以下格式

  • Aperio ScanScope 虚拟切片 (SVS)
  • Philips TIFF
  • 具有以下压缩方案的通用瓦片、多分辨率 RGB TIFF 文件
    • 无压缩
    • JPEG
    • JPEG2000
    • Lempel-Ziv-Welch (LZW)
    • Deflate

注意:要获取最新的稳定版 README.md,请确保您处于 main 分支。

开发者页面

博客

网络研讨会

文档

发行说明 可在我们的 wiki 页面 上找到。

安装 cuCIM

Conda

Conda (稳定版)

conda create -n cucim -c rapidsai -c conda-forge cucim cudatoolkit=<CUDA 版本>

<CUDA 版本> 应为 11.0+(例如,11.011.2 等)

Conda (夜间版)

conda create -n cucim -c rapidsai-nightly -c conda-forge cucim cudatoolkit=<CUDA 版本>

<CUDA 版本> 应为 11.0+(例如,11.011.2 等)

PyPI

pip install cucim

# Install dependencies for `cucim.skimage` (assuming that CUDA 11.0 is used for CuPy)
pip install scipy scikit-image cupy-cuda110

笔记本

请查看我们的 欢迎 笔记本(NBViewer

下载示例图像

要下载笔记本中使用的图像,请从存储库根目录执行以下命令,将示例输入图像复制到 notebooks/input 文件夹中

(您需要在您的系统中安装 Docker

./run download_testdata

mkdir -p notebooks/input
tmp_id=$(docker create gigony/svs-testdata:little-big)
docker cp $tmp_id:/input notebooks
docker rm -v ${tmp_id}

从源码构建/安装

请参阅构建 说明

贡献指南

对 cuCIM 的贡献总是受欢迎!请查阅 CONTRIBUTING.md 文件,了解如何向项目贡献代码和问题。

致谢

如果没有出色的第三方开源软件,这个项目将不会存在。

请查看 LICENSE-3rdparty.md 了解本项目使用了哪些第三方开源软件。

许可证

Apache-2.0 许可证(请参阅 LICENSE 文件)。

版权 (c) 2020-2022,NVIDIA CORPORATION.

cuCIM 23.10.00 (2023 年 10 月 11 日)

🐛 错误修复

  • 使用 conda mambabuild 而不是 mamba mambabuild#607@bdice

📖 文档

  • 发布23.08版本变更日志的微小更新 (#605) @grlee77

🛠️ 改进

cuCIM 23.08.00 (2023年8月9日)

🚨 破坏性变更

  • 将 cuCIM API 与 scikit-image 0.21 同步 (#573) @grlee77
  • medial_axis 和 unsupervised_wiener 的 random_state 参数现在已弃用,并将在未来删除。应使用新参数名称 seed 代替。(#573) @grlee77
  • 现有的函数 cucim.skimage.color.get_xyz_coords 已重命名为 cucim.skimage.color.xyz_tristimulus_values。前者函数名称已弃用,并将在未来删除。(#573) @grlee77

🐛 错误修复

  • 删除 libwebp-base 的上限。(#599) @bdice
  • 修复 ignore_run_exports_from。(#596) @bdice
  • 为 CUDA 11 添加 ignore_run_exports。(#593) @raydouglass
  • 使用 linalg & 内联 _get_manders_overlap_coeff (#578) @jakirkham
  • 修复 canny 和 butterworth (最近的 CuPy 和 NumPy 兼容性) (#574) @grlee77
  • AffineTransform 的 2D 剪切计算中的错误已被修复。(#573) @grlee77
  • 修复了 cucim.skimage.segmentation.chan_vese 能量计算中的错误。此修复可能导致与先前版本不同的输出。(#573) @grlee77

🛠️ 改进

  • 以前私有函数 _invariant_denoise 已重命名为 denoise_invariant,并现在是公共 cucim.skimage.restoration API 的一部分 (#573) @grlee77
  • cucim.skimage.segmentation.join_segmentations 添加了新的 return_mapping 选项。这提供了与原始标签之间映射的附加输出。(#573) @grlee77
  • 向 2D AffineTransform 添加了对 y 轴剪切的支撑。(#573) @grlee77
  • 推迟测试中对 GPU 内存评估的评估 (#601) @gigony
  • 对于 aarch64,不要使用 x86_64 GDS 二进制文件 (#590) @gigony
  • 删除对不再受支持的 scikit-image 版本的检查 (#587) @grlee77
  • 允许 scikit-image 0.21.0 (#580) @jakirkham
  • libwebp-base 中删除了不必要的选择器 (#579) @jakirkham
  • 从捆绑的懒加载代码切换到公共的 lazy_loader 包 (#575) @grlee77
  • 将 cuCIM API 与 scikit-image 0.21 同步 (#573) @grlee77
  • cuCIM:构建 CUDA 12 包 (#572) @jakirkham
  • 使用 rapids-upload-docs 脚本 (#570) @AyodeAwe
  • 删除 Jenkins 的文档构建脚本 (#567) @ajschmidt8

cuCIM 23.06.00 (7 Jun 2023)

🚨 破坏性变更

🐛 错误修复

  • 修复测试套件中的 SHA256 检查失败 (#564) @grlee77
  • 处理 ./run download_testdata 中的空格字符 (#556) @gigony
  • 修复 phase_cross_correlation 中的 return_error=&#39;always&#39; 行为 (#549) @grlee77
  • 仅加载已版本化的 libcufile (#548) @jakirkham
  • 在 CI 上为 pytest 运行添加 20 分钟的超时时间 (#545) @grlee77
  • 防止在 2D 距离变换中发生越界内存访问 (#540) @grlee77

📖 文档

  • 修复通过 run build_package 构建文档 (#553) @grlee77
  • 更新 23.04.00 和 23.04.01 版本的更改日志 (#552) @grlee77

🛠️ 改进

cuCIM 23.04.01 (14 Apr 2023)

🛠️ 改进

cuCIM 23.04.00 (6 Apr 2023)

🚨 破坏性变更

  • 修复 resize 和其他转换中处理图像范围裁剪的低效问题 (#516) @grlee77

🐛 错误修复

  • 修复非均匀足迹中中值滤波器的错误 (#521) @grlee77
  • 使用 cp.around 而不是 cp.round 以实现 CuPy 10.x 兼容性 (#508) @grlee77
  • 修复 LZ4 压缩 Zarr 写入示例中的错误 (#506) @grlee77
  • 规范化空白字符。 (#474) @bdice

🛠️ 改进

cuCIM 23.02.00 (2023 年 2 月 9 日)

🚨 破坏性变更

  • 向 phase_cross_correlation 添加歧义消除选项(skimage 0.20 功能)(#486) @grlee77

🐛 错误修复

  • 对 vendored ndimage 代码应用错误修复 (#494) @grlee77
  • 关闭 #490 -- 修复 hue jitter 中的错误 (#491) @benlansdell
  • 修复 test_3d_similarity_estimation 中使用的随机种子 (#472) @grlee77

📖 文档

🚀 新功能

  • 添加共定位度量 (#488) @grlee77
  • 向 phase_cross_correlation 添加歧义消除选项(skimage 0.20 功能)(#486) @grlee77

🛠️ 改进

cuCIM 22.12.00 (2022 年 12 月 8 日)

🚨 破坏性变更

  • 实现为 scikit-image 0.20 执行的附加弃用 (#451) @grlee77
  • 改进的脊滤波器实现(错误修复和减小内存占用)(《https://github.com/rapidsai/cucim/pull/423》#423) @grlee77

🐛 错误修复

  • 在CI中固定cmake为!3.25.0以避免构建期间CUDA+conda的错误(《https://github.com/rapidsai/cucim/pull/444》#444) @grlee77
  • 更新tifffile.TiffWriter的错误参数和已弃用的函数(《https://github.com/rapidsai/cucim/pull/433》#433) @JoohyungLee0106
  • 修复ndim > 2时的旋转行为(《https://github.com/rapidsai/cucim/pull/432》#432) @grlee77

📖 文档

  • 添加用于测量GPUDirect存储(GDS)I/O性能的全切片镶嵌读写演示(《https://github.com/rapidsai/cucim/pull/452》#452) @grlee77
  • 添加distance_transform_edt的演示(《https://github.com/rapidsai/cucim/pull/394》#394) @grlee77

🚀 新功能

  • 在转换器中支持无压缩方法(《https://github.com/rapidsai/cucim/pull/443》#443) @gigony
  • 添加三个分割度量(《https://github.com/rapidsai/cucim/pull/425》#425) @grlee77
  • 添加各向同性二值形态学函数(《https://github.com/rapidsai/cucim/pull/421》#421) @grlee77
  • 添加blob特征检测器(blob_dog、blob_log、blob_doh)(《https://github.com/rapidsai/cucim/pull/413》#413) @monzelr

🛠️ 改进

  • 其他一些小更新(skimage 0.20)(《https://github.com/rapidsai/cucim/pull/455》#455) @grlee77
  • 实现为 scikit-image 0.20 执行的附加弃用 (#451) @grlee77
  • 通过3D情况下的解析特征值加快hessian_matrix_*和structure_tensor_eigvals(《https://github.com/rapidsai/cucim/pull/434》#434) @grlee77
  • 使用融合内核减少角点检测实现中的开销(《https://github.com/rapidsai/cucim/pull/426》#426) @grlee77
  • 其他更新以与scikit-image 0.20保持一致(《https://github.com/rapidsai/cucim/pull/424》#424) @grlee77
  • 改进的脊滤波器实现(错误修复和减小内存占用)(《https://github.com/rapidsai/cucim/pull/423》#423) @grlee77
  • 解析矩的计算,支持矩和regionprops中的像素间距(《https://github.com/rapidsai/cucim/pull/422》#422) @grlee77
  • 合并分支-22.10到分支-22.12(《https://github.com/rapidsai/cucim/pull/420》#420) @grlee77
  • 为distance_transform_edt支持sampling关键字参数(考虑像素/体素大小)(《https://github.com/rapidsai/cucim/pull/407》#407) @grlee77
  • 提高欧几里得距离变换的性能(《https://github.com/rapidsai/cucim/pull/406》#406) @grlee77

cuCIM 22.10.00(2022年10月12日)

🐛 错误修复

  • 在计算分离卷积的共享内存需求时正确使用dtype(《https://github.com/rapidsai/cucim/pull/409》#409) @grlee77
  • 将分支-22.08向前合并到分支-22.10(《https://github.com/rapidsai/cucim/pull/403》#403) @jakirkham
  • 添加euler_number和perimeter_crofton的缺失导入(《https://github.com/rapidsai/cucim/pull/386》#386) @grlee77

📖 文档

  • 更新pypi CHANGELOG.md以适应22.08.00和22.08.01的发布(《https://github.com/rapidsai/cucim/pull/404》#404) @grlee77
  • 更新README.md(《https://github.com/rapidsai/cucim/pull/396》#396) @HesAnEasyCoder

🚀 新功能

  • 允许使用cupy 11(《https://github.com/rapidsai/cucim/pull/399》#399) @galipremsagar
  • 添加cucim.skimage.feature.match_descriptors(《https://github.com/rapidsai/cucim/pull/338》#338) @grlee77

🛠️ 改进

  • 合并文档并添加链接(《https://github.com/rapidsai/cucim/pull/415》#415) @jakirkham
  • 为scikit-image函数添加基准测试,这些函数在22.08版中引入(《https://github.com/rapidsai/cucim/pull/378》#378) @grlee77

cuCIM 22.08.00(2022年8月17日)

🚨 破坏性变更

  • 染色提取:在阈值时,跨通道使用更宽松的条件(《https://github.com/rapidsai/cucim/pull/316》#316) @grlee77

🐛 错误修复

  • 使用与CuPy 9.x兼容的索引创建SimilarityTransform(《https://github.com/rapidsai/cucim/pull/365》#365) @grlee77
  • cucim.core中添加__init__.py(《https://github.com/rapidsai/cucim/pull/359》#359) @jakirkham
  • 染色提取:在阈值时,跨通道使用更宽松的条件(《https://github.com/rapidsai/cucim/pull/316》#316) @grlee77
  • 合并来自skimage 0.19.3的bug修复(《https://github.com/rapidsai/cucim/pull/312》#312) @grlee77
  • 修复使用分位数时Canny滤波器的RawKernel的bug(《https://github.com/rapidsai/cucim/pull/310》#310) @grlee77

📖 文档

  • 延迟加载custom.js(《https://github.com/rapidsai/cucim/pull/383》#383) @galipremsagar
  • 将cucim.core.morphology添加到API文档中,以及其他docstring修复(《https://github.com/rapidsai/cucim/pull/367》#367) @grlee77
  • 更新README.md(《https://github.com/rapidsai/cucim/pull/361》#361) @HesAnEasyCoder
  • 从“参见”中删除未实现的功能,并在弃用警告中修复版本号(《https://github.com/rapidsai/cucim/pull/356》#356) @grlee77
  • 将分支branch-22.06向前合并到分支branch-22.08(《https://github.com/rapidsai/cucim/pull/344》#344) @grlee77
  • 更新README.md(《https://github.com/rapidsai/cucim/pull/315》#315) @HesAnEasyCoder
  • 更新index.rst(《https://github.com/rapidsai/cucim/pull/314》#314) @HesAnEasyCoder
  • 更新v22.06.00的PyPI包文档(《https://github.com/rapidsai/cucim/pull/311》#311) @gigony

🚀 新功能

  • 添加基于Chan-Vese活动轮廓法的分割(《https://github.com/rapidsai/cucim/pull/343》#343) @grlee77
  • 添加cucim.skimage.morphology.medial_axis(《https://github.com/rapidsai/cucim/pull/342》#342) @grlee77
  • 添加cucim.skimage.segmentation.expand_labels(《https://github.com/rapidsai/cucim/pull/341》#341) @grlee77
  • 添加图像/体素的欧几里得距离变换(《https://github.com/rapidsai/cucim/pull/318》#318) @grlee77

🛠️ 改进

  • 撤销“允许CuPy 11”的更改(《https://github.com/rapidsai/cucim/pull/362》#362) @galipremsagar
  • 修复python文档中白天和夜间模式的问题(《https://github.com/rapidsai/cucim/pull/360》#360) @galipremsagar
  • 允许CuPy 11(《https://github.com/rapidsai/cucim/pull/357》#357) @jakirkham
  • 更有效的可分离卷积(《https://github.com/rapidsai/cucim/pull/355》#355) @grlee77
  • 支持分辨率和间隔元数据(《https://github.com/rapidsai/cucim/pull/349》#349) @gigony
  • 优化形态学分割函数的性能(《https://github.com/rapidsai/cucim/pull/340》#340) @grlee77
  • 基准测试:避免使用过时的pandas API(《https://github.com/rapidsai/cucim/pull/339》#339) @grlee77
  • 降低normalize_colors_pca的内存开销并提高其性能(《https://github.com/rapidsai/cucim/pull/328》#328) @grlee77
  • 在normalize_colors_pca的边缘情况下防止难以发现的除以零错误(《https://github.com/rapidsai/cucim/pull/327》#327) @grlee77
  • 完成cucim.skimage基准测试的参数化(《https://github.com/rapidsai/cucim/pull/324》#324) @grlee77
  • filtersfeatures基准测试的参数化(v2)(《#322》)@grlee77
  • 添加基于快速直方图的均值滤波器(《#317》)@grlee77
  • 移除自定义编译器环境变量(《#307》)@ajschmidt8

cuCIM 22.06.00(2022年6月7日)

🚨 破坏性变更

  • 将小整数类型提升到单精度而不是双精度(《#278》)@grlee77

🐛 错误修复

  • 为RGBA图像设置正确的通道名称(《#294》)@gigony
  • 将分支-22.04合并到分支-22.06(《#258》)@jakirkham

📖 文档

🚀 新功能

  • 添加缺失的cucim.skimage.segmentation.clear_border函数(《#267》)@grlee77
  • 添加cucim.core.operations.color.stain_extraction_pcacucim.core.operations.color.normalize_colors_pca,用于数字病理H&E染色提取和归一化(《#273》)@grlee77@drbeh

🛠️ 改进

cuCIM 22.04.00(2022年4月6日)

🚨 破坏性变更

  • 应用skimage.transform针对scikit-image 0.19.2的修复(《#208》)@grlee77

🐛 错误修复

  • 修复来自供应商代码的ImportError(《#252》)@grlee77
  • 修复元数据中的错误维度(《#248》)@gigony
  • 处理文件描述符的所有权和更新GDS的文档(《#234》)@gigony
  • 在CuFileDriver::close()中检查handler的nullptr(《#229》)@gigony
  • 修复文档构建(《#218》)@ajschmidt8
  • 应用skimage.transform针对scikit-image 0.19.2的修复(《#208》)@grlee77

📖 文档

🛠️ 改进

cuCIM 22.02.00 (2022年2月2日)

🚨 破坏性变更

  • 更新cucim.skimage API以匹配scikit-image 0.19 (#190) @glee77

🐛 错误修复

  • 修复v21.12.01中的错误 (#191) @gigony
    • 修复使用nvJPEG API时的GPU内存泄露(当在read_region方法中使用device='cuda'参数时)。
  • 修复Python 3.9+中的segfault问题 (#214) @gigony

📖 文档

🚀 新功能

  • 更新cucim.skimage API以匹配scikit-image 0.19 (#190) @glee77
  • 支持多线程和批量,并支持nvJPEG用于JPEG压缩图像 (#191) @gigony
  • 允许使用CuPy 10 (#195) @jakikham

🛠️ 改进

cuCIM 21.12.00 (2021年12月9日)

🚀 新功能

🐛 错误修复

📖 文档

🛠️ 改进

cuCIM 21.10.00(2021年10月7日)

🐛 错误修复

📖 文档

  • 将branch-21.08向前合并到branch-21.10(#88@jakirkham
  • 更新PyPI cuCIM v21.08.01 README.md和CHANGELOG.md(#87@gigony

🚀 新功能

  • 支持原始RGB分块TIFF(#108@gigony
  • 添加机制,让用户了解cucim.CuImage的可用性(#107@gigony
  • 为CuFileDriver和CuImage启用GDS并支持运行时上下文(进入退出)(#106@gigony
  • 为数字病理学添加转换(#100@shekhardw

🛠️ 改进

cuCIM 21.08.00(2021年8月4日)

🐛 错误修复

  • 修复skimage.measure.label在Windows上的int类型错误(#72@grlee77
  • 修复关联图像()的缺失数组接口(#65@gigony
  • 处理零填充版本字符串(#59@gigony
  • 移除无效的conda环境激活(#58@ajschmidt8

📖 文档

  • 修复缓存文档中的错别字(#66@gigony

🚀 新功能

🛠️ 改进

  • 将SciPy 2021添加到README(#79@jakirkham
  • 在cucim.skimage中使用更具描述性的ElementwiseKernel名称(#75@grlee77
  • 为TIFF加载模块添加初始Python单元/性能测试(#62@gigony
  • 修复21.08前合并冲突(#57@ajschmidt8

cuCIM 21.06.00(2021年6月9日)

🐛 错误修复

🛠️ 改进

cuCIM 0.19.0(2021年4月15日)

  • cucim的初始发布包括cuClaraImage和cupyimg

项目详情


下载文件

下载您平台所需的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

此版本没有可用的源分布文件。请参阅有关生成分布存档的教程。

构建分布

cucim-23.10.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (9.7 MB 查看哈希值)

上传时间: Python 3 manylinux: glibc 2.17+ x86-64

支持者