EDGY Ultrasound Image Enhancer

Denna webbsida är en del av projektet EDGY Ultrasound Image Enhancer i 2007 års CDIO-kurs TSBB51 Bilder och grafik vid Linköpings universitet. Här beskrivs produkten mycket kortfattat. För ytterligare information hänvisas till följande dokument och filer:

Bakgrund

Ultraljudsbilder används inom sjukvården vid bland annat fosterdiagnostik. De främsta fördelarna framför andra medicinska bildgenereringsmetoder är dess låga kostnader och enkla handhavande. Mätinstrumentet skickar in en ljudpuls i kroppen. Reflektionerna i vävnaderna registreras, varefter en bild kan skapas. Delar av ljudvågen studsar okontrollerat i kroppen, vilket ger upphov till storkornigt brus, speckel.

Genom CDIO-kursen Bilder och grafik har projektgruppen EDGY fått i uppdrag av ContextVision AB att implementera tre algoritmer för förbättring av ultraljudsbilder, genom speckelreduktion och kantförstärkning. Algoritmerna är hämtade ur tekniska artiklar i naturvetenskapliga tidskrifter. Koden skrivs huvudsakligen i Matlab men vissa tidskritiska delar har skrivits i C-kod. Användargränssnittet nedan är skapat i Matlab.

GUI

Testdata

Projektgruppen EDGY har inte upphovsrätt till de ultraljudsbilder som användes under utvecklingen och utvärderingen av produkten. På grund av upphovsrättsskäl används på denna webbsida i stället en annan ultraljudsbild, vars licensiering medger fri spridning. Denna bild är tyvärr så pass dålig att den varken är intressant som ultraljudsbild eller som testdata för produkten.

Algoritm 1: Anisotrop diffusion

Värme diffunderar över tiden från varmare områden mot kallare. Enligt samma matematiska formler kan ljusa delar i bilder smetas ut över mörkare. I områden utan tydliga kanter tillåts intensiteten diffundera i alla riktningar. Längs kanter tillåts utsmetning endast längs med kanten. Därmed bevaras strukturer och bruset filtreras bort.

Metoden innebär att ett tidsberoende införs i bilden genom att tidsderivatan av intensitetsflödet approximeras utifrån strukturtensorn. Divergensen av tidsderivatan ger information om hur intensiteten skall omfördelas i bilden, med hänsyn till kanterna.

Visa bild (klicka på bilden för att toggla)

Anisotrop diffusion (klicka för att toggla)

Metoden ger ett skapligt resultat. Dock har den en viss tendens till att skapa kanter som inte finns i bilden från början. Beräkningstiden var ca tio gånger längre än realtid, dvs ca 400 ms på en bild med 126 000 pixlar.

Algoritm 2: Wavelets

Wavelets har varit mycket populära de senaste åren. Waveletsfiltreringen ger en uppdelning av bilden i olika kanaler med olika frekvensinnehåll. På så sätt går det att skilja det högfrekventa bruset från den jämförelesevis lågfrekventa signalen.

I de högfrekventa kanalerna genomförs mjuk tröskling, som innebär att alla pixlar under ett visst värde nollställs och tröskeln subtraheras från övriga, vilket ger en brusreducering. På lågfrekventa kanaler genomförs hård tröskling, vilket betyder att små värden nollställs. Brus reduceras och en olinjär förstärkning av övriga pixlar förstärker kanterna i bilden.

Visa bild (klicka på bilden för att toggla)

Wavelets (klicka för att toggla)

Resultet kan jämföras med anisotrop diffusion. Brusreduceringen liknar lågpassfiltrering. Kantförstärkningen är effektiv, men små, ljusa detaljer har en tendens att försvinna. Denna metod var lika snabb som anisotrop diffusion.

Algoritm 3: Adaptiv medianvärdesfiltrering

Medianfiltrering (varje pixel får medianvärdet av grannpixlarna) är bra på att eliminera högfrekvent brus, men tenderar att skapa falska konturer. För att förfina metoden införs en viktning som baseras på kvoten av lokala variansen och lokala medelvärdet.

Visa bild (klicka på bilden för att toggla)

Adaptiv medianvärdesfiltrering (klicka för att toggla)

Denna metod var den sämsta av de tre metoderna, både när det kom till förbättring av bilden och beräkningstid. Trots den adaptiva viktningen uppstår falska konturer. Implementeringen kommer inte i närheten av realtid.

Licens

Denna webbsida och allt innehåll är licensierat såsom definierat i filen readme.txt i produkten.

Kontakt

För mer information om projektet, skicka e-post till projektgruppen eller till kursens examinator Klas Nordberg.