numpy/opencv 2次元FFT

離散フーリエ変換(DFT)の高速化版アルゴリズムFFTをnumpyで試す。

■結果
input.png
FFT input img
result.png
FFT results img

numpy 行列の積

行列の積の計算サンプル

■実行結果
c= [[-2 -2]
[ 7 8]]

※計算内容はこちらをつかわせてもらいました。。

python用openCVのインストール@Centos7

python2.7でopenCVのインストールをしてみる。
OSはCentos7

コマンドは下記
%yum install opencv-python

実行してみる。入力データの各画素値をダンプするテスト。
ちなみに入力するデータは→

拡大するとこんな感じ↓の5×5ピクセル画像。

■実行結果
[[[255 255 255]
[255 255 255]
[ 0 0 0]
[255 255 255]
[255 255 255]]

[[255 255 255]
[255 255 255]
[ 0 0 0]
[255 255 255]
[255 255 255]]

[[ 0 0 0]
[ 0 0 0]
[ 0 0 0]
[ 0 0 0]
[ 0 0 0]]

[[255 255 255]
[255 255 255]
[ 0 0 0]
[255 255 255]
[255 255 255]]

[[255 255 255]
[255 255 255]
[ 0 0 0]
[255 255 255]
[255 255 255]]]

255:白、0:黒
横走査を下から上に向かって行っている様子が分かる。

ブラウン運動のシミュレーション可視化

以前ここで試した単純な粒子の中に大きいサイズの粒子を放り込む。周囲から無数の粒子がぶつかりランダムに動くブラウン運動のような動きをみることができる。

■結果
ブラウン運動の可視化

brownian motion simulation visualization by python and openGL

pyOpenGLを使って分子動力学を可視化

以前ここで試したmatplotlibを使った簡単な分子動力学計算の可視化処理ですが、描画が遅いのでOpenGLを使って書き直してみた。python用にはPyOpenGLのパッケージが用意されている。結果だがとても速い!

■結果をgifアニメに落としたものが↓。
gifアニメだと実際の描画より遅いので感動が伝わりにくい。。。
openGLを使った可視化

pythonでopenGLを試す

先日matplotlibを使った簡単な分子動力学の可視化を試したが非常に描画が遅い。ググってみるとどうもmatplotlibはプロッティングの遅さに定評があるらしい。

そんなわけで違う方法での可視化を試す。
試してみるのはopenGL。python用にはpyOpenGLというパッケージが用意されている。当方の環境centos7では下記コマンドで導入が出来た。

%easy_install PyOpenGL

■実行結果
pyopenglのテスト