問題タブ [h5py]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2269 参照

python - Python を使用して H5 ファイルに保存された非常に大きなデータ セットから pcolormesh 画像を生成する

h5py を使用して個々の H5 ファイルに保存される大量のデータを収集しています。これらの画像を 1 つの pcolormesh プロットにパッチして、1 つの画像として保存したいと考えています。

私が取り組んできた簡単な例では、2000x2000 のランダム データ ポイントの配列を生成し、h5py を使用して H5 ファイルに保存します。次に、これらのファイルにデータをインポートし、matplotlib で pcolormesh としてプロットしようとしますが、常に memoryError が発生します (これは予想されることです)。

このスクリプトは私のファイルを生成します。プルするのに十分な大きさのファイル セットを取得するためだけに、任意の数として 100 を選びました。

次に、次のスクリプトを使用してそれらをインポートします。

for ループの範囲値は 100 まで変更できますが、メモリ エラーなしで選択できる最大値は 5 (つまり、matplotlib の pcolormesh プロットに 5 つのプロットをパッチできます) であり、非常に扱いにくく遅いです。多くの画像をつなぎ合わせる必要があります。

このデータをプロットするために使用する必要がある他の手法はありますか? または、matplotlib や同様のプログラム (scipy など) を使用せずに、複数の H5 ファイルからのデータを画像に変換できればいいと思います。

要約すると、私の問題は次のとおりです。

  • 画像データ (2000x2000) を含む HDF5 ファイルが多数あります
  • これらのファイルを 1 つのイメージにパッチして保存する必要があります

どんな助けでも大歓迎です。また、私の問題についてさらに質問があれば喜んでお答えします。


編集 (5.6.2013):

同様の質問が、Python で非常に高解像度の画像を処理 (インポート、操作、編集など) する方法になると思います。これは本質的に私がやろうとしていることです。小さな画像のコレクションから非常に高解像度の画像を生成します。

0 投票する
1 に答える
1282 参照

python - 画像を行ごとに保存する方法は?

高解像度の画像を取得して大きな行列として保存するカメラがあります。データから画像を構築しようとしています。(そして、Python-32 ビットで実行する必要があります。)

データは HDF5 に保存され、h5py を使用してアクセスしていますが、私が知っているすべての方法ではすべてのデータをコンピューターのメモリにダンプする必要があるため、メモリ エラーなしでデータをプロットすることはできません。(私は通常の matplotlib と scipy ライブラリしか知りません。)

また、データから画像を生成しようとすると同じ問題が発生しますが、以前の質問 ( Constructing high resolution images in Python )で GDAL がデータから画像を生成できると言われました。

私はいくつかの調査を行いました(PythonのGDALはあまり文書化されていないようです)、この質問に出くわしました:画像全体をロードせずに画像内のピクセルをループできますか? . 提供された回答は、画像を行ごとにインポートする簡単なスクリプトを提供します。これの反対を行い、画像を行ごとに保存する方法はありますか? そうすれば、画像を保存するためにすべてのデータをメモリにロードする必要がなくなります。

または、大きすぎてメモリにロードできない HDF5 データセットから画像 (できれば PNG) を生成する方法はありますか?

これが私が取り組んできたコードの例です:

10000x10000 のマトリックスを生成し、h5py で H5 ファイルに保存します。ファイルを閉じて、もう一度開きます。次に、画像を保存するか、データをプロットしようとします (3 つの方法のうち 2 つをコメントアウトして、それぞれをテストします)。

H5ファイルに保存されたこの配列をPNG画像に保存できるサンプルコードを誰かが提供できれば、非常にありがたいです。

0 投票する
0 に答える
360 参照

python - Pythonでマージするnetcdfファイル

HDF5 データ ファイルを集約するための Python スクリプトを実行しようとしています。しかし、それはエラーを示しています。誰かがそれを理解できますか?私はpythonが初めてです。どんな助けでも本当にありがたいです。以下に示すプログラム

エラーは