Module also offered within study programmes:
General information:
Name:
Wizualizacja danych medycznych
Course of study:
2017/2018
Code:
EIB-1-504-s
Faculty of:
Faculty of Electrical Engineering, Automatics, Computer Science and Biomedical Engineering
Study level:
First-cycle studies
Specialty:
-
Field of study:
Biomedical Engineering
Semester:
5
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Responsible teacher:
dr inż. Socha Mirosław (socha@agh.edu.pl)
Academic teachers:
dr hab. inż. Skalski Andrzej (skalski@agh.edu.pl)
dr inż. Socha Mirosław (socha@agh.edu.pl)
mgr inż. Goral Adrian (goral@agh.edu.pl)
Module summary

Celem kursu jest przekazanie podstaw teoretycznych na temat postrzegania i percepcji obrazów a także przekazanie umiejętności praktycznych dotyczących graficznych metod skutecznej prezentacji danych.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Potrafi przekazywać społeczeństwu informacje dotyczące najnowszych trendów rozwojowych w obszarze nowoczesnej grafiki komputerowej IB1A_K05 Activity during classes
M_K002 Potrafi pracować w interdyscyplinarnym zespole projektowym pełniąc rolę grafika komputerowego Activity during classes
Skills
M_U001 Posługuje się językiem angielskim w stopniu wystarczającym do korzystania z fachowej literatury dotyczącej nowoczesnej grafiki komputerowej IB1A_U05 Project
M_U002 Potrafi pozyskiwać z literatury informacje na temat najnowszych osiągnięc w obszarze współczesnej grafiki komputerowej IB1A_U01 Project
M_U003 Potrafi pracować w zespole grafików komputerowych, potrafi także prawidłowo ocenić czas przewidziany na realizację zadań związanych z opracowywaniem projektów z obszaru grafiki wektorowej i rastrowej IB1A_U02 Project,
Activity during classes
Knowledge
M_W001 Posiada wiedzę z obszaru matematyki potrzebną do pracy z nowoczesnymi pakietami grafiki 2D i 3D IB1A_W01 Activity during classes
M_W002 Posiada wiedzę na temat technik obliczeniowych stosowanych w nowoczesnej grafice komputerowej wektorowej i rastrowej IB1A_W07 Test
M_W003 Dysponuje wiedzą w zakresie fizyki współczesnej niezbędną do realizacji symulacji przebiegu wybranych zjawisk fizycznych z wykorzystaniem współczesnych pakietów do tworzenia animowanej grafiki 3D IB1A_W02 Activity during classes
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Potrafi przekazywać społeczeństwu informacje dotyczące najnowszych trendów rozwojowych w obszarze nowoczesnej grafiki komputerowej + - + - - - - - - - -
M_K002 Potrafi pracować w interdyscyplinarnym zespole projektowym pełniąc rolę grafika komputerowego + - + - - - - - - - -
Skills
M_U001 Posługuje się językiem angielskim w stopniu wystarczającym do korzystania z fachowej literatury dotyczącej nowoczesnej grafiki komputerowej - - + - - - - - - - -
M_U002 Potrafi pozyskiwać z literatury informacje na temat najnowszych osiągnięc w obszarze współczesnej grafiki komputerowej - - + - - - - - - - -
M_U003 Potrafi pracować w zespole grafików komputerowych, potrafi także prawidłowo ocenić czas przewidziany na realizację zadań związanych z opracowywaniem projektów z obszaru grafiki wektorowej i rastrowej - - + - - - - - - - -
Knowledge
M_W001 Posiada wiedzę z obszaru matematyki potrzebną do pracy z nowoczesnymi pakietami grafiki 2D i 3D + - - - - - - - - - -
M_W002 Posiada wiedzę na temat technik obliczeniowych stosowanych w nowoczesnej grafice komputerowej wektorowej i rastrowej + - - - - - - - - - -
M_W003 Dysponuje wiedzą w zakresie fizyki współczesnej niezbędną do realizacji symulacji przebiegu wybranych zjawisk fizycznych z wykorzystaniem współczesnych pakietów do tworzenia animowanej grafiki 3D + - - - - - - - - - -
Module content
Lectures:

  1. Omówienie programu wykładów. Wprowadzenie do wizualizacji danych, zdefiniowanie pojęć związanych z wizualizacją, postrzeganiem i percepcją obrazu. Budowa oka, zadania zmysłu wzroku, neuronowa droga obrazu oraz szlaki przetwarzania informacji wizyjnej występujące w mózgu. Rozdzielczość wzroku oraz podstawy postrzegania barw.
  2. Postrzeganie i opis barw. Trójchromatyczność i teoria kolorów przeciwstawnych. Odpowiedź receptorów na pobudzenie światłem. Zagadnienia upośledzenia widzenia kolorów. Postrzeganie kontrastu. Kolorymetria i fotometryczne modele barw. Modele barw opisujące proces tworzenia barwy oraz oparte o wzorniki. Wykres chromatyczności CIExy. Metody porównywania barw i zarządzanie kolorem. Koło barw i metody doboru barw uwzględniające percepcję oraz uwarunkowania kulturowe.
  3. Zdolność analizy obrazu przez człowieka. Teoria “Gestalt”, prawa teorii percepcji wzrokowej: bliskość, podobieństwo, powiązanie, ciągłość, symetria, zamknięcie, figura i tło, otoczenie, zwięzłość, uściślenie, wieloznaczność, niezmienniczość. Zagadnienia postrzegania przestrzeni na obrazach statycznych oraz ruchomych.
  4. Podstawowe metody wizualizacji danych. Semiologia grafiki opracowana przez Jacques Bertina, założenia teorii badającej wpływ znaków na wymianę informacji przez ludzi. Zmienne wizualne Bertina oraz rozszerzone zmienne wizualne. Metody i zasady mapowania informacji. Zasady użycia zmiennych wizualnych do mapowania informacji. Typy wizualnej prezentacji danych: diagramy, sieci, mapy, symbole. Przegląd metod wizualizacji danych dla różnej liczby komponentów i typów prezentacji.
  5. Cyfrowa reprezentacja danych. Podstawowe typy informacji, taksonomia typów danych, modele danych, formaty zapisu oraz wybrane formaty plików (np. CSV).
  6. Standard obrazowania cyfrowego i wymiany obrazów w medycynie DICOM. Geneza powstania standardu, główne zastosowania i możliwości. Informatyczny model danych. Budowa SOP (service-object pair), podstawowej jednostki danych oraz strumienia informacji. Zawartość pliku DICOM oraz DICOMDIR.
  7. Wprowadzenie do biblioteki Visualization Toolkit – VTK. Geneza powstania biblioteki, możliwości i zastosowania. Architektura, budowa strumienia wizualizacji oraz podstawowych obiektów przetwarzania, przechowywania i wizualizacji danych. Przepływ informacji w strumieniu. Przykład tworzenie strumienia wizualizacji.
  8. Architektura biblioteki VTK dotycząca tworzenia i prezentacji danych graficznych – model graficzny VTK. Wprowadzenie do standardu OpenGL. Omówienie obiektów VTK modelu graficznego. Zagadnienia zarządzania pamięcią zaimplementowane w VTK.
  9. Reprezentacja danych w VTK – model przechowywania i organizacji danych. Koncepcja organizacji danych w postaci topologii, geometrii oraz atrybutów. Omówienie obiektów służących do przechowywania informacji o topologii, geometrii oraz atrybutów danych. Wbudowane typy zbiorów danych, ich właściwości oraz sposób implementacji.
  10. Omówienie obiektów będących źródłami danych. Odczyt i zapis danych, wspierane formaty danych oraz plików. Obiekty do importu i eksportu scen 3D oraz do zapisu wyników wizualizacji. Mechanizm wymiany komunikatów między obiektami VTK. Interaktywne obiekty vtkWidget interfejsu użytkownika. Przykłady wykorzystania klas VTK w innych językach: Tcl, Python, Java, C#. Programy używające VTK do prezentacji danych: Paraview, Volview, Slicer. Programowanie graficzne strumienia wizualizacji: MeVisLab, VTK Designer.
  11. Generowanie trójwymiarowej grafiki przez kartę graficzną – rendering obrazu. Przetwarzanie danych w GPU, kolejne etapy tworzenia grafiki na podstawie siatki trójkątów. Model oświetlenia Phong oraz metody interpolacji koloru. Rendering wolumetryczny (objętościowy): opis matematyczny, klasyfikacja metod, podstawowe etapy strumienia wizualizacji wolumetrycznej. Szybkie metody tworzenia obrazów wolumetrycznych. Możliwości łączenia różnych technik renderingu. Przykłady zastosowań.
  12. Algorytmy wizualizacji danych skalarnych. Mapowanie kolorów: metoda look-up table oraz metoda funkcji przejścia. Przykłady implementacji w programie Matlab oraz obiekty mapujące kolory w VTK. Przykłady użycia funkcji przejścia do wizualizacji wolumetrycznej. Wielowymiarowe funkcje przejścia. Dobór palety kolorów. Algorytmy konturowania danych skalarnych: marching square oraz marching cubes. Omówienie funkcji Matlab oraz obiektów VTK używanych do konturowania.
  13. Algorytmy wizualizacji danych wielowymiarowych. Definicje i przykłady danych wielowymiarowych. Bezpośrednie metody reprezentacji danych wielowymiarowych. Metody zamiany danych wektorowych, tensorowych i wielowymiarowych na dane skalarne. Pośrednie metody prezentacji danych: wyginanie i deformowanie geometrii, algorytmy wyznaczające “linie prądów” w polach wektorowych lub skalarnych, znaczniki wyższego rzędu, metoda elipsoidy tensorów.
  14. Przykłady wizualizacji dużych oraz skomplikowanych zbiorów danych. Wizualizacja analizy ilościowej i jakościowej tekstów i dokumentów: wyniki wyszukiwania, znaczniki tekstu, „chmury tekstu”, odciski wizualne, analiza kontekstowa (drzewa i grafy), streszczanie zawartości. Prezentacja informacji: genealogia (grafy i drzewa zależności), mapy wiedzy, metoda osi równoległych, mapy pikseli, macierze informacji, wielowymiarowe znaczniki. Przykłady zastosowania wizualizacji w medycynie.
  15. Kolokwium sprawdzające wiedzę teoretyczną.

Laboratory classes:

  1. Wprowadzenie i omówienie zasad BHP obowiązujących w laboratorium, podział na grupy i zespoły, omówienie warunków zaliczenia modułu. Omówienie i przygotowanie stanowiska komputerowego. (1h)
  2. Postrzeganie oraz percepcja obrazu. Podstawy grafiki komputerowej bitowej i wektorowej. (3h)
  3. Prezentacja danych jedno i wielowymiarowych w programach: Excel/Google Charts, Matlab. Praca z różnymi typami danych. Podstawowe wymagania dotyczące poprawnego przekazu graficznego: osie, opisy, legenda, dobór typu i formatowanie wykresu (6h)
  4. Możliwości wizualizacji zaawansowanych programów do przetwarzania danych: Paraview i Volview. (3h)
  5. Wprowadzenie do biblioteki Visualization Toolkit (VTK). Tworzenie strumienia wizualizacji, łączenie filtrów, wczytywanie danych, zapis wyników wizualizacji (3h)
  6. Podstawowe metody wizualizacji danych z wykorzystaniem biblioteki VTK. (6h)
  7. Zaawansowane metody wizualizacji danych z wykorzystaniem biblioteki VTK. (6h)

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 100 h
Module ECTS credits 4 ECTS
Participation in lectures 28 h
Participation in laboratory classes 28 h
Preparation for classes 44 h
Additional information
Method of calculating the final grade:

Ocena końcowa obliczana jest jako średnia arytmetyczna dla oceny z kolokwium oraz oceny uzyskanej za realizowane w ramach zajęć projekty, przy czym obie oceny cząstkowe muszą być pozytywne (minimum 3.0).

Prerequisites and additional requirements:
  • ukończony kurs informatyki, biegłość w posługiwaniu się komputerem
  • znajomość zagadnień związanych z przetwarzaniem sygnałów
  • podstawowe umiejętności programistyczne (C, C++, Python)
Recommended literature and teaching resources:
  1. Mirosław Socha: “Wizualizacja danych biomedycznych”. Wydawnictwa AGH, 2011
    Will Schroeder, Ken Martin, Bill Lorensen: “The Visualization Toolkit”. Upper Saddle River, Prentice Hall, 1996
  2. Bernhard Preim, Dirk Bartz: “Visualization in Medicine, theory, algorithms, and applications”. Elsevier,Morgan Kaufmann Publishers, Amsterdam 2007
  3. Colin Ware: “Information Visualization: Perception for Design”. Elsevier, 2012
  4. Jacques Bertin: “Semiology of Graphics: Diagrams, Networks, Maps”. ESRI Press, 2010
  5. Elena Zudilova-Seinstra, Tony Adriaansen, Robert van Liere: “Trends in Interactive Visualization, State-of-the-Art Survey”. Springer-Verlag London Limited 2009
  6. Chun-houh Chen, Wolfgang Hardle, Antony Unwin: “Handbook of Data Visualization”. Springer-Verlag Berlin Heidelberg, 2008
  7. Julie Steele, Noah Iliinsky: “Beautiful Visualization: Looking at Data through the Eyes of Experts”. O’Reilly Media, Inc., 2010
Scientific publications of module course instructors related to the topic of the module:
  1. Mirosław Socha: “Wizualizacja danych biomedycznych”. Wydawnictwa AGH, 2011
Additional information:

W trakcie kursu studenci zostaną zaznajomieni z zasadami tworzenia skutecznych wizualizacji naukowych, zwłaszcza w kontekście danych medycznych. Wiedza teoretyczna zostanie praktycznie wykorzystana w trakcie ćwiczeń komputerowych z różnymi programami (np. Google Charts, Tableau Public, Matlab).
Druga część ćwiczeń dotyczy zastosowania specjalistycznej biblioteki Visualization Toolkit (VTK) do budowy programów w języku C++ lub Python zawierających trójwymiarową wizualizację danych medycznych. Planowane jest opracowanie przeglądarki białek oraz danych DICOM o różnych modalnościach.
Opracowany kurs intensywnie wykorzystuje możliwości uczelnianej platformy e-learningowej UPEL. Studenci korzystają z bardzo szczegółowo opracowanych instrukcji wykonania ćwiczeń, umieszczają zadania domowe na stronach UPEL a następnie wzajemnie oceniają swoje prace. Dzięki takiemu podejściu, każdy student wielokrotnie analizuje cudze projekty, stykając się z lepszymi i gorszymi dokumentacjami oraz programami, tym samym utrwalają zdobytą wiedzę i umiejętności.