使用 RAPIDS cucim 读取完整图像

问题描述 投票:0回答:1

我试图了解如何使用 cucim 将图像读取为数组。我的图像是来自 CT 扫描的 float64 .tiff,形状=(657, 668)。

我能找到的最接近的函数是 read_region (我找不到“imread”风格的函数)。我不理解参数 read_region 的所有文档,但我遵循了在网上找到的示例。

import numpy as np
from cucim import CuImage

im_path = r'/mnt/c/Users/.../filename.tiff'
im_obj = CuImage(im_path)
count = im_obj.resolutions['level_count']
dimensions = im_obj.resolutions['level_dimensions']
region = im_obj.read_region(location=(0, 0), level=count-1, size=dimensions[count-1])
im_arr = np.asarray(region)

我收到这些错误和警告:

[警告] 使用慢速路径加载图像('/mnt/c/Users/.../filename.tiff')。加载图像的像素格式将是 RGBA(4 通道)而不是 RGB!`

region = m_obj.read_region(位置=(0, 0), level=count-1, size=dimensions[count-1]) RuntimeError:尚不支持此格式(压缩:1,sample_per_pixel:1,planar_config:1,光度:1)!:抱歉,无法处理具有 64 位样本的图像

不确定什么是慢路径,并且我在 cucim 文档中找不到有关 dtype 支持的任何内容。我做错了什么或者根本不可能做我想做的事吗?我应该使用例如imageio 而不是读取图像,然后应用 cucim 的其他功能?


规格:

WSL2 上的 Ubuntu 22.04.3 LTS 构建cuda_12.2.r12.2/compiler.33191640_0 cucim 24.04.00 cuda12_py310_240410_ga24abfd_0rapidsai(使用 conda 安装)

python-3.x image rapids
1个回答
0
投票

RAPIDS cuCIM的数据加载相关API专注于加载数字病理图像(通常是三通道(RGB)和平铺图像)。

此格式(压缩:1,samples_per_pixel:1,planar_config:1,光度:1)

看起来给定的图像是未压缩的、1通道、64位浮点灰度,cuCIM尚不支持。

正如您提到的,请考虑使用其他库,例如 imageio 或 cgohlke/tifffile:读取和写入 TIFF 文件 用于 TIFF 文件加载,然后应用 cuCIM 的图像处理 API(基于 CuPy)。 谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.