USG/PWI: Różnice pomiędzy wersjami
Linia 72: | Linia 72: | ||
#Tanter, Mickael, and Mathias Fink. "Ultrafast imaging in biomedical ultrasound." Ultrasonics, Ferroelectrics, and Frequency Control, IEEE Transactions on 61.1 (2014): 102-119. | #Tanter, Mickael, and Mathias Fink. "Ultrafast imaging in biomedical ultrasound." Ultrasonics, Ferroelectrics, and Frequency Control, IEEE Transactions on 61.1 (2014): 102-119. | ||
#Cikes, Maja, et al. "Ultrafast cardiac ultrasound imaging: Technical principles, applications, and clinical benefits." JACC: Cardiovascular Imaging 7.8 (2014): 812-823. | #Cikes, Maja, et al. "Ultrafast cardiac ultrasound imaging: Technical principles, applications, and clinical benefits." JACC: Cardiovascular Imaging 7.8 (2014): 812-823. | ||
+ | #Montaldo, Gabriel, et al. "Coherent plane-wave compounding for very high frame rate ultrasonography and transient elastography." Ultrasonics, Ferroelectrics, and Frequency Control, IEEE Transactions on 56.3 (2009): 489-506. |
Wersja z 13:42, 15 cze 2016
Spis treści
Obrazowanie falą płaską
W obrazowaniu fala płaską (ang. PWI - Plane Wave Imaging) profil opóźnień nadawczych ma postać prostej, co pozwala uformować wiązkę o płaskim froncie falowym. W odróżnieniu do rozważanej wcześniej metody klasycznego beamformingu, wiązka taka jest nieogniskowana. O froncie falowym w PWI możemy myśleć jak o froncie fali pochodzącej ze źródła punktowego (ognisko wirtualne) oddalonego istotnie daleko za aperturą.
O ile nie ograniczają nas możliwości techniczne sprzętu (np. mała moc obliczeniowa), w PWI staramy się nadawać i odbierać pełną aperturą. Punktem wyjścia jest sytuacja, w której wszystkie przetworniki nadają jednocześnie. Obrót wykresu opóźnień nadawczych odpowiada przesunięciu ogniska wirtualnego.
Parametry potrzebne do dalszej pracy:
f0 = 5.5e6 # Częstotliwość nadawcza [Hz]
fs = 50e6 # Częstotliwość próbkowania [Hz]
pitch = 0.21e-3 # Deklarowana odległość między środkami przetworników nadawczo-odbiorczych (tzw. pitch) [m]
na = 3 # Liczba nadań
theta = [-10,0,10] # kąty dla kolejnych nadań
NT = 192 # Liczba przetworników w pełnej aperturze
Ntr = 192 # Pełna subapertura nadawcza
Surowe dane RF
Do dyspozycji mamy ponownie dwa pliki z pomiarów na fantomie nitkowym (usg2_nitki.npy) i cystowym (usg2_cysty.npy). W każdym pliku znajduje się trójwymiarowa tablica [math]NT\times N \times na [/math]
gdzie [math]N[/math] odpowiada czasowi rejestracji (maksymalnej głębokości obrazowanej) danych z pojedynczego nadania.
Kluczowe dla dalszych obliczeń będzie wyznaczenie chwili zerowej, czyli momentu rozpoczęcia akwizycji danych. Na różnych urządzeniach przyjmowane są różne konwencje - czasami akwizycja danych rozpoczyna się w momencie, gdy rozpoczyna się nadawanie; czasami akwizycja rozpoczyna się jeszcze przed nadawaniem.
Zadanie: proszę podejrzeć surowe dane RF dla kilku kolejnych nadań i spróbować określić (w przybliżeniu) w jakim momencie rozpoczyna się akwizycja danych:
a) przed rozpoczęciem nadawania
b) w momencie rozpoczęcia nadawania
c) w chwili gdy nadała połowa przetworników
Rekonstrukcja obrazu z pojedynczego strzału
W przypadku klasycznej rekonstrukcji dokonywaliśmy najpierw przesunięcia w czasie próbek RF, a następnie przesunięty (syntezowany) obraz interpolowaliśmy do siatki odpowiadającej rzeczywistym proporcjom obrazowanej struktury. W przypadku PWI wygodniej będzie nam najpierw określić siatkę, a następnie dla kolejnych punktów na tej siatce liczyć wartość pikseli. Poniższy kod wygeneruje dwie tablice, w których przechowywane są współrzędne poziome i pionowe w [m] kolejnych punktów siatki. Siatka jest generowana przy założeniu, że punkt (0,0) znajduje się w środku apertury.
maxWidth = 0.02 # Połowa szerokości obrazowania [m]
l2mbd = c/(fs*2)
ar = int(2*maxWidth/l2mbd)+1 # Określamy gęstość poziomą siatki zgodnie z twierdzeniem ???
maxdepth = 0.0610304 # maksymalna głębokość [m]
mindepth = 0.00298 # minimalna głębokość [m]
br = (maxdepth-mindepth)/((maxWidth*2)/ar)
X0 = np.linspace(-maxWidth,maxWidth,ar)
R0 = np.linspace(mindepth,maxdepth,br)
Grid_div_x,Grid_div_z = np.meshgrid(X0,R0,indexing='xy') # tablice ze współrzędnymi
???może parametry siatki wyznaczać wychodząc z długości fali???
Podobnie jak wcześniej sygnał w punkcie (x,y) będziemy liczyć jako sumę sygnałów z każdego przetwornika odbiorczego odpowiednio opóźnionych:
[math]S(x,y)=\sum^{NT-1}_{k=0} s_k(t_{tr}(x,y)+t_k(x,y)) [/math]
gdzie [math]s_k(i)[/math] to sygnał z danego przetwornika odbiorczego; [math]t_{tr}(x,y)[/math] czas przejścia fali do punktu obrazowania; [math]t_k(x,y)[/math] czas przejścia fali odbitej z punktu do przetwornika [math]k[/math].
Dla ustalonego przetwornika [math]k[/math] i punktu (x,y) opóźnienie liczone jest jako czas przejścia fali od początku nadania do punktu i z powrotem do danego przetwornika odbiorczego.
W przypadku PWI możemy założyć, że
[math]t_{tr}(x,y) = (x\cdot sin(\theta)+y\cdot cos(\theta))/c + t_{start} + c [/math],
gdzie [math]c[/math] jest pewnym przesunięciem stałym dla danego nadania - wyznaczonym przez położenie chwili zerowej (moment rozpoczęcia akwizycji).
Do wykonania
- Stworzyć funkcję, która dla zadanej siatki generować będzie wartości energii dla pojedynczego strzału z danego kąta. Podobnie jak wcześniej, interesuje nas obraz w skali decybelowej z ograniczoną dynamiką.
- Porównać obraz syntezowany dla zadanej wcześniej siatki z obrazem syntezowanym dla siatki o dwukrotnie większych odległościach między punktami
Apodyzacja po stronie odbiorczej
Standardową metodą poprawy jakości obrazu jest zastosowanie apodyzacji po stronie odbiorczej. W czasie rekonstrukcji natężenie w danym punkcie liczyliśmy jako sumę sygnałów z pojedynczych przetworników odbiorczych. Sygnały z pojedynczych przetworników zawierają jednak informację pochodzącą nie tylko z rozproszenia w danym punkcie. Ponadto, dla dwóch różnych przetworników odbiorczych energia sygnału pochodząca z rozproszenia z danego punktu niekoniecznie musi stanowić taką samą cześć całkowitej energii sygnału. W celu zbadania tego zjawiska:
- Stworzyć funkcję, która dla zadanego punktu liczy sygnał jako sumę sygnałów tylko z wybranej części przetworników odbiorczych (np. wybranych 12 przetworników). Proszę porównać otrzymane obrazy dla kilku wybranych subapertur odbiorczych (np. pierwsze 12 przetworników, środkowe 12 przetworników i ostatnie 12 przetworników - licząc od lewego końca apertury). Jak bardzo różnią się te obrazy między sobą i jak różnią się od obrazu otrzymanego z pełnej apertury odbiorczej?
Możemy zauważyć, że więcej informacji o danym punkcie zawierają przetworniki położone bliżej tego punktu niż przetworniki położone dalej. Apodyzacja po stronie odbiorczej polega na zastosowaniu przy rekonstrukcji wag, które będą odpowiednio proporcjonalne do odległości przetwornika od punktu pomiarowego.
- Proszę zaimplementować zmodyfikowany algorytm rekonstrukcji wykorzystujący jakąś wybraną formę apodyzacji odbiorczej, gdzie sumowane sygnały z pojedynczych przetworników odbiorczych będą ważone wartościami niemalejącej funkcji od odległości przetwornika od punktu pomiarowego.
Złożenie (compounding) obrazów z nadań pod różnymi kątami
Jednym z prostych sposobów poprawienia obrazu jest złożenie ze sobą (np. przez średnią arytmetyczną) kilku obrazów z różnych kątów nadawczych.
- Zaimplementować procedurę uśredniającą obrazy otrzymane z kilku kątów nadawczych.
- Zbadać obraz zrekonstruowany dla wybranego niezerowego kąta nadawczego i spróbować odpowiedzieć na pytanie: czy dla wszystkich punktów na siatce rekonstrukcja jest sensowna? Czy są punkty, które należałoby pominąć w procesie rekonstrukcji/sumowania przy składaniu obrazów z wielu kątów?
Literatura
- Tanter, Mickael, and Mathias Fink. "Ultrafast imaging in biomedical ultrasound." Ultrasonics, Ferroelectrics, and Frequency Control, IEEE Transactions on 61.1 (2014): 102-119.
- Cikes, Maja, et al. "Ultrafast cardiac ultrasound imaging: Technical principles, applications, and clinical benefits." JACC: Cardiovascular Imaging 7.8 (2014): 812-823.
- Montaldo, Gabriel, et al. "Coherent plane-wave compounding for very high frame rate ultrasonography and transient elastography." Ultrasonics, Ferroelectrics, and Frequency Control, IEEE Transactions on 56.3 (2009): 489-506.