VesselKnife
Jednym z zagadnień diagnostyki medycznej jest analiza obrazów angiograficznych w celu identyfikacji i wyznaczenia przebiegu naczyń kwionośnych. W założeniu VesselKnife ma być narzędziem do testowania metod i algorytmów segmentacji obrazów angiograficznych oraz tworzenia opisu wektorowego drzew naczyń krwionosnych.
W programie zawarto zaawansowane algorytmy przetwarzania obrazów rastrowych (w tym generator funkcji unaczynienia) oraz algorytmy umożliwiające wektoryzację danych (wyznaczenie przebiegu linii środkowych naczyń krwionośnych, punktów ich rozgałęzień i średnic). Część algorytmów to moje własne opracowania, część bazuje na bibliotece Insight toolkit. Algorytmy wieloskalowej funkcji unaczynienia oraz zastosowanie algorytmu szkieletyzacji zostały zaproponowane przez Grzegorza Dwojakowskiego i Adama Sankowskiego (doktorantów Instytutu Elektroniki).

VesselKnife zawiera również oryginalne algorytmy do wizualizacji trójwymiarowych danych obrazowych, w tym do obrazowania przeziernego. Obrazy 3D będące wynikami działania różnych algorytmów, mogą być przedstawiane za pomocą róznych barwowych, nakładane na siebie i porównywane. W implementacji modułu wizualizacji skorzystałem bezpośrednio z biblioteki OpenGL.
VesselKnife jest wciąż rozwijany. Zamieszczone poniżej wersje wykonywalne są wględnie stabilne ale wciąż nie są pozbawione błędów. Program jest udostępniony do zastosowań niekomercyjnych na licencji GPL3. Kody źródłowe są dostępne w repozytorium GitLab.
Dokumentacja
Publikacje związane z programem VesselKnife:
- Szczypiński, P. M. (2023, June). Radius Estimation in Angiograms Using Multiscale Vesselness Function. In International Conference on Computational Science (pp. 230-244). Cham: Springer Nature Switzerland. doi pdf
- Florczyk, S. J., Hotaling, N. A., ... Szczypiński, P. M., ... & Simon Jr, C. G. (2023). Measuring dimensionality of cell‐scaffold contacts of primary human bone marrow stromal cells cultured on electrospun fiber scaffolds. Journal of Biomedical Materials Research Part A, 111(1), 106-117. doi pdf
Instrukcja vesselknife.pdf
Przykładowy obraz 3D wykorzystany w instrukcji bifurkacja.nii.gz
Wideo tutorial pokazujący kolejne kroki analizy obrazu, zaczynając od segmentacji obrazu, poprzez szkieletyzację obrazu binarnego, kończąc na wektorowym opisie drzewa naczyń krwionośnych.
Do pobrania
Oprogramowanie jest dostarczane „tak jak jest”, bez jakichkolwiek gwarancji, wyraźnych ani dorozumianych, w tym między innymi gwarancji przydatności handlowej, przydatności do określonego celu i nienaruszania praw. W żadnym wypadku autorzy lub właściciele praw autorskich nie ponoszą odpowiedzialności za jakiekolwiek roszczenia, szkody lub inną odpowiedzialność, czy to z tytułu umowy, czynu niedozwolonego, czy w inny sposób, wynikającą z, lub w związku z oprogramowaniem lub użytkowaniem lub innymi transakcjami w Oprogramowanie.
Instrukcja używania: vesselknife.pdf
Instrukcja jak zainstalować (en+pl): vkinstall.pdf
Wersja dla Linuxa 64.bitowego korzystające z bibliotek systemowych (odchudzone i preferowane).
Skompilowana i testowana na Kubuntu 22.04 LTS vesselknife2501lite_amd64.tar.gz
Skompilowana i testowana na Kubuntu 24.04 LTS vesselknife2501lite_for24LTS.tar.gz
Wersja dla Linuxa 64 bity: vesselknife2501_amd64.tar.gz
Wersja z wybranymi bibliotekami dołączonymi statycznie.
Wersja dla Windows 64 bity: vesselknife2501_win64.zip
Testowana na Windows 10
Źródła: vesselknife2501_src.zip