niedziela, 6 grudnia 2009

MedicalSlicer - aplikacja testowa do przeglądania zdjęć medycznych

Pełny kod źródłowy
Pierwszą aplikacją prezentującą możliwości biblioteki do tworzenia interfejsu KWWidgets jest program o roboczej nazwie MedicalSlicer. Pomimo tego, że jego główną rolą jest pokazanie jak łączyć tą bibliotekę z VTK, to jest to w pełni funkcjonalny program do przeglądania medycznych zdjęć 3D.

Budowa programu

Szkielet aplikacji obsługuje klasa vtkKWWindow, która tworzy główne okno programu i zarządza kontrolkami w nim umieszczonymi. Jedną z ważniejszych kontrolek jest vtkKWRenderWidget posiadająca cechy znanych z VTK klas: vtkRenderer, vtkRenderWindow. Na obrazku poniżej jest to oczywiście pole renderowania widoczne po prawej stronie. Płaszczyzny obrazu, które na nim widzimy zostały uzyskane za pomocą obiektów vtkImagePlaneWidget (opis możliwości poniżej). Z lewej strony mamy przewijaną ramkę vtkKWFrameWithScrollbar, na której zostały umieszczone kolejne komponenty: vtkKWScaleWithEntry (suwak do wyboru wartości z zadanego zakresu) oraz vtkKWRadioButton (przycisk opcji). Interesującym komponentem widocznym na samym końcu ("Movie Creator") jest vtkKWSimpleAnimationWidget. Pozwala on na łatwe tworzenie animacji z pola renderowania dla ustalonych wartości obrotu i skalowania. Animacja jest zapisywana na dysk w postaci serii plików png, i później może zostać zamieniona na film np. za pomocą programu ffmpeg lub mencoder (jak to zrobić pisałem w notatce "Tworzenie zrzutów ekranu oraz filmów w VTK").



Możliwości
  • Program pozwala na przeglądanie danych medycznych jednocześnie w trzech różnych płaszczyznach: X, Y i Z. "Plasterki" (ang. slices) możemy przewijać wciśniętym przyciskiem rolki na myszce.
  • Lewy przycisk myszy służy do sprawdzania wartości danego piksela.
  • Prawy do zmiany ustawień okna oraz poziomu wyświetlania.
  • Dodatkowo możliwe jest obracanie i zmienianie kąta nachylenia każdej płaszczyzny.

  • Na panelu opcji, w ramce Lut Table można wybrać skalę kolorów w jakiej będą widoczne dane.


Podsumowanie

Pewną niedogodnością prezentowanego programu MedicalSlicer może być brak obsługi formatu DICOM. Istnieją jednak narzędzia do konwersji tego formatu do formatu VTK Structured Point, który jest obsługiwany przez program. Ja osobiście polecam ImageJ oraz plugin 3D Toolkit.

Kody źródłowe programu oraz wersję skompilowaną dla Windows można pobrać ze mojej anglojęzycznej strony www. Przygotowanie wersji binarnej dla innych systemów nie powinno być problematyczne, ponieważ wszystkie narzędzia są niezależne od systemu oraz dołączyłem plik kompilacji CMake.

0 komentarze:

Prześlij komentarz