poniedziałek, 5 października 2009

Jak skompilować VTK ze źródeł i podłączyć do TCLa i Pythona?

W Ubuntu 9.04, bo tego systemu będzie dotyczył ten wpis, VTK można łatwo zainstalować z repozytorium wydając następujące polecenie w konsoli:
sudo apt-get install libvtk5 libvtk5-dev libvtk5-qt4 libvtk5-qt4-dev tk8.4-dev vtkdata vtk-doc vtk-examples vtk-tcl python-vtk

Dostaniemy w ten sposób nie tylko biblioteki i pliki nagłówkowe VTK, ale również całą dokumentację, przykłady oraz dane testowe. Dodatkowo zostanie skonfigurowane połączenie z językami skryptowymi TCL i Python. Ten sposób instalacji w zdecydowanej większości przypadków powinien być wystarczający do pracy z tą biblioteką. Jednak co w przypadku jeśli potrzebujemy najnowszej wersji biblioteki (w chwili pisania tego wpisu w repozytorium była wersja 5.0.4, a na stronie oficjalnej wersja 5.4.2) lub niestandardowych parametrów pracy. Wtedy najlepiej samemu skompilować VTK ze źródeł.

Źródła VTK pobieramy ze strony oficjalnej projektu, z działu Download. Pobieramy również przykładowe dane. Po rozpakowaniu obu archiwów w wcześniej przygotowanym katalogu, przechodzimy do katalogu ze źródłami, tworzymy tam katalog build i przechodzimy do niego. Następnie uruchamiamy graficzny interfejs CMake i wybieramy opcje kompilacji (moja propozycja znajduje się poniżej):
mkdir build && cd build && cmake-gui ../

BUILD_EXAMPLES           ON
BUILD_SHARED_LIBS ON
BUILD_TESTING ON
CMAKE_BUILD_TYPE Release
CMAKE_INSTALL_PREFIX /opt
VTK_DATA_ROOT /home/rafal/install/vtk/VTKData5.4.2/Data
VTK_USE_PARALLEL ON
VTK_USE_GUISUPPORT ON
VTK_USE_QVTK ON
DESIRED_QT_VERSION 4
VTK_WRAP_JAVA OFF
VTK_WRAP_PYTHON ON
VTK_WRAP_TCL ON

Po wygenerowaniu plików kompilacji w konsoli uruchamiamy program make i możemy spokojnie pójść na kawę:) - kompilacja może potrwać nawet pół godziny.
make
sudo make install
Komenda make install zainstaluje nam niezbędne pliki w katalogu /opt.

Uwagi po kompilacji:
  • Dodatkowe biblioteki znalazły się również w katalogu /opt/lib/python2.6/site-packages/vtk/. Można je przekopiować do katalogu /opt/lib/vtk-5.4/. Operacja ta może w przyszłości ułatwić kompilację innych pakietów zależnych od VTK, np. InsightApplication.
    sudo cp /opt/lib/python2.6/site-packages/vtk/lib* /opt/lib/vtk-5.4/


Jak połączyć VTK i Python?
Wystarczy ustawić zmienną systemową PYTHONPATH na odpowiedni katalog:
export PYTHONPATH=/opt/lib/python2.6/site-packages


Jak podłączyć VTK i TCL?
Tutaj podobnie, należy ustawić odpowiednie zmienne systemowe:
export TCLLIBPATH=/opt/lib/vtk-5.4
export LD_LIBRARY_PATH=/opt/lib/vtk-5.4

Testujemy połączenie z TCL:
tclsh
%puts $auto_path
%package require vtk
5.4


Automatyczne podłączenie TCL i Python przy starcie systemu
Dopisujemy do pliku ~/.bashrc wcześniej opisywane zmienne:
nano ~/.bashrc

export PYTHONPATH=/opt/lib/python2.6/site-packages
export TCLLIBPATH=/opt/lib/vtk-5.4
export LD_LIBRARY_PATH=/opt/lib/vtk-5.4


Jak podłączyć się do przykładowych danych (VTK Data)?
Jeśli korzystamy ze ściągniętych danych przykładowych (VTK Data) i rozpakowaliśmy je do własnego katalogu, skrypty TCL mogą ich nie widzieć nawet jeśli ustawimy zmienne systemowe w bashu. Musimy w takim wypadku dopisać odpowiednią zmienną systemową w pliku /etc/environment:
sudo nano /etc/environment

VTK_DATA_ROOT="/home/rafal/install/vtk/VTKData5.4.2"


Jak przetestować czy wszystko działa poprawnie?

Najlepiej skorzystać z przykładów dołączonych do VTK. W katalogu Examples/Tutorial znajdują się proste przykłady zaimplementowane w kilku językach programowania.

0 komentarze:

Prześlij komentarz