USG
Spis treści
Wstęp
Warsztaty z metod obrazowania ultradźwiękowego są autorskim programem[1] obejmującym metody i algorytmy obrazowania USG, budowę i funkcje aparatury USG oraz wprowadzenie do programowania równoległego na procesorach GPU w środowisku OpenCL. Dzięki dofinansowaniu otrzymanemu z Funduszu Innowacji Dydaktycznych UW opracowano materiały oraz zakupiono edukacyjny system ultrasonografu, który umożliwia zbierania surowych sygnałów i testowanie własnych algorytmów przetwarzania sygnałów.
Opis
Ultrasonografia stanowi najpowszechniej stosowaną modalność diagnostyczną we współczesnej medycynie. Kurs ma na celu zapoznanie studentów z szerokim spektrum metod i zastosowań ultradźwięków w diagnostyce medycznej. Metody te obejmują standardowe obrazowanie USG, obrazowanie parametryczne, elastografię, metody oceny przepływu krwi i inne. Zajęcia będą podzielone na część wykładową (ok. 1/3 czasu) i warsztatową (ok. 2/3 czasu).
Zagadnienia części wykładowej:
- Ultradźwięki – zagadnienia generacji, propagacji fal ultradźwiękowych, zjawiska falowe.
- Zagadnienia tworzenia obrazu USG; metody elektronicznego sterowania i ogniskowania wiązki; metoda beamformingu.
- Nowe metody syntetycznej apertury w obrazowaniu; obrazowanie 3D/4D.
- Wybrane inne techniki obrazowe (np. elastografia, obrazowanie tłumienia).
- Podstawy metod oceny i pomiaru przepływu krwi.
- Prezentacja wybranych zastosowań USG i metod dopplerowskich w praktyce medycznej.
- Programowanie równoległe, architektura procesorów CPU/GPU, środowiska CUDA/OpenCL, narzędzia.
- Budowa i funkcje aparatury USG, zagadnienia zapewnienia jakości, certyfikacji wyrobów.
W części warsztatowej studenci będą zespołowo implementować wybrane metody przetwarzania - m.in. klasyczną rekonstrukcję obrazu, rekonstrukcję w obrazowaniu falą płaską czy obrazowanie prędkości przepływu metodą dopplerowską. Studenci zapoznają się z algorytmami obróbki sygnałów ultradźwiękowych oraz zagadnieniami ich implementacji i optymalizacji. Praca w części warsztatowej odbywać będzie się w grupach (2-3 osoby). Zwieńczeniem kursu będzie realizacja projektów zespołowych. Projekty te będą obejmować implementację własnych algorytmów przetwarzania surowych sygnałów ech ultradźwiękowych w oparciu o samodzielnie zebrane dane z uniwersalnej platformy ultrasonografu. Podstawą uzyskania pozytywnej oceny będzie wykonanie zadań z części warsztatowej oraz zaliczenie projektu (raport lub prezentacja).
Oprogramowanie i konfiguracja do ćwiczeń
Ćwiczenia przygotowane zostały pod język python. Korzystać będziemy z bibliotek:
- numpy
- scipy
- PIL http://www.pythonware.com/products/pil/
- PyOpenCL
Ponadto, konieczne jest zainstalowanie SDK OpenCL i sterowników dla posiadanych procesorów lub kart graficznych (np. Intel, AMD, Nvidia) oraz kompilatora (przy pracy na Windowsie prostym rozwiązaniem może być zainstalowanie darmowej wersji Visual Studio [2]). Zaleca się zainstalowanie w pierwszej kolejności kompilatora oraz SDK OpenCL, a dopiero następnie instalowanie biblioteki PyOpenCL do Pythona.
Wykłady
- Podstawy fizyczne USG
- Metody USG
- Aparatura i aplikacje medyczne
- Programowanie równoległe procesorów GPU w OpenCL
Ćwiczenia
- Klasyczna rekonstrukcja obrazu
- Obrazowanie falą płaską i rozbieżną
- Obrazowanie prędkości metodą dopplerowską
- Obrazowanie prędkości dźwięku
- Wstęp do obliczeń równoległych na GPU
Rozwiązania do ćwiczeń
Projekty zaliczeniowe
- ↑ z inicjatywy dr Marcina Lewandowskiego z Instytutu Podstawowych Problemów Techniki PAN; opracowanie materiałów przy współpracy z Tomaszem Steiferem
- ↑ https://www.visualstudio.com/pl-pl/visual-studio-homepage-vs.aspx