background image

Laboratorium Technik Obrazowania Medycznego 

 

Ć

wiczenie 2: „Wprowadzenie do obsługi i programowania w systemie KS Run” 

 

 

Cel ćwiczenia: 
Celem ćwiczenia jest zapoznanie się ćwiczących z podstawami programowania w KS Run. W ramach ćwiczenia 
należy  uruchomić  dwa  przykładowe,  dołączone  do  niniejszej  instrukcji  (MACRO_01.MCR  oraz 
MACRO_02.MCR),  makroprogramy   i przeanalizować działanie poszczególnych  funkcji  makroprogramów. W 
uruchamianych  makrach  należy  wpisać  komentarze  wyjaśniające  działanie  programu    (komentarz  to  tekst 
poprzedzony znakiem #). 
  
 
Sprawozdanie z ćwiczenia: 
 

winno zawierać wydruki zrealizowanych makr wraz z komentarzami 

 
 

Program ćwiczenia: 
 
Uwaga: Program ćwiczenia realizować w kolejności  podanych poniżej punktów ! 
 
1.  Uruchomić system KS Run przez kliknięcie na pulpicie ikonki „KSRUN”. 
 
2.  Sprawdzić, czy w dolnym prawym rogu pulpitu pojawi się główne okienko systemu w postaci: 
 

 

 

Standardowego położenia tego okienka oraz okienek pomocniczych (Gallery, Display, Messages) nie należy 
zmieniać. Sprawdzić, czy wciśnięto (przez kliknięcie) odpowiednie ikonki (1, 2 , 3 oraz 5 licząc od lewej). 

 
3.  Przyciski  1-12  uruchamiają  programy  (makra)    MACRO_01.MCR  do  MACRO_12.MCR  stworzone  przez 

ć

wiczących  jako  pliki  tekstowe  (bez  znaków  specjalnych  typu  znaki  narodowe,  tabulacje,  itp.).  Do 

tworzenia plików makr zaleca się stosować standardowy edytor tekstowy „Notatnik” („Notepad”) systemu 
MS Windows (2000, XP, Vista, 7). 

 
4.  Pliki makr (MACRO_01.MCR do MACRO_12.MCR – uwaga nazwy pisane dużymi literami!) muszą przed 

uruchomieniem  być  zamknięte  i  skopiowane  do  kartoteki  C:\KSRUN\Conf\Macros  –  inaczej  nie  będą 
dostępne dla systemu KSRun. 

 
5.  Pełna dokumentacja systemu KS Run wraz z listą dostępnych standardowych funkcji zawarta jest w plikach: 

 

KS400 User Manual Volume 1.pdf 
KS400 User Manual Volume 2.pdf 
KS Run User Manual .pdf 
 

6.  Oczekuje  się,  że  przed  przystąpieniem  do  realizacji  ćwiczenia,  ćwiczący  zaznajomią  się  wcześniej  we 

własnym  zakresie  ze  strukturą  dokumentacji  KS400  User  Manual  Volume  1  oraz  2  oraz  z  treścią 
dokumentacji KS Run User Manual  i treścią  rozdziału 3.14 (Interpreter) podręcznika KS400 User Manual 
Volume  1.  Wszystkie  te  pliki  są  udostępnione  na  Platformie  Zdalnej  Edukacji    lub/i  na  CD  (do 
wypożyczenia u prowadzącego ćwiczenie). 

background image

 
 
7.  Uruchomić i przetestować makro 1 (MACRO_01.MCR)  (ocena 2.5). 
 
8.  Uruchomić i przetestować makro 2 (MACRO_02.MCR)  (ocena 3.0). 
 
9.  Zmodyfikować  makro 2 tak,  aby długości ramion  krzyżyków oznaczających  miejsca kliknięć  wynosiły 15 

(ocena 3.5). 

 
10.  Zmodyfikować  makro  2  tak,  aby  na  początku  programu  ćwiczący  mógł  wybierać  kolor  prostokąta 

określającego wybrany obszar (ocena 4.0). 

 
 
11.  Zmodyfikować  makro  2,  tak  aby  w  oknie  ‘Messages’  podawać  udział  procentowy  wybranego  obszaru 

obrazu (stosunek powierzchni wybranego obszaru do powierzchni całego obrazu) (ocena 4.5). 

 
12.  zmodyfikować  makro  2,  tak  aby  wybrany  obszar  był  wyświetlany  na  obrazie  oryginalnym  w  postaci 

negatywu (ocena 5.0). 

 
13.  Treści makr zamieszczono poniżej.  

background image

14.  Plik makroprogramu MACRO_01.MCR 
 

MBok "Techniki Obrazowania Medycznego\n\n

Ć

wiczenie 2 cz

ęść

 1" 

MBok "Przykładowa procedura KSRun" 
showwindow "Messages",1 
showwindow "Display",1 
showwindow "Gallery",1 
write "@" 
write 

"Makro 

wy

ś

wietla 

wybrany 

przez 

U

Ŝ

ytkownika 

obraz 

trybie 

interaktywnym" 
imgdelete "*" 
Gclear 0 
imgsetpath "C:/KSRUN/CONF/IMAGES" 
MBok "Wybierz obraz do załadowania" 
!imgload "SAND.TIF",1 
imgdisplay 1 
update 
SizeX:=SizeY:=SizeZ:=0 
Type:="UNDEF" 
imgstatus 1,SizeX,SizeY,SizeZ,Type 
write 
write "Załadowany obraz ma rozmiary:" 
write SizeX," x ",SizeY 
write "Liczba warstw obrazu = ",SizeZ 
if Type=="GREY" 
   write "Jest to obraz typu B/W" 
   else 
   if Type=="COLOR" 
      write "Jest to obraz typu RGB" 
   else 
      write "Nieznany typ obrazu" 
   endif 
endif 
stop 

background image

Plik makroprogramu MACRO_02.MCR 

 
MBok "Techniki Obrazowania Medycznego\n\n

Ć

wiczenie 2 cz

ęść

 2" 

MBok "Wyznaczanie histogramu wskazanego obszaru obrazu" 
showwindow "Messages",1 
showwindow "Display",1 
showwindow "Gallery",1 
showwindow "Graphic",1 
write "@" 
imgdelete "*" 
Gclear 0 
imgsetpath "C:/KSRUN/CONF/IMAGES" 
MBok "Wybierz obraz do załadowania" 
!imgload "SAND.TIF",1 
imgdisplay 1 
update 
Px:=Py:=Kx:=Ky:=0 
dlx:=dly:=0 
while 1 
   while 1 
      Gclear 0 
      MBok "Kliknij myszk

ą

 lewy górny naro

Ŝ

nik obszaru" 

      !Gpixel Px,Py,0 
      write "Współrz

ę

dne lewego górnego naro

Ŝ

nika: (",Px,",",Py,")" 

      Gclear 0 
      Gvector Px-9,Py,Px+9,Py,14 
      Gvector Px-9,Py+1,Px+9,Py+1,14 
      Gvector Px,Py-9,Px,Py+9,14 
      Gvector Px+1,Py-9,Px+1,Py+9,14 
      MBok "Kliknij myszk

ą

 prawy dolny naro

Ŝ

nik obszaru" 

      !Gpixel Kx,Ky,0 
      write "Współrz

ę

dne prawego dolnego naro

Ŝ

nika: (",Kx,",",Ky,")" 

      Gvector Kx-9,Ky,Kx+9,Ky,14 
      Gvector Kx-9,Ky+1,Kx+9,Ky+1,14 
      Gvector Kx,Ky-9,Kx,Ky+9,14 
      Gvector Kx+1,Ky-9,Kx+1,Ky+9,14 
      dlx = Kx-Px 
      dly = Ky-Py 
      if ((dlx > 0) && (dly >0)) : break 
      MBok "Wprowadzono niepoprawne dane" 
   endwhile 
   Gclear 0  
   Grectg Px,Py,dlx,dly,11,2 
   MByesno "Czy chcesz zmieni

ć

 wybrany obszar obrazu" 

   if _STATUS==0 : break 
endwhile 
 
SizeX:=SizeY:=SizeZ:=0 
Type:="UNDEF" 
imgstatus 1,SizeX,SizeY,SizeZ,Type 
imgnew 2,dlx,dly,1,Type 
imgdisplay 2 
update 
wincopy 1,2,Px,Py,dlx,dly,0,0 
imgdisplay 1 
Grectg Px,Py,dlx,dly,11,2 
imghisto 2,0,0,262144.000000,"Histogram wybranego fragmentu obrazu" 
MBok "Je

ś

li histogram si

ę

 nie wy

ś

wietli, kliknij przycisk 'Image Histogram' 

na pasku programów" 
MBok "Koniec przebiegu programu" 
stop