POLITECHNIKA POZNANSKA
INSTYTUT ELEKTRONIKI I TELEKOMUNIKACJI
Telepatologia z wykorzystaniem Internetu
1. Wprowadzenie
Projekt innowacyjny Telepatologia z wykorzystaniem Internetu zrealizowano w roku 1998 zgodnie z harmonogramem. Przeprowadzono prace ujete w planie jako pierwszy etap. W szczegolnosci:
2. Sprzet
Zrealizowany system posiada nastepujaca konfiguracje:
a) Zrobotyzowany mikroskop Axioplan 2 z oprogramowaniem,
b) Kamera cyfrowa do wspolpracy z mikroskopem firmy Polaroid (1600x1200 punktow, 24 - bitowa),
c) Graficzna stacja robocza nadawcza
d) Graficzna stacja robocza odbiorcza

Rys. Ogolna struktura systemu
3. Dedykowane oprogramowanie systemu.
Przygotowano dedykowane oprogramowanie integrujace zdalna obsluge mikroskopu, wizualizacje obrazow mikroskopowych na ekranie monitora oraz komunikacje miedzy uzytkownikami. W szczegolnosci oprogramowanie realizuje nastepujace funkcje:
a) Zdalna obsluga mikroskopu
b) Wizualizacja obrazow mikroskopowych
c) Dwukierunkowa komunikacja miedzy patologami
Szczegolowy opis oprogramowania zamieszczono w zalaczniku 1.
Ocena jakosci przesylanego obrazu:
Obraz przesylany przez lacze swiatlowodowe jest wolny od zaklocen i znieksztalcen. Jakosc obrazu w systemie zdalnym jest taka sama jak w systemie lokalnym.
4. Koncepcja systemu bezstratnej kompresji obrazu.
Przebadano bezstratna kompresje obrazow histologicznych o roznych powiekszeniach i roznych rozdzielczosciach. Przy zastosowaniu najbardziej zaawansowanych metod kompresji bezstratnej objetosc pliku waha sie w granicach 40 - 60% poczatkowej objetosci.

Rys. Srednie wielkosci pliku po kompresji wyrazone jako procent wielkosci pliku przed kompresja.
W zwiazku z tym dla zwiekszenia wspolczynnika kompresji zaproponowano stosowanie transformacji skladowych i stosowanie:
a) kompresji bezstratnej,
b) alternatywne stosowanie kompresji stratnej.
W trakcie przygotowywania koncepcji uruchomiono szereg programow. Szczegolowe dane eksperymentalne, programy komputerowe i opracowane algorytmy znajduja sie w Instytucie Elektroniki i Telekomunikacji. Wyniki te zostana wykorzystane do realizacji drugiego etapu prac.
Zalacznik 1
Szczegolowy opis dedykowanego oprogramowania
Projekt zaklada wykorzystanie zdalnie sterowanego mikroskopu typu Axioplan2, podlaczonego do komputera pelniacego funkcje serwera internetowego. Uzytkownicy-klienci laczacy sie z serwerem poprzez przegladarke WWW beda mieli mozliwosc wyboru interesujacego fragmentu preparatu przez zmiane polozenia stolika mikroskopowego z probka, wybor odpowiedniego powiekszenia i ostrosci. Dostepna bedzie opcja konsultacji z innymi uzytkownikami poprzez strone WWW, a takze w sesji wideokonferencyjnej. Ulatwi to wymiane swoich spostrzezen podczas diagnozowania preparatu.
Proponowane rozwiazanie przewiduje stworzenie dwoch odrebnych aplikacji. Czesc glowna uruchamiana po stronie serwera internetowego WWW ma za zadanie odbierac rozkazy od uzytkownikow sterujace praca mikroskopu i przy ich pomocy dokonywac odpowiednich zmian ustawien mikroskopu oraz udostepniac w sieci Internet obraz pobrany z kamery. Druga, uruchamiana po stronie klienta-uzytkownika sieci Internet ma na celu zdalne sterowanie mikroskopem i kamera poprzez wysylanie odpowiednich komunikatow sterujacych oraz wizualizacje obrazu z mikroskopu udostepnianego przez serwer. Dodatkowa usluga zaimplementowana na komputerach uzytkownikow ma byc modul wideokonferencji umozliwiajacy konsultacje miedzy nimi.
Serwer
Pierwsza z aplikacji po stronie serwera, napisana w jezyku C++ ma za zadanie udostepnienie zasobow w postaci zdalnie sterowanego mikroskopu sprzezonego z kamera w sieci Internet. W tym celu na komputerze opartym o procesor Pentium II 450MHz z systemem operacyjnym Microsoft Windows NT, podlaczonym do sieci Internet uruchomiony jest serwer WWW. Do serwera podlaczony jest mikroskop Axioplan 2 poprzez dwa zlacza szeregowe RS-232 oraz kamera Polaroid poprzez interface UltraWide SCSI. Komputer ten wyposazony jest w dedykowana karte optyczna z wyjsciem swiatlowodowym sluzaca do zestawiania sztywnego lacza miedzy serwerem a klientem. W komputerze zamontowana jest karta Fly Video EZ98 sluzaca do realizacji sesji wideokonferencyjnych wraz z oprogramowaniem Microsoft NetMeeting 2.1 oraz serwer Microsoft Internet Locator. Do karty podlaczona jest kamera CCD CAM marki Philips. Sercem calego systemu jest oprogramowanie uruchamiane rownolegle z serwerem WWW. Realizuje ono nastepujace funkcje:
- Podstawowym zadaniem jest sterowanie praca mikroskopu. Odbywa sie to poprzez wywolywanie odpowiednich funkcji z bibliotek na zadanie wysylane poprzez klienta. Poniewaz z zalozenia sterowanie mikroskopu odbywa sie zdalnie, oprogramowanie to zarzadza komunikowaniem sie uzytkownikow, przyjmuje ono wiadomosci sterujace mikroskopem i rozsyla obraz pobrany z kamery. Informacja taka rozsylana jest do wszystkich komputerow, ktore sa podlaczone jako koncowki - klienci.
- Obsluga kamery dokonywana jest poprzez interfejs Twain. Zostalo to zrealizowane, poprzez zainstalowanie po stronie kamery, sterownika firmy Polaroid zgodnego ze standardem przemyslowym Twain. Oprogramowanie odwoluje sie do metod zaimplementowanych w driverze umozliwiajac tym samym akwizycje obrazu z kamery.
- Sterowanie mikroskopu polega na zbieraniu wiadomosci sterujacych praca mikroskopu od wszystkich uzytkownikow, podlaczonych na odpowiednim porcie do serwera i wywolaniu odpowiedniej funkcji z biblioteki obslugujacej mikroskop.
- Serwis umozliwia komunikacje miedzy osobami uczestniczacymi w sesji telepatologicznej udostepniajac dwa sposoby komunikacji. Pierwszy polega na przekazywaniu wiadomosci tekstowych miedzy wszystkimi uzytkownikami podlaczonymi do portu sterujacego mikroskopem. Jest to funkcja chat, ktora zostala zaimplementowana po stronie oprogramowania klienta. Drugim sposobem jest wideokonferencja. Wideokonferencja jest usluga umozliwiajaca porozumiewanie sie kilku osob lub grup osob przy wykorzystaniu strumieni informacyjnych zawierajacych glos, obraz ruchomy, obrazy statyczne, grafike roznej rozdzielczosci i informacje sterujace. Realizacja polaczenia trzech lub wiecej punktow w sieci laczy sie ze wskazaniem wezla sterujacego usluga konferencyjna. Zadaniem tego wezla jest realizacja procedur przylaczania, odlaczania i przydzielania prawa glosu uczestnikom konferencji, koordynacji wspoldzialania poszczegolnych elementow systemu, konfiguracji srodowiska sieciowego i zaangazowanych terminali. Wezlem takim jest serwer Microsoft Internet Locator, ktory jest serwerem katalogow. Umozliwia on tworzenie grup uzytkownikow majacych odpowiednie przywileje i ograniczenia. Z przywilejow tych wynika mozliwosc uczestniczenia w konferencjach.
- Kolejna wazna cecha jaka spelnia serwer jest podglad i monitorowanie calego systemu poprzez wizualna prezentacje adresow podlaczonych komputerow, czas ich logowania sie do systemu oraz numer portu. Drugim elementem jest podglad parametrow pracy mikroskopu. Przedstawione sa podstawowe dane mikroskopu: polozenie statywu i stolu, uzyty obiektyw, filtr, lampa itd. Trzecia informacja jest monitorowanie wiadomosci przekazywanych do serwera oraz wyswietlany jest rozsylany obraz.
Klient
Druga aplikacja przeznaczona jest dla uzytkownikow. Z zalozenia musi byc ona niezalezna od platformy na ktorej jest ona uruchamiana. Do realizacji tego zadania zostal wybrany jezyk JAVA. W prototypowym rozwiazaniu terminalem jest komputer wyposazony w procesor Pentium II 450MHz i system operacyjny Microsoft Windows 98. Jako przegladarka WWW w ktorej uruchamiany jest applet JAVY wykorzystywana jest przegladarka Microsoft Internet Expolrer w wersji co najmniej 4.0. Dodatkowo w komputerze zamontowana jest karta optyczna do zestawienia dedykowanego lacza swiatlowodowego oraz karta video umozliwiajaca nawiazanie sesji wideokonferencyjnej wraz z kamera. Uruchomienie oprogramowania po stronie klienta dokonywane jest poprzez wejscie na strone serwera obslugujacego mikroskop i wywolanie odpowiedniej strony WWW. Zaladowanie tej strony powoduje uruchomienie apletu JAVY, ktory nawiazuje polaczenie z serwisem obslugujacym kamere i mikroskop. Od tej chwili uzytkownikowi ukazuje sie panel sterujacy praca zdalna mikroskopu poprzez siec internet z wykorzystaniem protokolu TCP/IP oraz okno wyswietlajace obraz pobierany z kamery. Zdalna koncowka jest rejestrowana po stronie serwera i otrzymuje ono zezwolenie na sterowanie mikroskopem. Kazda akcja wywolana zdalnie jest przetwarzana w serwerze i realizowana jest odpowiednia reakcja az do pobrania z kamery obrazu i przekazania go zwrotnie wszystkim uczestnikom sesji.
Uzytkownicy po stronie klienta maja do dyspozycji panel Chat umozliwiajacy przesylanie komentarzy tekstowych oraz mozliwosc nawiazania sesji wideokonferencyjnych miedzy innymi uczestnikami.
Aplet JAVA
Java to zorientowany obiektowo jezyk programowania dedykowany do pracy w bardzo dobrze znanym w Internecie systemie publikacyjnym Web. Niekiedy mowi sie, ze jest to jezyk programowania Internetu. Z punktu widzenia skladni jezyka jest on bardzo podobny do C++, nie jest to jednak w zadnym przypadku podzbior C++, czy jezyk typu C++ Lite. Nowy jezyk nabiera coraz bardziej istotnego znaczenia i zostal juz szeroko zaakceptowany jako efektywne i bardzo efektowne narzedzie, dzieki ktoremu wszelkie granice uzytkowania i projektowania stron WWW zostaly poszerzone w niewyobrazalny jeszcze sposob. Wlasnie od ograniczen stojacych przed standardem projektowania stron HTML wywodzi sie pomysl Javy. Mimo zdefiniowania i wdrozenia szeregu rozszerzen - wersje 2.0 i 3.0 opracowane glownie przez Netscape Communication - do bazowego standardu HTML, publikowane strony Web pozostawaly nadal statyczne. Istnialy tabele, kolorowe tla, ciekawa interpretacja tekstu i grafiki, ale brakowalo szeregu nawet bardzo prostych mechanizmow, ktore dostepne sa w kazdym jezyku programowania. Luke ta wypelnil jezyk Java zaprojektowany w SUN Microsystems.
Idea pracy systemu z Java jest bardzo prosta. W jezyku Java tworzone sa programy nazywane apletami (applets), ktore nastepnie przetwarzane sa przez specjalny kompilator do binarnej, skondensowanej, niezaleznej od platformy postaci okreslanej mianem kod-bajtowy (bytecode) lub klasa (class). Rozmiar wygenerowanych plikow jest w przewazajacej czesci przypadkow stosunkowo maly (kilka KB), co pozwala na realizacje szybkiej transmisji nawet w wolnych sieciach. Klasy moga byc interpretowane przez wirtualna maszyne wbudowana np. w przegladarke WWW lub przez niezalezny program (tzw. AppletViewer). Aplety (klasy) wlaczane sa do stron Web za pomoca prostego mechanizmu, stanowiacego kolejne rozszerzenie jezyka HTML. Oprocz wywolania okreslonego apletu na danej stronie mozemy takze przekazac dowolna ilosc parametrow (argumentow), definiujacych sposob pracy apletu. Oznacza to zatem, ze mamy mozliwosc tworzenia uniwersalnych apletow i parametryzowania ich wykonania. Niezwykle istotnym jest takze to, ze do wykorzystania Javy nie potrzebujemy specjalnego serwera WWW. Mozemy uzyc kazdego - nawet najprostszego, bowiem caly ciezar obslugi kodow bajtowych spoczywa na naszej, pracujacej lokalnie maszynie wirtualnej (przegladarce Web). Maszyna ta, czyli interpreter kodu Javy, pracuje w okreslonym srodowisku, zawierajacym szereg wykonywalnych apletow tworzacych w pewnym sensie biblioteke klas Javy typu run-time. Dzieki temu nawet skomplikowane operacje moga byc wykonywane za pomoca kilku-linijkowego apletu.