HDF5 データ ファイル (サイズ: 20k x 20k 以上) に大量のデータが保存されており、Python を使用してこのすべてのデータから画像を作成したいとします。明らかに、これほど多くのデータをエラーなしで開いてメモリに保存することはできません。したがって、すべてのデータをメモリにダンプしてから画像に処理する必要のない他のライブラリまたはメソッドはありますか (ライブラリ: Image、matplotlib、numpy などが処理する方法など)。
ありがとう。
この質問は、私が尋ねた同様の質問から来ています: Generating pcolormesh images from very large data sets saved in H5 files with Pythonしかし、ここで提起した質問は、より広い範囲のアプリケーションをカバーしていると思います。
編集 (7.6.2013)
質問をさらに明確にさせてください。最初の質問 (リンク) では、複数のファイルに保存された大量のデータ コレクションから画像を生成するために考えられる最も簡単な方法を使用していました。この方法では、データをインポートし、matplotlib を使用して pcolormesh プロットを生成し、このプロットから高解像度の画像を保存しました。しかし、このアプローチには明らかなメモリ制限があります。メモリ エラーに達する前に、ファイルから約 10 個のデータ セットしかインポートできません。
その質問では、すべてのデータをコンピューターのメモリにインポートせずに、データ セット (HDF5 ファイルに保存されている) を 1 つの画像にパッチするより良い方法があるかどうかを尋ねていました。(数百のこれらのデータ セットをパッチして 1 つの画像にする必要がある可能性があります。) また、自動化するために Python ですべてを行う必要があります (このスクリプトは、さまざまなデータ セットに対して非常に頻繁に実行する必要があるため)。
さまざまなライブラリを使用してこれを機能させようとしているときに発見した本当の質問は、次のとおりです。Pythonで高解像度の画像を操作するにはどうすればよいですか? たとえば、非常に高解像度の PNG 画像がある場合、Python でそれを操作するにはどうすればよいですか (クロップ、分割、fft の実行など)。私の経験では、高解像度の画像をインポートしようとすると、常にメモリの問題が発生します (顕微鏡または望遠鏡 (私のアプリケーションは顕微鏡) からの途方もなく高解像度の写真を考えてみてください)。そのような画像を処理するために設計されたライブラリはありますか?
あるいは逆にPythonでファイルに保存された膨大な量のデータから高解像度の画像を生成するにはどうすればよいのでしょうか? ここでも、データ ファイルは任意に大きくなる可能性があります (大きくなければ 5 ~ 6 ギガバイト)。
しかし、私の実際のアプリケーションでは、私の質問は次のとおりです。デバイスから受信したすべてのデータセット (HDF5 に保存されている) を取得し、それらをまとめてパッチを生成して、それらすべてからのイメージ?または、すべてのデータ セットを 1 つの (非常に大きな) HDF5 ファイルに保存することもできます。では、この 1 つのファイルをインポートして、そのデータからイメージを作成するにはどうすればよいでしょうか?
インタラクティブなプロットでデータを表示することは気にしません。プロットの解像度は重要ではありません。より低い解像度を簡単に使用できますが、データから高解像度の画像を生成して保存できる必要があります。
これで私の質問が明確になることを願っています。私の質問について他に質問があればお気軽にどうぞ。