LastWave のインストール(Ubuntu 上)
LastWave は,連続ウェーブレット変換などの信号解析機能を持つソフトウェアである(Emmanuel Bacry 作,C 言語で記述).
ここでは,ソースコード(LastWave 3.1)からのビルド手順を示す.
LastWave 3.1 の GUI 部分は wxWidgets 2.8 を前提としている. wxWidgets 2.8 のパッケージは現在の Ubuntu には収録されていないため,次のいずれかの方法を選ぶ.
- 現在の Ubuntu の wxWidgets 3.2 開発パッケージ(libwxgtk3.2-dev)を用い,ソースコードを wxWidgets 3.2 向けに修正してビルドする
- GUI を使わず,コマンドライン版(ARCH=linux のコンソールビルド)のみを利用する
ウェーブレット変換を Python で扱う場合は,PyWavelets(pip install PyWavelets)や SciPy の信号処理機能を利用する方法もある.
前準備
ビルドに必要なパッケージをインストールする.
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install build-essential unzip wget
# GUI 版をビルドする場合
sudo apt -y install libwxgtk3.2-dev
ソースコードの展開
配布元は次の URL である.URL が変更されている場合は,配布ページで最新の所在を確認する.
cd /tmp
wget http://www.cmap.polytechnique.fr/~bacry/LastWave/LastWave_3_1.unix.zip
cd /usr/local
sudo unzip /tmp/LastWave_3_1.unix.zip
sudo rm -rf /usr/local/__MACOSX
ソースコードの修正
新しい wxWidgets や新しいコンパイラでは,次の 2 つのファイルの修正が必要になる.
wxsystem.cc
/usr/local/LastWave_3_1/LastWave/wxsystem/src/wxsystem.cc を編集する.
修正前
wxString str = SOFTVERSION
wxString str1 = wxStandardPaths::Get().GetUserDataDir()+"."+str;
修正後
wxString str( (const wxChar *)SOFTVERSION, strlen(SOFTVERSION));
wxString str2( (const wxChar *)".", strlen("."));
wxString str1 = wxStandardPaths::Get().GetUserDataDir() + str2 + str;
image_file.cc
/usr/local/LastWave_3_1/LastWave/package_image/src/image_file.cc で プリプロセッサ指令の記述に関するコンパイルエラーが出る場合は, elif の条件式の有無を確認し,条件式のない箇所を else に書き替える.
ビルド
export ARCH=linux
export LWPATH=/usr/local/LastWave_3_1/LastWave
cd /usr/local/LastWave_3_1/LastWave/Makefiles
make dirs
make makes
make