首页 > 解决方案 > 如何使用 Python 高效地将大型 CZI 图像(+50GB)转换为 JP2?

问题描述

我必须将大约 +50GB 大小的大型 CZI 显微镜图像转换为压缩 JP2 图像以进行后期分析。JP2 图像需要压缩以节省磁盘空间并使用软件进行后期分析。我当前的设置只有 8 GB 的可用内存,所以我需要能够使用我的内存有限的工作站来处理这些大图像。

我设法编写了将大约 5 GB 的较小 CZI 图像转换为 JP2 的脚本。我通过将图像的压缩表示读入内存来做到这一点。但是,当我尝试对 50 GB 的图像执行相同的操作时,一切都崩溃了。

以下是我的工作流程的表示:

  1. 将 CZI 图像读入内存并将其存储在一个 numpy 数组中
  2. 使用 . 将 numpy 数组保存为 jp2 格式glymur。为了能够将glymur整个图像写入 JP2 格式的图像,需要将其加载到内存中。在处理大图像时,这显然是一个巨大的限制。

我想读取一大块 CZI 图像,然后将其写入 JP2 图像。应重复此过程,直到 CZI 图像已完全转换为其 JP2 表示。如果有人可以向我展示如何将 JP2 图像分块写入就足以让球滚动起来,因为我已经看到有关将 CZI 图像块读入内存的文档。

我感谢任何帮助或建议。提前感谢您的宝贵时间。

标签: pythonimagelarge-filesimage-conversion

解决方案


推荐阅读