ビジュアライゼーションツールキット VTK 9 (最新版)のインストール(Ubuntu 上)

VTK は, 3次元コンピュータグラフィックス,画像処理,可視化のライブラリ. ライセンスは BSD 3-Clause である.

URL: https://vtk.org/

このページでは,Git リポジトリのソースコード(開発版)をビルドしてインストールする. リリース版(9.6 系)のソースコードは https://vtk.org/download/ から入手できる.

ソフトウェア等の利用条件は,利用者自身で確認下さい.

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。

Ubuntu のインストールはこちらの別ページで説明する。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now

C/C++ コンパイラー,make,パッケージツール,その他のインストール

端末で,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config
sudo apt -y install git

CMake と OpenGL 開発ファイルのインストール

VTK のビルドには CMake 3.13 以上が必要である. Ubuntu 22.04 以降では,apt でインストールされる CMake がこの条件を満たす. 端末で,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install cmake cmake-curses-gui ninja-build
sudo apt -y install mesa-common-dev mesa-utils libgl1-mesa-dev libxt-dev freeglut3-dev
cmake --version

ビジュアライゼーションツールキット VTK 9 (最新版)のインストール(Ubuntu 上)

端末で,次のコマンドを実行する.

ソースコードをダウンロードして,インストールしている. VTK はソースディレクトリ内でのビルド(in-source build)に対応していないため, ソースディレクトリとは別のビルドディレクトリを使う.

  1. 端末で,次のコマンドを実行する.
    cd /tmp
    rm -rf VTK VTK-build
    git clone --recursive https://gitlab.kitware.com/vtk/vtk.git VTK
    cmake -S /tmp/VTK -B /tmp/VTK-build -DCMAKE_BUILD_TYPE=Release
    cmake --build /tmp/VTK-build -j$(nproc)
    sudo cmake --install /tmp/VTK-build
    

    (以下省略)
  2. インストール終了の確認

    エラーメッセージが出ていないことを確認する.

  3. インストールされたバージョンの確認

    CMake の設定ファイルが置かれたディレクトリ名で,バージョンを確認できる. このディレクトリは,あとで VTK_DIR に指定する.

    ls -d /usr/local/lib/cmake/vtk-*
    

共有ライブラリの設定

VTK の共有ライブラリは /usr/local/lib にインストールされる. このディレクトリは Ubuntu の既定の設定(/etc/ld.so.conf.d/libc.conf)に含まれているが, キャッシュを更新するため,次のコマンドを実行する.

sudo ldconfig

/usr/local/lib が探索対象になっていることの確認は,次のコマンドで行う.

ldconfig -v 2>/dev/null | grep '^/usr/local/lib'

VTK データのダウンロード

サンプルプログラムで使うデータは,VTK の公式サイトから入手する. 端末で,次のコマンドを実行する.

cd /tmp
wget https://vtk.org/files/release/9.6/VTKDataFiles-9.6.2.tar.gz
tar -xzf VTKDataFiles-9.6.2.tar.gz
# 医用画像データ (headsq) の場所を確認
find /tmp -type d -name headsq
apt の vtkdata パッケージは VTK 5.8 時代のデータで,Ubuntu 22.04 までにしか収録されていない.

VTK サンプルプログラムのテスト実行

次の手順で,多数のサンプルプログラムのうち Medical をビルドし,実行する. VTK_DIR には,前の手順で確認したディレクトリ(例:/usr/local/lib/cmake/vtk-9.6)を指定する.

cd /tmp/VTK/Examples/Medical/Cxx
cmake -S . -B build -DVTK_DIR=/usr/local/lib/cmake/vtk-9.6
cmake --build build -j$(nproc)
# 「find /tmp -type d -name headsq」で確認したディレクトリを指定する
./build/bin/Medical1 /tmp/VTKDataFiles-9.6.2/Data/headsq/quarter

このプログラムは,大きさ 64x64,16 ビットの連番の Raw データ quarter.1〜quarter.93 を読み込み, 等値面の値 500(皮膚に対応する値)で等値面を生成して描画する.

マウスを使って,回転や拡大縮小ができる.

Medical1.cxx の skinExtractor->SetValue(0, 500);skinExtractor->SetValue(0, 1200); に書き換えて再ビルドすると, より高い値(骨に対応する値)の等値面が生成され,次のように表示される.