Install OpenPIV on Mac
18 April 2015
Language Select:
MacにオープンソースのPIV (Particle Image Velocimetry) ツールのOpenPIVをインストールしました。
pyenv環境 (version: 2.7.9)にpipでインストールしました。
まずはcythonが必要だとのことなので以下のようにインストール。
pip install cython
pip install openpiv
OpenPIVのインストール自体はすんだものの、pythonからimport openpivしようとしたらいくつかエラーが出たので解決します。
13
14 # import default modules
---> 15 import openpiv.tools
16 import openpiv.pyprocess
17 import openpiv.scaling
/Users/koji/.pyenv/versions/2.7.9/lib/python2.7/site-packages/openpiv/tools.py in <module>()
31 import matplotlib.image as mpltimg
32 from scipy import ndimage
---> 33 from skimage import filter, io
34
35
ImportError: No module named skimage
skimage (scikit-image) などが必要らしいのでインストールしましょう。 あとはprogressbarも必要だそうです。
pip install scikit-image
pip install progressbar
とすることでopenpivをpythonのモジュールとしてインポート出来ます。
しかし、同梱されているチュートリアルプログラムを実行しようとしたところ以下のエラーが出ます。
Traceback (most recent call last):
File "./tutorial-part1.py", line 8, in <module>
u, v, sig2noise = openpiv.process.extended_search_area_piv( frame_a, frame_b, window_size=24, overlap=12, dt=0.02, search_area_size=64, sig2noise_method='peak2peak' )
File "piv/src/process.pyx", line 23, in openpiv.process.extended_search_area_piv (openpiv/src/process.c:2290)
ValueError: Buffer dtype mismatch, expected 'DTYPEi_t' but got 'unsigned char'
https://github.com/OpenPIV/openpiv-python/issues/35 でも言及されていますが、 どうやらオフィシャルのものにはチュートリアルプログラムにバグがあるようです。alexlibによってforkされたOpenPIVではこの問題が解決されているようです。
git clone git@github.com:alexlib/openpiv-python.git
python setup.py install
とするとalexlibのOpenPIVがインストールできます。 とはいえ、オフィシャルのプログラムもチュートリアルプログラムのバグを解消すれば正常に動作します。 それは別の記事で。
blog comments powered by Disqus