Streszczenie rozprawy doktorskiej
|
|
- Jerzy Przybysz
- 7 lat temu
- Przeglądów:
Transkrypt
1 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Sylwestrzak Streszczenie rozprawy doktorskiej ANALIZA DANYCH SPEKTRALNEJ TOMOGRAFII OPTYCZNEJ OCT Z WYKORZYSTANIEM WIELORDZENIOWYCH KART GRAFICZNYCH Praca doktorska napisana pod kierunkiem prof. dr. hab. Piotra Targowskiego Toruń 2013
2 Wstęp Tomografia optyczna z użyciem światła częściowo spójnego (ang. Optical Coherence Tomgraphy) to nieinwazyjna technika pozwalająca na obrazowanie struktury wewnętrznej obiektów częściowo przeźroczystych dla światła. W wyniku pomiaru w sposób bezkontaktowy otrzymywane są dwuwymiarowe przekroje w głąb obiektu wzdłuż linii skanowania wiązką analizującą. Tak uzyskane tomogramy obrazują wszystkie nieciągłości struktury, które wiązka napotkała na swojej drodze. Dzięki nieinwazyjności metody tomografia optyczna jest obecnie powszechnie wykorzystywana w diagnostyce medycznej jako narzędzie do obrazowania struktur wewnętrznych tkanek i organów przede wszystkim w okulistyce [1, 2], ale także w dermatologii [3, 4], gastrologii [5, 6] i innych [7, 8]. Poza zastosowaniami medycznymi tomografia optyczna wykorzystywana jest w badaniach materiałowych [9], w szczególności obiektów zabytkowych, takich jak obrazy olejne [10, 11] czy szkła witrażowe [12], w których ze względu na wartość zabytkową badanych obiektów metody inwazyjne są niedopuszczalne. Badania te pozwalają właściwie ocenić stan zachowania zabytków oraz zaplanować, a także monitorować w czasie rzeczywistym niektóre zabiegi konserwatorskie [13, 14]. Jednym z ograniczeń tomografii OCT jest czasochłonna analiza numeryczna danych, która wraz z wizualizacją przekrojów na ekranie zwykle zajmuje więcej czasu niż akwizycja. Obrazowanie w czasie rzeczywistym jest niezbędną funkcją oprogramowania sterującego tomografem. Pozwala ono na właściwe ustawienie pacjenta i przygotowanie go do pomiaru, a w przypadku badań materiałowych odpowiednie umieszczenie badanego obiektu. Realizacja tego zadania wymaga przede wszystkim szybkiego obrazowania badanego obszaru. W chwili obecnej na dobrze zoptymalizowanym oprogramowaniu pracującym wielowątkowo na procesorze głównym (CPU) uzyskuje się wydajność obrazowania wynoszącą ok. 10 klatek na sekundę dla dwóch przekrojów w rozdzielczości piksele. Jakość takiego podglądu ze względu na liczbę zarejestrowanych i przetwarzanych widm nie jest zbyt wysoka i pozwala jedynie na przybliżone ustawienie pacjenta przed wykonaniem właściwego pomiaru. W tej sytuacji uzyskanie obrazu drobnych zmian, 2
3 istotnych dla diagnozowania, wymaga wykonania wielu pomiarów i jest w pewnym stopniu kwestią przypadku. Od kilku lat bardzo dynamicznie rozwija się technologia przetwarzania danych na procesorach graficznych. Już w 2010 roku NVIDIA deklarowała wydajność wykonywania obliczeń zmiennoprzecinkowych wyższą o rząd wielkości niż osiągalna przez najszybsze procesory główne [15]. Zastosowanie równoległego przetwarzania danych na wielordzeniowych procesorach graficznych otwiera wiele nowych możliwości w technice spektralnej tomografii optycznej, przede wszystkim zaś usuwa główne ograniczenie blokujące obrazowanie w czasie rzeczywistym czasochłonną analizę danych. Rozprawa liczy 152 strony i podzielona została na sześć rozdziałów. W pierwszym rozdziale przedstawiona została ogólnie metoda spektralnej tomografii optycznej wraz z jej opisem matematycznym i fizycznym. Opisane zostały również metody analizy danych oraz ich wpływ na jakość otrzymywanego tomogramu. W drugim rozdziale została omówiona budowa tomografu, opisane podstawowe elementy i podzespoły wchodzące w jego skład oraz połączenia i zależności pomiędzy nimi. Rozdział ten zawiera również zwięzły opis całego oprogramowania przygotowanego przez autora w celu realizacji tego projektu w języku C/C++ oraz C#. W rozdziale trzecim znajduje się opis wykorzystywanej architektury sprzętowej i technologii równoległego przetwarzania danych na procesorach graficznych. Czwarty rozdział, objętościowo największy i jednocześnie najistotniejszy, przedstawia opis zastosowanych rozwiązań implementacyjnych oraz optymalizacyjnych wprowadzonych w rozwijanych algorytmach przetwarzania danych spektralnej tomografii optycznej. W piątym rozdziale przedstawiono rezultaty bazujące na szybkim przetwarzaniu danych za pomocą zaimplementowanych metod, a więc szybkie obrazowanie tomogramów dwuwymiarowych, wizualizacje trójwymiarowe uzyskane w czasie rzeczywistym oraz algorytmy automatycznej adaptacji protokołów skanowania. Szósty rozdział stanowi podsumowanie rozprawy. Cele projektu i teza rozprawy Zamiarem podjętego projektu reformułowania algorytmów obliczeniowych spektralnej tomografii OCT w celu równoległego przetwarzania danych na wielordzeniowych procesorach graficznych było: 1. umożliwienie wysokojakościowego obrazowania w czasie rzeczywistym, tak aby uzyskiwane przekroje wyświetlane były na ekranie jak najszybciej, bez zbędnych opóźnień, które bardzo utrudniają ustawienie pacjenta bądź obiektu w badaniach materiałowych, 2. obrazowanie bez żadnych ustępstw dotyczących jakości (w celu przyśpieszenia obliczeń) prezentowanego na ekranie przekroju prezentowany w czasie 3
4 rzeczywistym tomogram ma być wyświetlony w najlepszej możliwej do osiągnięcia dla tej metody jakości, 3. trójwymiarowe obrazowanie w czasie rzeczywistym, dotychczas (w przypadku obliczeń na procesorze głównym) w ogóle nie osiągalne, 4. implementacja dodatkowych trybów obrazowania rozszerzających standardowe obrazowanie strukturalne w OCT o metodę dopplerowską (pozwalającą na obrazowanie przepływów naczyniach krwionośnych) oraz metodę redukcji szumu plamkowego, 5. implementacja algorytmów automatycznego dostosowywania protokołów skanowania w metodzie: dopplerowskiej w celu samoczynnego dostosowania protokołu do mierzonego przepływu, tak aby wykorzystywał on cały dostępny zakres dynamiczny mierzonych prędkości, redukcji szumu plamkowego w celu rejestracji danych w taki sposób, aby uśrednianie pozwalało na zminimalizowanie szumu plamkowego, jednocześnie nie pogarszając zbytnio rozdzielczości poprzecznej obrazowania. Wyżej przedstawione cele pozwoliły na sformułowanie następującej tezy niniejszej rozprawy: optymalne wykorzystanie typów pamięci i reformułowanie algorytmów w celu równoległego przetwarzania danych spektralnej tomografii optycznej na kartach graficznych pozwala na przyśpieszenie obliczeń, umożliwiające trójwymiarowe obrazowanie strukturalne oraz czynnościowe w czasie rzeczywistym z jednoczesnym adaptacyjnym modyfikowaniem protokołów skanowania. 1. Spektralna tomografia optyczna Metoda tomografii optycznej dzieli się na dwie podstawowe odmiany: pierwsza, tzw. czasowa (ang. Time domain OCT, TdOCT), została zaprezentowana już w 1991 roku [16], natomiast druga fourierowska (ang. Fourier domain OCT, FdOCT) pięć lat później [17]. Tą z kolei dzieli się na bardziej popularną spektralną tomografię optyczną (ang. Spectral domain OCT, SdOCT, albo: SOCT) oraz tomografię optyczną z użyciem laserów strojonych (ang. Swept Source OCT, SSOCT) [18]. Systemy pracujące w pierwszej odmianie (czasowej) wymagają skanowania w głąb obiektu poprzez zastosowanie mechanicznie przesuwanego zwierciadła w ramieniu interferometru. Natężenie odbitego światła mierzone jest podczas ruchu zwierciadła za pomocą fotodiody. W ten sposób otrzymywane są kolejne A-skany. Badanie tą metodą trwa stosunkowo długo, na tyle, że mimowolne ruchy pacjenta podczas 4
5 badania oka wpływają negatywnie na jakość otrzymywanego tomogramu. W układach spektralnych zwierciadło referencyjne utrzymywane jest w stałym położeniu, a rejestracja światła zamiast na fotodiodzie odbywa się za pośrednictwem spektrometru. Z uzyskanego w ten sposób widma interferencyjnego generowany jest jeden A-skan przez zastosowanie transformacji Fouriera. Usunięcie ruchomych elementów z interferometru i rejestracja widm na liniowej kamerze o bardzo szybkim transferze danych ze spektrometru pozwoliły na około stukrotne przyśpieszenie akwizycji i zwiększenie osiowej rozdzielczości obrazowania z 10 µm do ok. 3 µm [19, 20]. Mimo istotnej niedogodności, jaką stanowi ograniczony zakres obrazowania (zwykle 2-3 mm), metoda ta niemal całkowicie wyparła odmianę czasową TdOCT, oferując nieporównywalnie wyższą jakość i szybkość obrazowania. Przetwarzanie danych w SOCT W przypadku detekcji fourierowskiej, z jaką mamy do czynienia w spektralnej tomografii optycznej, sygnał interferencyjny rejestrowany jest na liniowej kamerze w spektrometrze. Każde zebrane w ten sposób widmo wymaga wykonania szeregu procedur numerycznych, aby uzyskać z każdego z nich jeden A-skan. W wyniku rozwijania metody od ponad dziesięciu lat zarówno przez nasz zespół, jak i inne grupy badawcze na świecie, ustalił się standardowy zestaw procedur numerycznych wymaganych do uzyskania dobrej jakości obrazu tomograficznego. Składa się on z sześciu podstawowych kroków: 1. odjęcie tła, 2. transformacja, 3. numeryczna kompensacja dyspersji, 4. kształtowanie widma, 5. transformacja Fouriera, 6. prezentacja w skali logarytmicznej. Wykonanie wszystkich tych kroków jest niezbędne w celu uzyskania tomogramów w najwyższej jakości. Metoda dopplerowska w SOCT Metoda dopplerowska pozwala na wyznaczanie składowej równoległej wektora prędkości cząstki rozpraszającej promieniowanie sondujące. Podstawą jej działania jest fakt, że zmiana częstotliwości promieniowania sondującego po odbiciu od poruszającej się cząstki (efekt Dopplera) powoduje niewielkie zmiany częstotliwości sygnału interferencyjnego, które wyznaczyć można za pomocą pomiaru zmiany fazy sygnału. Metoda ta polega na wykonaniu dwóch następujących po sobie pomiarów OCT w tym samym miejscu, a następnie wyznaczeniu różnicy w położeniu obserwowanego elementu 5
6 struktury obiektu poprzez pomiar różnic fazowych pomiędzy składowymi częstotliwościowymi zarejestrowanych widm. Pozwala to na znalezienie przemieszczeń centrów rozpraszających wewnątrz badanego obiektu w czasie, który upłynął pomiędzy tymi pomiarami. Dostosowywanie zakresu mierzonych prędkości odbywa się poprzez zmianę czasu pomiędzy kolejnymi pomiarami. Metoda uśredniania szumu plamkowego Metoda ta zaproponowana została przez M. Szkulmowskiego [21] z naszego zespołu, z punktu widzenia oprogramowania wykorzystuje najprostsze uśrednianie ze sobą sąsiednich A-skanów. Podstawą efektywności jej działania jest specyficzny sposób rejestracji danych. Aby była skuteczna, niezbędne jest rejestrowanie widm w taki sposób, aby były wzajemnie ze sobą jak najmniej skorelowane i jednocześnie pochodziły z możliwie bliskich fizycznie miejsc. Efekt taki uzyskuje się, rejestrując kolejne widma podczas skanowania specjalnym protokołem z nałożoną dodatkową oscylacją. Powoduje ona nieznaczny spadek poprzecznej rozdzielczości obrazowania poszczególnych przekrojów, podnosi natomiast w wysokim stopniu jakość tomogramu wynikowego, zwłaszcza jeśli analizowany obiekt nie posiada gwałtownych zmian w strukturze poprzecznej. 2. Budowa tomografu i architektura oprogramowania Zadaniem oprogramowania współpracującego z tomografem OCT jest nie tylko analiza numeryczna danych i ich wyświetlenie, ale również zarządzanie szeregiem czynności związanych ze sterowaniem kamerą spektrometru, skanerami galwanometrycznymi oraz synchronizacją pomiędzy podzespołami urządzenia. Przygotowanie oprogramowania do tego zadania jest więc nierozłącznie powiązane z opracowaniem procedur sterowania dodatkowymi urządzeniami zewnętrznymi. W rozdziale drugim zaprezentowany został ogólny schemat połączeń i zależności pomiędzy komputerem a podzespołami tomografu. Przedstawiona została także architektura aplikacji, która ze względu na wielozadaniowość została podzielona na oddzielnie kompilowane projekty (moduły) współpracujące ze sobą. Oprogramowanie do sterowania tomografem OCT i równoległego przetwarzania danych zostało przygotowane pod kontrolą systemu operacyjnego Microsoft Windows 7 Professional w wersji 64 bitowej w programie Microsoft Visual Studio 2010 Ultimate na licencji MSDNAA (ang. Microsoft Developer Network Academic Alliance). W celu optymalizacji przetwarzania danych na CPU oraz ich buforowania w pamięci operacyjnej 6
7 RAM wykorzystano biblioteki Intel Integrated Performance Primitives zakupione do tego projektu przez autora. Do wizualizacji danych wykorzystano interfejs API OpenGL (dostępny bezpłatnie) a w celu uproszczenia niektórych partii kodu dodatkowo użyto biblioteki pomocniczej Freeglut, stanowiącej nowszą i dystrybuowaną na licencji Open Source alternatywę dla nakładki GLUT (ang. OpenGL Utility Toolkit). Rejestrację klatek generowanych na ekranie podczas obrazowania na żywo umożliwia biblioteka FreeImage (Open Source), pozwalająca na zapis ramki prezentowanej w OpenGL do plików w formacie JPG. Oddzielny zestaw stanowią biblioteki DLL dostarczane przez producenta kart rozszerzeń National Instruments w ramach środowiska LabView. Proces rejestracji danych poprzez kartę akwizycji realizowany jest za pomocą modułu NI Vision Acquisition Software, w skład którego wchodzi NI IMAQ zestaw bibliotek pozwalających na pobieranie danych z kamery. Z kolei do sterowania wyjściami analogowymi wykorzystywana jest biblioteka NI DAQmx. Aplikacja sterowana jest zdarzeniami, w większości przypadków są to przeróżne zmiany trybów jej pracy. Przejście do trybu obrazowania w czasie rzeczywistym wymaga skonfigurowania wszystkich modułów domyślnymi parametrami, zainicjowania karty akwizycji, kamery oraz wygenerowania trajektorii dla skanerów i przesłania ich do karty sterującej. Ponadto rozpoczęcie obrazowania na żywo wymaga uruchomienia zadań powtarzanych w sposób ciągły: odbierania danych, ich przetwarzania i wizualizacji. Nad tymi czynnościami nadzór sprawują dwa główne wątki aplikacji uruchomione na procesorze głównym CPU. Pierwszy z nich, wątek akwizycyjny, odpowiedzialny jest za odbieranie danych ze spektrometru. Drugi główny wątek aplikacji uruchomiony na procesorze głównym to wątek obliczeniowo wizualizacyjny. Jego podstawowym zadaniem jest pobieranie danych z kolejki buforów, przesłanie ich do pamięci karty graficznej, a następnie zarządzanie wielowątkowym procesem przetwarzania danych na procesorze graficznym oraz wizualizacja wyników na ekranie. 3. Równoległe przetwarzanie danych procesorach graficznych Procesory graficzne są układami przetwarzającymi dane w sposób równoległy, więc nie wszystkie algorytmy dobrze nadają się do implementacji i uruchamiania na GPU. Jeżeli w ogóle istnieje możliwość zrównoleglenia danej analizy numerycznej, to wydajność przetwarzania wzrasta z ilością danych poddawanych obliczeniom równoległym. W kontekście przedstawionych powyżej kwestii analiza danych spektralnej tomografii optycznej 7
8 dobrze nadaje się do zrównoleglenia z wykorzystaniem wielordzeniowych procesorów graficznych obliczenia wykonywane na kolejnych widmach są niezależne od siebie, a złożoność związana jest przede wszystkim z ilością danych poddawanych przetworzeniu. Producenci procesorów graficznych, wychodząc naprzeciw zapotrzebowaniu rynku na szybkie układy generujące realistyczne obrazy w grach komputerowych, przygotowali urządzenia o ogromnej wydajności obliczeń. Kluczowym krokiem było uogólnienie specjalizowanych układów cieniowania na programowalne jednostki arytmetyczno-logiczne i zmiennoprzecinkowe ogólnego przeznaczenia oraz przygotowanie interfejsu API umożliwiającego wykorzystanie ich przez programistów. Dzięki temu procesory o mocy obliczeniowej osiągalnej do niedawna jedynie przez superkomputery stały się dostępne dla wszystkich. Tworzenie kodu dla procesorów graficznych nie jest tak intuicyjne, jak programowanie strukturalne aplikacji na procesory główne komputerów osobistych, które znalazło swoje stałe miejsce w ścieżkach edukacji uczelni technicznych i do którego absolwenci takich uczelni są przyzwyczajeni. Rosnąca popularność wykorzystania procesorów GPU do obliczeń ogólnych wprowadziła również to zagadnienie jako przedmiot wykładowy do wielu uczelni na świecie. Oczywiście nie każdy problem numeryczny nadaje się do implementacji na procesor graficzny i nie można przedstawiać układów GPU jako jedynych i najlepszych platform do obliczeń. Obecne wykorzystanie sugeruje, że dalszego kierunku rozwoju tej technologii można oczekiwać w ścisłej współpracy nowoczesnych procesorów CPU z wydajnymi wielordzeniowymi procesorami graficznymi. Najbardziej pozytywnym aspektem tak szybkiego rozwoju procesorów graficznych i udostępnienia go szerokiej rzeszy odbiorców jest fakt, że ogromna moc obliczeniowa tych układów pozwoliła na przyspieszenie rozwiązań wielu problemów naukowych i ciągle służy ludziom, wspomagając działanie aparatury biomedycznej. W trzecim rozdziale rozprawy krótko zarysowano historię rozwoju komputerów oraz przyczyny pojawienia się architektur wielordzeniowych. Przedstawiona została architektura procesorów graficznych na przykładzie procesorów rodziny Fermi (w kontekście programowania wielowątkowego w CUDA C), ze szczególnym uwzględnieniem dostępnych typów pamięci. 8
9 4. Implementacja algorytmów przetwarzania danych OCT na GPU Bardzo istotną różnicą pomiędzy procesorami głównymi stacji roboczych (CPU) a procesorami graficznymi (GPU) jest przydział tworzących je tranzystorów do pełnienia poszczególnych funkcji. W układach CPU większość tranzystorów wchodzi w skład pamięci podręcznej oraz układów sterowania przepływem danych, natomiast właściwym wykonywaniem obliczeń zajmuje się mniej więcej ich czwarta część. W procesorach graficznych tranzystory wchodzą przede wszystkim w skład jednostek arytmetyczno logicznych oraz zmiennoprzecinkowych, natomiast znacznie mniejsza ich część zajmuje się sterowaniem przepływem danych. Z tego właśnie powodu pewne zadania związane z uruchamianiem wątków, podziałem zadań i przepływem danych muszą być ręcznie zaprogramowane przez użytkownika, aby przetwarzanie w procesorze graficznym było efektywne. Pierwszą stabilną wersję programu przetwarzającego dane spektralnej tomografii optycznej w procesorze graficznym autor uzyskał na początku 2010 roku a wyniki jego wydajności opublikował we wrześniu [22]. Uzyskano wtedy szybkość przetwarzania danych w obrazowaniu strukturalnym około sześciokrotnie wyższą (Rys. 4.1 b) niż w Rys Wpływ zastosowanych i zaimplementowanych w rozwijanym oprogramowaniu rozwiązań przyczyniających się do zwiększenia wydajności obliczeń, a) wydajność obliczeń równoległych na procesorze CPU, b i) kolejne rozwiązania opisane w tekście 9
10 przypadku zastosowania zoptymalizowanych obliczeń równoległych na procesorze głównym (Rys. 4.1 a) [23]. Wówczas autor rozwijał oprogramowanie na karcie graficznej wyposażonej w procesor GTX 280 (240 rdzeni CUDA) i 2GB globalnej pamięci. Wymiana karty graficznej na nowszy model (GeForce CUDA GTX 580 MSI 3072MB) wyposażony w 512 rdzeni CUDA, pozwoliła na uzyskanie wydajności obliczeń wynoszącej 430 tys. A- skanów na sekundę (Rys. 4.1 c). Następnie wprowadzono optymalizacje wyznaczania indeksów niezbędnych do pobierania danych, w obliczeniach w których istniała taka możliwość przeformułowano operacje matematyczne na operacje bitowe oraz zminimalizowano wykorzystanie rejestrów. W konsekwencji zmniejszono liczbę operacji mnożenia i dodawania dzięki temu uzyskano wydajność przetwarzania na poziomie 515 tys. A-skanów na sekundę (Rys. 4.1 d). Wykorzystanie jednostek funkcji specjalnych (SFU) pozwoliło na zwiększenie wydajności do 600 tysięcy widm na sekundę (Rys. 4.1 e). W dalszej kolejności zmodyfikowano implementację procedury transformacji k. W obecnej wersji wykorzystuje ona o 4 rejestry więcej. Pomimo większego zapotrzebowania na zasoby sprzętowe, zgodnie z arkuszem CUDA Occupancy Calculator, zmiana ta nie spowodowała zmniejszenia liczby aktywnych wątków na multiprocesorze, a dzięki dodatkowym rejestrom świadome podzielono i uporządkowano operacje numeryczne i w konsekwencji osiągnięto wydajność przewyższającą 740 tys. A-skanów na sekundę (Rys. 4.1 f). Zastosowanie funkcji pojedynczej precyzji (w celu zaokrąglania do wartości całkowitych, logarytmowania i pierwiastkowania) w funkcjach jądra wykonujących obliczenia zarówno przed jak i po transformacji Fouriera pozwoliło na osiągnięcie wydajności przetwarzania na poziomie 877 tysięcy A-skanów na sekundę (Rys. 4.1 g). Reorganizacja rozmieszczenia bloków wątków w siatce bloków poprzez wprowadzenie dwuwymiarowego indeksowania odpowiadającego numerom A-skanów i B-skanów, pozwoliło na całkowitą rezygnację z konieczności wyznaczania reszty z dzielenia całkowitego i pozwoliło na znaczne uproszczenie obliczeń wskaźników do danych wydajność obliczeń osiągnęła 980 tys. A-skanów na sekundę (Rys. 4.1 h). Ostatecznie, kompletu optymalizacji dopełnia właściwe umieszczenie polecenia syncthreads() pozwalając na przetworzenie powyżej miliona widm na sekundę (Rys. 4.1 i). Przedstawione powyżej zestawienie dotyczy przetwarzania danych w obrazowaniu strukturalnym, w pozostałych metodach stosowano analogiczne rozwiązania. We wszystkich przypadkach przetwarzano widma złożone z 2048 pikseli. Zależność wydajności obliczeń od liczby przetwarzanych A-skanów przedstawiono na wykresie (Błąd! Nie można odnaleźć źródła odwołania.) i jest ona około dwudziestokrotne wyższa niż w przypadku do dobrze zoptymalizowanej, wielowątkowej aplikacji pracującej na wielordzeniowym procesorze głównym [23]). W rozdziale czwartym rozprawy przedstawiono krótki przegląd literatury przedmiotu wraz z wkładem autora. Zaprezentowano opracowaną podczas realizacji projektu implementację procedur równoległego przetwarzania danych SOCT na procesor graficzny (w 10
11 architekturze Fermi ) oraz omówiono wpływ poszczególnych rozwiązań na wydajność całego procesu obliczeń. 5. Wykorzystanie uzyskanej szybkości przetwarzania danych Wykorzystanie kart graficznych w celu efektywniejszej analizy danych spektralnej tomografii optycznej pozwala na wprowadzenie nowej jakości do tej znanej od wielu lat metody. Dzięki uzyskanej szybkości przetwarzania wynoszącej powyżej miliona widm na sekundę możliwe jest zrealizowanie wysokojakościowego obrazowania dwu- oraz trójwymiarowego w czasie rzeczywistym, które nie było możliwe do uzyskania w przypadku przetwarzania danych na procesorze głównym. Warunkiem koniecznym do uzyskania obrazowania OCT w czasie rzeczywistym jest oczywiście odpowiednio szybkie przetwarzanie danych. Dzięki zastosowaniu procesorów graficznych oraz odpowiednio zoptymalizowanych algorytmów uzyskano bardzo wysoką wydajność obliczeń, przewyższającą milion A-skanów na sekundę. Drugim, równie ważnym warunkiem, jest możliwość odpowiednio szybkiego wyświetlenia przetworzonych danych. Połączenie przedstawionego w rozdziale czwartym rozprawy modułu do przetwarzania danych z opracowanym przez autora i szczegółowo opisanym w piątym rozdziale sposobem wizualizacji danych bezpośrednio z pamięci karty graficznej pozwala na wydajne obrazowanie w czasie rzeczywistym. Wydajność obrazowania techniką OCT z wykorzystaniem rozwijanego oprogramowania przedstawiono w tabeli (Tabela 5.1). Całkowita wydajność obrazowania zależy od czasu wykonania trzech kroków: akwizycji (zależnie od protokołu), transferu Tabela 5.1. Rzeczywista szybkość odświeżania strukturalnych obrazów OCT z zastosowaniem oprogramowania przygotowanego w trakcie realizacji projektu dla wybranych protokołów Protokół Całkowita liczba A-skanów Czas transferu danych do GPU Przetwarzanie i wizualizacja Czas Wydajność Wydajność z uwzględnieniem czasu transferu do GPU Krzyż 2x ms 8,2 ms 120 Hz* 76 Hz Krzyż 2x ms 9,5 ms 105 Hz 52 Hz Cztery przekroje 4x ms 11 ms 93 Hz 31 Hz Cztery przekroje 4x ms 24 ms 42 Hz 15 Hz Podgląd 3D 100x ms 63 ms 16 Hz 11 Hz Podgląd 3D 140x ms 110 ms 9 Hz 6,5 Hz *ograniczone przez częstotliwość odświeżania monitora LCD 11
12 surowych widm do pamięci karty graficznej (Tabela 5.1, kol. 3.) oraz czasu przetwarzania i wizualizacji (Tabela 5.1, kol. 4.). Gdyby czas rejestracji danych był równy czasowi wszystkich czynności związanych z przetworzeniem i wyświetleniem danych, każda wyświetlana na ekranie klatka zawierałaby tomogram uzyskany w wyniku przetworzenia za każdym razem nowego zestawu widm. W takiej sytuacji szybkość wyświetlanych na ekranie klatek zależałaby od dwóch czynników: czasu transferu danych (Tabela 5.1, kol. 3.) oraz przetwarzania i wizualizacji (Tabela 5.1, kol. 4.) i osiągałaby wartości przedstawione w ostatniej kolumnie tabeli (Tabela 5.1, kol. 6.). W obecnym stanie rozwoju technologii rejestracja danych wymaga jednak więcej czasu niż przetworzenie ich na procesorze graficznym, dlatego nowe zestawy widm dostępne są rzadziej niż co każdą klatkę wyświetlaną na ekranie. Z tego względu ten sam zestaw danych jest przetwarzany kilka razy, aż zakończy się proces rejestracji nowego tomogramu. Wielokrotne przetwarzanie tych samych danych pozwala na natychmiastowe uwzględnienie zmieniających się parametrów obliczeniowych (np. współczynnika kompensacji dyspersji) czy wizualizacyjnych (kątów obrotu), co zwiększa interaktywność aplikacji. Tak więc w trakcie obrazowania średnie szybkości odświeżania prezentowanych przekrojów uzyskują wartości zawierające się w zakresach ograniczonych przez liczby w kolumnach 5. i 6. (Tabela 5.1). Jedną z bardziej kłopotliwych czynności dla użytkownika tomografu OCT podczas pomiarów dopplerowskich jest dostosowanie protokołu skanowania tak, aby obrazowana prędkość przepływu optymalnie wykorzystywała zakres dynamiczny. Podobne problemy może sprawiać dostosowywanie amplitudy oscylacji dodatkowego skanera w metodzie redukcji szumu plamkowego. W obu metodach użytkownik obsługujący tomograf dobiera subiektywnie parametry protokołu na podstawie B-skanu wyświetlanego podczas podglądu na żywo. W przypadku obliczeń na procesorze głównym jakość tego tomogramu jest stosunkowo niska ze względu na stosunkowo małą liczbę wyświetlanych A-skanów. Korzystając z takiego przekroju oraz własnej wiedzy i doświadczenia użytkownik zmienia wybrany parametr protokołu, a następnie ponownie uruchamia akwizycję i ocenia, czy korekta, którą wprowadził, jest wystarczająca. Odpowiednie ustawienie parametrów wymaga zwykle kilku takich iteracji. Dostosowywanie protokołu na zasadzie prób i błędów jest bardzo uciążliwe, wymaga przede wszystkim skupienia i wielokrotnej modyfikacji parametrów oraz sprawdzania na wynikowym tomogramie, czy nie pojawiają się artefakty. Oczywistym jest, że podejście takie zawodzi w przypadku dynamicznie zmieniających się własności obiektu. Wykorzystanie szybkiej analizy numerycznej na procesorach graficznych pozwoliło uzyskać w czasie rzeczywistym wysokiej jakości przekroje oraz oceniać ich jakość w zależności od parametrów protokołu. W realizowanym projekcie autor przygotował dwa typy adaptacyjnych metod optymalizacji obrazów OCT. W przypadku analiz dopplerowskich w ciągu około pięciu sekund algorytm sam dostosowuje protokół do analizowanego przepływu 12
13 dobierając właściwy dla występującego w obiekcie przedziału prędkości przepływów. W metodzie redukcji szumu plamkowego efekt uzyskuje się poprzez dobranie parametrów skanowania zadanie to wymaga kilkunastu sekund głównie ze względu na czas akwizycji dużych zbiorów danych oraz konieczność uzyskania odpowiedniej statystyki. 6. Podsumowanie rozprawy Przygotowane w trakcie realizacji projektu oprogramowanie, ze szczególnym uwzględnieniem wysoce zoptymalizowanych metod przetwarzania danych w procesorze graficznym i wizualizacji wyników bezpośrednio z pamięci karty graficznej, pozwoliło na osiągnięcie oczekiwanych rezultatów. Dzięki równoległej analizie danych w GPU uzyskano wysokojakościowe obrazowanie w czasie rzeczywistym w trybie dwuwymiarowym. Wyświetlane przekroje tworzone z kilku tysięcy rejestrowanych widm na każdy B-skan i uśrednianie sąsiadujących A-skanów pozwoliło na wyświetlanie z częstotliwością kilkudziesięciu ramek na sekundę tomogramów o jakości, którą dotychczas uzyskać można było jedynie w trybie post-processingu. Zastosowane rozwiązania pozwalają również na obrazowanie trójwymiarowe w czasie rzeczywistym, które dotychczas nie było w ogóle możliwe. Ten sposób obrazowania może być przydatny jako dodatkowe narzędzie np. podczas operacji na żywym oku (przeszczep rogówki, soczewki). Na tak duże przyspieszenie obliczeń dzięki wykorzystaniu GPU można spojrzeć jak na pewnego rodzaju zaoszczędzenie czasu w wykonywaniu pewnego zadania, który z kolei przeznaczyć można na zastosowanie dodatkowych analiz, np. szybką ocenę uzyskiwanego tomogramu i dostosowanie protokołu skanowania. W realizowanym projekcie autor przygotował dwa typy adaptacyjnych metod dostosowywania protokołów rejestracji danych OCT: w analizach dopplerowskich oraz w metodzie redukcji szumu plamkowego. Reasumując, zdaniem autora, uzyskane szybkości przetwarzania danych są w pełni wystarczające dla celów SOCT i o ile nie pojawią się zupełnie nowe pomysły w zakresie procedur obróbki danych, wysiłki w kierunku dalszego przyspieszania obliczeń nie mają uzasadnienia. Głównym ograniczeniem jest obecnie wymagany czas akwizycji danych, niezbędny dla uzyskania odpowiedniego stosunku sygnału do szumu wynikający z natury procesów fizycznych zachodzących w detektorach. Jedynie jakościowo nowe rozwiązania w tym zakresie jak dotąd nie znane i nie możliwe do przewidzenia mogłyby na nowo postawić problem optymalizacji wydajności obrazowania OCT na drodze dalszej poprawy szybkości obliczeń. 13
14 Literatura [1] M. Wojtkowski, R. Leitgeb, A. Kowalczyk et al., In vivo human retinal imaging by Fourier domain optical coherence tomography, Journal of Biomedical Optics, 7 (3), (2002). [2] W. Drexler, and J. G. Fujimoto, State-of-the-art retinal optical coherence tomography, Prog Retin Eye Res, 27 (1), (2008). [3] J. Welzel, Optical coherence tomography in dermatology: a review, Skin Research and Technology, 7 (1), 1-9 (2001). [4] J. K. Barton, K. W. Gossage, W. Xu et al., Investigating sun-damaged skin and actinic keratosis with optical coherence tomography: A pilot study, Technology in Cancer Research & Treatment, 2 (6), (2003). [5] B. E. Bouma, G. J. Tearney, C. C. Compton et al., High-resolution imaging of the human esophagus and stomach in vivo using optical coherence tomography, Gastrointestinal endoscopy, 51(4) Pt (2000). [6] M. Suter, B. J. Vakoc, N. S. Nishioka et al., Comprehensive three-dimensional microscopy of the porcine and human esophagus in vivo using optical frequency domain imaging, Gastroenterology, 130 (4), A103-A103 (2006). [7] A. H. Huang, Y. K. Chen, L. M. Lin et al., Isolation and characterization of dental pulp stem cells from a supernumerary tooth, J Oral Pathol Med, (2008). [8] G. J. Tearney, S. Waxman, M. Shishkov et al., Three-Dimensional Coronary Artery Microscopy by Intracoronary Optical Frequency Domain Imaging, JACC: Cardiovascular Imaging, 1 (6), (2008). [9] D. Stifter, Beyond biomedicine: a review of alternative applications and developments for optical coherence tomography, Applied Physics B Lasers and Optics, 88 (3), (2007). [10] P. Targowski, M. Iwanicka, L. Tyminska-Widmer et al., Structural examination of easel paintings with optical coherence tomography, Acc Chem Res, 43 (6), (2010). [11] P. Targowski, B. J. Rouba, P. Karaszkiewicz et al., Optyczna Koherentna Tomografia OCT nowe narzędzie do działań konserwatorskich i inwentaryzacyjnych / Optical Coherence Tomography OCT a novel tool for art conservation and cataloguing, Wiadomości konserwatorskie, (2009). 14
15 [12] J. Kunicki-Goldfinger, P. Targowski, M. Góra et al., Characterization of glass surface morphology by optical coherence tomography, Studies in Conservation, (2009). [13] P. Targowski, J. Marczak, K. E.A. et al., Optical coherence tomography for highresolution real time varnish ablation monitoring, [14] M. Iwanicka, E. A. Kwiatkowska, M. Sylwestrzak et al., Application of optical coherence tomography (OCT) for real time monitoring of consolidation of the paint layer in Hinterglasmalerei objects, Proc. SPIE, G (2011). [15] NVIDIA, NVIDIA CUDA C Programming Guide v. 5.0, (2012). [16] D. Huang, E. A. Swanson, C. P. Lin et al., Optical coherence tomography, Science, 254 (5035), (1991). [17] A. F. Fercher, Optical coherence tomography, Journal of Biomedical Optics, 1 (2), (1996). [18] S. R. Chinn, E. A. Swanson, and J. G. Fujimoto, Optical coherence tomography using a frequency-tunable optical source, Opt Lett, 22 (5), (1997). [19] M. Wojtkowski, High-speed optical coherence tomography: basics and applications, Appl. Opt., 49 (16), D30-D61 (2010). [20] R. Leitgeb, C. K. Hitzenberger, and A. F. Fercher, Performance of Fourier domain vs. time domain optical coherence tomography, Optics Express, 11 (8), (2003). [21] M. Szkulmowski, I. Gorczynska, D. Szlag et al., Efficient reduction of speckle noise in Optical Coherence Tomography, Opt Express, 20 (2), (2012). [22] M. Sylwestrzak, M. Szkulmowski, D. Szlag et al., Real-time imaging for Spectral Optical Coherence Tomography with massively parallel data processing, Photonics Letters of Poland, 2 (3), (2010). [23] G. Liu, J. Zhang, L. Yu et al., Real-time polarization-sensitive optical coherence tomography data processing with parallel computing, Appl. Opt., 48 (32), (2009). 15
Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,
Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią
Bardziej szczegółowoCUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki
Bardziej szczegółowoMaciej Wojtkowski. Obrazowanie oka za pomocą Spektralnej Tomografii Optycznej z użyciem światła częściowo spójnego
Maciej Wojtkowski Obrazowanie oka za pomocą Spektralnej Tomografii Optycznej z użyciem światła częściowo spójnego Instytut Fizyki Uniwersytet Mikołaja Kopernika w Toruniu Podziękowania Członkom Kapituły
Bardziej szczegółowoPodsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor
Plan wykładu 1. Pojęcie podsystemu graficznego i karty graficznej 2. Typy kart graficznych 3. Budowa karty graficznej: procesor graficzny (GPU), pamięć podręczna RAM, konwerter cyfrowo-analogowy (DAC),
Bardziej szczegółowoi3: internet - infrastruktury - innowacje
i3: internet - infrastruktury - innowacje Wykorzystanie procesorów graficznych do akceleracji obliczeń w modelu geofizycznym EULAG Roman Wyrzykowski Krzysztof Rojek Łukasz Szustak [roman, krojek, lszustak]@icis.pcz.pl
Bardziej szczegółowoSYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
Bardziej szczegółowo1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania
1. Opis aplikacji Interfejs programu podzielony jest na dwie zakładki. Wszystkie ustawienia znajdują się w drugiej zakładce, są przygotowane do ćwiczenia i nie można ich zmieniac bez pozwolenia prowadzącego
Bardziej szczegółowoInterferometr Michelsona
Marcin Bieda Interferometr Michelsona (Instrukcja obsługi) Aplikacja została zrealizowana w ramach projektu e-fizyka, współfinansowanym przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Bardziej szczegółowoZdalne monitorowanie i zarządzanie urządzeniami sieciowymi
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Bardziej szczegółowoOCT OPTYCZNA TOMOGRAFIA KOHERENCYJNA. Katarzyna Gwóźdź Anna Kubiak Michał Pruba
OCT OPTYCZNA TOMOGRAFIA KOHERENCYJNA Katarzyna Gwóźdź Anna Kubiak Michał Pruba Plan prezentacji 2 1. Koherencja światła 2. Działanie układu 3. Rodzaje OCT 4. Zastosowania 5. Bibliografia Koherencja = spójność
Bardziej szczegółowoSpis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII
Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII
Bardziej szczegółowoWiększe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego
Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez
Bardziej szczegółowoBadanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik
Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA Autor: Daniel Słowik Promotor: Dr inż. Daniel Kopiec Wrocław 016 Plan prezentacji Założenia i cel
Bardziej szczegółowoNadzorowanie stanu serwerów i ich wykorzystania przez użytkowników
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Tomasz Kapelak Nr albumu: 187404 Praca magisterska na kierunku Informatyka
Bardziej szczegółowoWebowy generator wykresów wykorzystujący program gnuplot
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący
Bardziej szczegółowo"Techniki analityczne w konserwacji zabytków" Red. G. Śliwiński, Wydawnictwo Instytutu Maszyn Przepływowych, Gdańsk 2007, s. 79-83
Tomografia optyczna Piotr Targowski a, Michalina Góra a, Bogumiła Rouba b, Magdalena Targowska b a Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu, ptarg@phys.uni.torun.pl b Instytut Zabytkoznawstwa
Bardziej szczegółowoMoc płynąca z kart graficznych
Moc płynąca z kart graficznych Cuda za darmo! Czyli programowanie generalnego przeznaczenia na kartach graficznych (GPGPU) 22 października 2013 Paweł Napieracz /20 Poruszane aspekty Przetwarzanie równoległe
Bardziej szczegółowoBudowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
Bardziej szczegółowoMarcin Bieda. Pierścienie Newtona. (Instrukcja obsługi)
Marcin Bieda Pierścienie Newtona (Instrukcja obsługi) Aplikacja została zrealizowana w ramach projektu e-fizyka, współfinansowanym przez Unię Europejską w ramach Europejskiego Funduszu Społecznego (POKL)
Bardziej szczegółowoMiędzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka
Bardziej szczegółowoPorównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.
Bardziej szczegółowoLaboratorium Komputerowe Systemy Pomiarowe
Jarosław Gliwiński, Łukasz Rogacz Laboratorium Komputerowe Systemy Pomiarowe ćw. Programowanie wielofunkcyjnej karty pomiarowej w VEE Data wykonania: 15.05.08 Data oddania: 29.05.08 Celem ćwiczenia była
Bardziej szczegółowoIMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7
Łukasz Deńca V rok Koło Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE
Bardziej szczegółowoProblematyka budowy skanera 3D doświadczenia własne
Problematyka budowy skanera 3D doświadczenia własne dr inż. Ireneusz Wróbel ATH Bielsko-Biała, Evatronix S.A. iwrobel@ath.bielsko.pl mgr inż. Paweł Harężlak mgr inż. Michał Bogusz Evatronix S.A. Plan wykładu
Bardziej szczegółowoUniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki Tomasz Pawłowski Nr albumu: 146956 Praca magisterska na kierunku
Bardziej szczegółowoTeoria przetwarzania A/C i C/A.
Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych
Bardziej szczegółowoPlan wykładu. Akcelerator 3D Potok graficzny
Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D
Bardziej szczegółowoBudowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Bardziej szczegółowoRaport Hurtownie Danych
Raport Hurtownie Danych Algorytm Apriori na indeksie bitmapowym oraz OpenCL Mikołaj Dobski, Mateusz Jarus, Piotr Jessa, Jarosław Szymczak Cel projektu: Implementacja algorytmu Apriori oraz jego optymalizacja.
Bardziej szczegółowoBudowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Bardziej szczegółowoSPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD
Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości
Bardziej szczegółowoSprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Bardziej szczegółowoProgramowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
Bardziej szczegółowoSprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Bardziej szczegółowoSposoby zwiększania efektywności systemu Windows
Grzegorz Trześniewski kl 1Tia 26.05.08r. Sposoby zwiększania efektywności systemu Windows Prof. Artur Rudnicki Uruchamiianiie ii zamykaniie Należy monitorować oprogramowanie ładowane podczas uruchamiania
Bardziej szczegółowoProgramowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1
Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1 Wprowadzenie Procesory graficzne GPU (Graphics Processing Units) stosowane są w kartach graficznych do przetwarzania grafiki komputerowej
Bardziej szczegółowoZastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości
Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz
Bardziej szczegółowoPROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA
EGMONT INSTRUMENTS PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA EGMONT INSTRUMENTS tel. (0-22) 823-30-17, 668-69-75 02-304 Warszawa, Aleje Jerozolimskie 141/90 fax (0-22) 659-26-11
Bardziej szczegółowoMagistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.
Plan wykładu Pojęcie magistrali i jej struktura Architektura pamięciowo-centryczna Architektura szynowa Architektury wieloszynowe Współczesne architektury z połączeniami punkt-punkt Magistrala Magistrala
Bardziej szczegółowoRzeczywistość rozszerzona: czujniki do akwizycji obrazów RGB-D. Autor: Olga Głogowska 207 505 AiR II
Rzeczywistość rozszerzona: czujniki do akwizycji obrazów RGB-D Autor: Olga Głogowska 207 505 AiR II Czujniki w robotyce coraz większego znaczenia nabierają systemy pomiarowe umożliwiające interakcję robota
Bardziej szczegółowoSystem monitoringu jakości energii elektrycznej
System monitoringu jakości energii elektrycznej Pomiary oraz analiza jakości energii elektrycznej System Certan jest narzędziem pozwalającym na ciągłą ocenę parametrów jakości napięć i prądów w wybranych
Bardziej szczegółowoOpenAI Gym. Adam Szczepaniak, Kamil Walkowiak
OpenAI Gym Adam Szczepaniak, Kamil Walkowiak Plan prezentacji Programowanie agentowe Uczenie przez wzmacnianie i problemy związane z rozwojem algorytmów Charakterystyka OpenAI Gym Biblioteka gym Podsumowanie
Bardziej szczegółowoBadania elementów i zespołów maszyn laboratorium (MMM4035L)
Badania elementów i zespołów maszyn laboratorium (MMM4035L) Ćwiczenie 23. Zastosowanie elektronicznej interferometrii obrazów plamkowych (ESPI) do badania elementów maszyn. Opracowanie: Ewelina Świątek-Najwer
Bardziej szczegółowoDopasowywanie modelu do danych
Tematyka wykładu dopasowanie modelu trendu do danych; wybrane rodzaje modeli trendu i ich właściwości; dopasowanie modeli do danych za pomocą narzędzi wykresów liniowych (wykresów rozrzutu) programu STATISTICA;
Bardziej szczegółowoObrazowanie za pomocą soczewki
Marcin Bieda Obrazowanie za pomocą soczewki (Instrukcja obsługi) Aplikacja została zrealizowana w ramach projektu e-fizyka, współfinansowanym przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Bardziej szczegółowoExpo Composer. www.doittechnology.pl 1. Garncarska 5 70-377 Szczecin tel.: +48 91 404 09 24 e-mail: info@doittechnology.pl. Dokumentacja użytkownika
Expo Composer Dokumentacja użytkownika Wersja 1.0 www.doittechnology.pl 1 SPIS TREŚCI 1. O PROGRAMIE... 3 Wstęp... 3 Wymagania systemowe... 3 Licencjonowanie... 3 2. PIERWSZE KROKI Z Expo Composer... 4
Bardziej szczegółowo1. Opis. 2. Wymagania sprzętowe:
1. Opis Aplikacja ARSOFT-WZ2 umożliwia konfigurację, wizualizację i rejestrację danych pomiarowych urządzeń produkcji APAR wyposażonych w interfejs komunikacyjny RS232/485 oraz protokół MODBUS-RTU. Aktualny
Bardziej szczegółowoNumeryczna algebra liniowa
Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów
Bardziej szczegółowoPolaryzacja światła, kąt Brewstera
Marcin Bieda Polaryzacja światła, kąt Brewstera (Instrukcja obsługi) Aplikacja została zrealizowana w ramach projektu e-fizyka, współfinansowanym przez Unię Europejską w ramach Europejskiego FunduszuSpołecznego
Bardziej szczegółowoDokumentacja projektu QUAIKE Architektura oprogramowania
Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura
Bardziej szczegółowoKarty graficzne możemy podzielić na:
KARTY GRAFICZNE Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera
Bardziej szczegółowoObliczenia Wysokiej Wydajności
Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności i łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk
Bardziej szczegółowoInterferometr Michelsona zasada i zastosowanie
Interferometr Michelsona zasada i zastosowanie Opracował: mgr Przemysław Miszta, Zakład Dydaktyki Instytut Fizyki UMK, przy wydatnej pomocy ze strony Zakładu Biofizyki i Fizyki Medycznej IF UMK Interferencja
Bardziej szczegółowoObliczenia Wysokiej Wydajności
Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności oraz łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk
Bardziej szczegółowoRDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem
Bardziej szczegółowoPraca dyplomowa magisterska
Praca dyplomowa magisterska Implementacja algorytmów filtracji adaptacyjnej o strukturze transwersalnej na platformie CUDA Dyplomant: Jakub Kołakowski Opiekun pracy: dr inż. Michał Meller Plan prezentacji
Bardziej szczegółowoRegulator PID w sterownikach programowalnych GE Fanuc
Regulator PID w sterownikach programowalnych GE Fanuc Wykład w ramach przedmiotu: Sterowniki programowalne Opracował na podstawie dokumentacji GE Fanuc dr inż. Jarosław Tarnawski Cel wykładu Przypomnienie
Bardziej szczegółowoTemat: Sieci neuronowe oraz technologia CUDA
Elbląg, 27.03.2010 Temat: Sieci neuronowe oraz technologia CUDA Przygotował: Mateusz Górny VIII semestr ASiSK Wstęp Sieci neuronowe są to specyficzne struktury danych odzwierciedlające sieć neuronów w
Bardziej szczegółowoAnaliza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015 Źródła kosztów przetwarzania współbieżnego interakcje między procesami
Bardziej szczegółowoObróbka po realnej powierzchni o Bez siatki trójkątów o Lepsza jakość po obróbce wykańczającej o Tylko jedna tolerancja jakości powierzchni
TEBIS Wszechstronny o Duża elastyczność programowania o Wysoka interaktywność Delikatne ścieżki o Nie potrzebny dodatkowy moduł HSC o Mniejsze zużycie narzędzi o Mniejsze zużycie obrabiarki Zarządzanie
Bardziej szczegółowoTAK, WYMAGA NIE WYMAGA
Pytania z dnia 07.04.2016 r. w postępowaniu o udzielenie zamówienia publicznego prowadzonego w trybie przetargu nieograniczonego na dostawę wraz z montażem wyświetlacza wielkoformatowego (telebimu) w technologii
Bardziej szczegółowoPodstawowe możliwości programu Spectro Market Faktura 2011.2
Podstawowe możliwości programu Spectro Market Faktura 2011.2 Obsługa faktur VAT sprzedaży, zaliczki, marży. Obsługa faktur korygujących. Tworzenie not. Tworzenie pokwitowań. Budowane i obsługa kartotek:
Bardziej szczegółowoSystemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych
Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo
Bardziej szczegółowoSchemat blokowy karty
Obsługa kart I/O Karta NI USB-6008 posiada: osiem wejść analogowych (AI), dwa wyjścia analogowe (AO), 12 cyfrowych wejść-wyjść (DIO), 32-bitowy licznik. Schemat blokowy karty Podstawowe parametry karty
Bardziej szczegółowoNowinki technologiczne procesorów
Elbląg 22.04.2010 Nowinki technologiczne procesorów Przygotował: Radosław Kubryń VIII semestr PDBiOU 1 Spis treści 1. Wstęp 2. Intel Hyper-Threading 3. Enhanced Intel Speed Technology 4. Intel HD Graphics
Bardziej szczegółowoProjekt rejestratora obiektów trójwymiarowych na bazie frezarki CNC. The project of the scanner for three-dimensional objects based on the CNC
Dr inż. Henryk Bąkowski, e-mail: henryk.bakowski@polsl.pl Politechnika Śląska, Wydział Transportu Mateusz Kuś, e-mail: kus.mate@gmail.com Jakub Siuta, e-mail: siuta.jakub@gmail.com Andrzej Kubik, e-mail:
Bardziej szczegółowoAnaliza efektywności przetwarzania współbieżnego
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak 1/4/2013 Analiza efektywności 1 Źródła kosztów przetwarzania współbieżnego interakcje
Bardziej szczegółowoSzczegółowa charakterystyka przedmiotu zamówienia
Szczegółowa charakterystyka przedmiotu zamówienia Przedmiotem zamówienia jest dostawa i uruchomienie zestawu termowizyjnego wysokiej rozdzielczości wraz z wyposażeniem o parametrach zgodnych z określonymi
Bardziej szczegółowoSystem automatycznego odwzorowania kształtu obiektów przestrzennych 3DMADMAC
System automatycznego odwzorowania kształtu obiektów przestrzennych 3DMADMAC Robert Sitnik, Maciej Karaszewski, Wojciech Załuski, Paweł Bolewicki *OGX Optographx Instytut Mikromechaniki i Fotoniki Wydział
Bardziej szczegółowoProgramowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl
Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,
Bardziej szczegółowoNazwisko i imię: Zespół: Data: Ćwiczenie nr 9: Swobodne spadanie
Nazwisko i imię: Zespół: Data: Ćwiczenie nr 9: Swobodne spadanie Cel ćwiczenia: Obserwacja swobodnego spadania z wykorzystaniem elektronicznej rejestracji czasu przelotu kuli przez punkty pomiarowe. Wyznaczenie
Bardziej szczegółowoStrojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i
VI Seminarium PLOUG Warszawa Styczeñ 2003 Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i Marcin Przepiórowski Strojenie systemu Linux pod kątem serwera bazy danych Oracle 9i 7 1. Wstęp
Bardziej szczegółowoPodstawy Programowania 2
Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu
Bardziej szczegółowoProgramowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński
Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński Plan Prezentacji. Programowanie ios. Jak zacząć? Co warto wiedzieć o programowaniu na platformę ios? Kilka słów na temat Obiective-C.
Bardziej szczegółowoAdministracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora
Bardziej szczegółowoDiagnostyka pamięci RAM
Diagnostyka pamięci RAM 1 (Pobrane z slow7.pl) Uszkodzenie pamięci RAM jest jednym z najczęściej występujących problemów związanych z niestabilnym działaniem komputera. Efektem uszkodzenia kości RAM są
Bardziej szczegółowoAnalizator wydajności AMD CodeAnalyst
Analizator wydajności AMD CodeAnalyst Dostępny bezpłatnie dla Windows i Linux (różne funkcjonalności w obu systemach) Pozwala na 4 tryby pracy - profilowania: Bazujące na upływie czasu próbkowanie aplikacji
Bardziej szczegółowoPróby ruchowe dźwigu osobowego
INSTYTUT KONSTRUKCJI MASZYN KIERUNEK: TRANSPORT PRZEDMIOT: SYSTEMY I URZĄDZENIA TRANSPORTU BLISKIEGO Laboratorium Próby ruchowe dźwigu osobowego Functional research of hydraulic elevators Cel i zakres
Bardziej szczegółowoStraszyński Kołodziejczyk, Paweł Straszyński. Wszelkie prawa zastrzeżone. FoamPro. Instrukcja obsługi
FoamPro Instrukcja obsługi 1 Spis treści 1 Wstęp... 3 2 Opis Programu... 4 2.1 Interfejs programu... 4 2.2 Budowa projektu... 5 2.2.1 Elementy podstawowe... 5 2.2.2 Elementy grupowe... 5 2.2.3 Połączenia
Bardziej szczegółowoP R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H
W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H Grupa... Data wykonania
Bardziej szczegółowoLEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Bardziej szczegółowoOprogramowanie. DMS Lite. Podstawowa instrukcja obsługi
Oprogramowanie DMS Lite Podstawowa instrukcja obsługi 1 Spis treści 1. Informacje wstępne 3 2. Wymagania sprzętowe/systemowe 4 3. Instalacja 5 4. Uruchomienie 6 5. Podstawowa konfiguracja 7 6. Wyświetlanie
Bardziej szczegółowoFastReporter 2 OPROGRAMOWANIE DO KOŃCOWEGO PRZETWARZANIA DANYCH
OPROGRAMOWANIE DO KOŃCOWEGO PRZETWARZANIA DANYCH Narzędzie do skonsolidowanego zarządzania oraz końcowego przetwarzania danych, zaprojektowane po to, aby zwiększyć wydajność raportowania inspekcji zakończeń
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
Bardziej szczegółowoZbigniew Figiel, Piotr Dzikowicz. Skanowanie 3D przy projektowaniu i realizacji inwestycji w Koksownictwie KOKSOPROJEKT
1 Zbigniew Figiel, Piotr Dzikowicz Skanowanie 3D przy projektowaniu i realizacji inwestycji w Koksownictwie 2 Plan prezentacji 1. Skanowanie laserowe 3D informacje ogólne; 2. Proces skanowania; 3. Proces
Bardziej szczegółowoProgramowanie procesorów graficznych GPGPU
Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja
Bardziej szczegółowoBudowa i zasada działania skanera
Budowa i zasada działania skanera Skaner Skaner urządzenie służące do przebiegowego odczytywania: obrazu, kodu paskowego lub magnetycznego, fal radiowych itp. do formy elektronicznej (najczęściej cyfrowej).
Bardziej szczegółowoOprogramowanie IPCCTV. ipims. Podstawowa instrukcja obsługi
Oprogramowanie IPCCTV ipims Podstawowa instrukcja obsługi Spis treści 1. Informacje wstępne 3 2. Wymagania sprzętowe/systemowe 4 3. Instalacja 5 4. Uruchomienie 6 5. Podstawowa konfiguracja 7 6. Wyświetlanie
Bardziej szczegółowoBIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat
BIBLIOTEKA PROGRAMU R - BIOPS Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat Biblioteka biops zawiera funkcje do analizy i przetwarzania obrazów. Operacje geometryczne (obrót, przesunięcie,
Bardziej szczegółowoRejestratory Sił, Naprężeń.
JAS Projektowanie Systemów Komputerowych Rejestratory Sił, Naprężeń. 2012-01-04 2 Zawartość Typy rejestratorów.... 4 Tryby pracy.... 4 Obsługa programu.... 5 Menu główne programu.... 7 Pliki.... 7 Typ
Bardziej szczegółowoSzybkie prototypowanie w projektowaniu mechatronicznym
Szybkie prototypowanie w projektowaniu mechatronicznym Systemy wbudowane (Embedded Systems) Systemy wbudowane (ang. Embedded Systems) są to dedykowane architektury komputerowe, które są integralną częścią
Bardziej szczegółowoPodręcznik użytkownika
Podręcznik użytkownika Moduł kliencki Kodak Asset Management Software Stan i ustawienia zasobów... 1 Menu Stan zasobów... 2 Menu Ustawienia zasobów... 3 Obsługa alertów... 7 Komunikaty zarządzania zasobami...
Bardziej szczegółowoPodstawy Informatyki Systemy sterowane przepływem argumentów
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer
Bardziej szczegółowoInstrukcja projektowa cz. 2
Programowanie lokalnych aplikacji.net 2018/19 Instrukcja projektowa cz. 2 Wielozadaniowość w Windows Prowadzący: Tomasz Goluch Wersja: 7.0 I. Zadania projektowe 02. Cel: Utrwalenie wiedzy zdobytej podczas
Bardziej szczegółowoHistoria modeli programowania
Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu
Bardziej szczegółowoParametryzacja przetworników analogowocyfrowych
Parametryzacja przetworników analogowocyfrowych wersja: 05.2015 1. Cel ćwiczenia Celem ćwiczenia jest zaprezentowanie istoty działania przetworników analogowo-cyfrowych (ADC analog-to-digital converter),
Bardziej szczegółowoWin Admin Monitor Instrukcja Obsługi
Win Admin Monitor Instrukcja Obsługi czerwiec 2019 wersja dokumentu 1.7 dla wersji aplikacji 2.1.1.0 Spis treści: I. Wstęp 3 II. Wymagania systemowe 4 III. Ograniczenia funkcjonalne wersji demo 5 IV. Instalacja
Bardziej szczegółowoWydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych
Bardziej szczegółowoJulia 4D - raytracing
i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja
Bardziej szczegółowo