python - 如何将 Dask Array 保存为一堆图像?
问题描述
我有一个 Dask 图像数据数组。如何将此数组保存到 tiff 文件目录?
解决方案
理想情况下会有某种imsave
功能。截至 2019 年 10 月 31 日,我找不到一个,但您将来可能想观看https://image.dask.org以了解此类功能。
您今天可以使用 map_blocks 和 skimage.io.imread 完成此操作
import dask.array as da
import skimage.io
x = da.random.random((2000, 2000), chunks=(200, 200)) # make a dask array
def save_file(arr, block_info=None):
""" Save file to foo-x-y.tif, where x and y are block locations """
filename = "foo-" + "-".join(map(str, block_info[0]["chunk-location"])) + ".tif"
skimage.io.imsave(filename, arr)
return arr
x.map_blocks(save_file, dtype=x.dtype).compute() # call function on every block
.
$ ls
foo-0-0.tif
foo-0-1.tif
...
foo-9-8.tif
foo-9-9.tif
推荐阅读
- ios - 在 XMPPMessageArchiving_Message_CoreDataObject 中存储重复消息(单聊)
- android - 如何使用 Google Fit API 获取各种健身活动的读数?
- html - 使用 CSS 样式表:列宽不正确
- maven - 如何通过jenkins强制部署maven项目..?
- asp.net - 哪个是 .NET Core 中 Kestrel 的根文件夹
- oauth - 带有第三方密钥管理器的 WSO2 API 管理器返回一个立即过期的令牌
- vim - 捕获从 `job_start()` 显示的 `echon` 消息
- c++ - 如何解决错误 193:%1 不是 dev c++ 中的 win32 应用程序?
- javascript - 在 JavaScript 中从 head first JS 调用函数
- c# - Compact Framework Socket 文件打印