Khoros Lab for TEMPUS CIDEC Image Processing Course

Quick Course Overview

Contents

  1. Introduction
  2. What you need to get started...
  3. Introduction to Khoros
  4. Signal processing
  5. Enhancement
  6. Colour
  7. Edge detection
  8. Morphology
  9. Image restoration
  10. Segmentation
  11. Additional material
  12. Project (for marks!)

Introduction

  1. Authors
  2. Acknowledgements
  3. Course objectives
  4. Bibliography

What you need to get started...

...running Netscape, Khoros, DIPcourse KhorosWare, etc., etc.
  1. a file .khoros_env in your own HOME directory which looks like the following
    #   ------------------------------------------------------------
    #   This file should be sourced (source .khoros_env) or included
    #   in your .login or .cshrc.
    #   ------------------------------------------------------------
    #
    # This file contains default values for environment
    # variables used by KHOROS.
    #
    #
    set path = ($path /home/khoros2/khoros2/bin)
    
    setenv KHOROS_TOOLBOX           $HOME/.Toolboxes:/home/khoros2/khoros2/Toolboxes
    setenv KHOROS_LOG               $HOME/khoros.cmdlog
    setenv KHOROS_MAIL              $USER
    setenv KHOROS_NAME              $USER
    setenv KHOROS_NOTIFY            STANDARD
    setenv KHOROS_ANSFILE           $HOME/khoros.ans
    setenv TMPDIR                   /usr/tmp
    
    # 
    #   Uncomment this if you would like data objects to accumulate 
    #   history when operated on by datamanip operators.
    #
    #setenv KHOROS_HISTORY           
    
    
    # the following is needed for the Digital Image Processing (DIP) course
    
    setenv DIP html
    
    this file should be sourced automatically from your .login, .tcshrc, or .cshrc file upon login

  2. a couple of environment variables (which ought to have already been defined). But just in case, check them with, e.g.,
    echo $DIP
    
    1. an environment variable DIP
      setenv DIP html
      
    2. an environment variable LD_LIBRARY_PATH
      setenv LD_LIBRARY_PATH /usr/lib:/usr/openwin/lib:/home/khoros2/khoros2/lib
      
    3. the following in your PATH
      /home/khoros2/khoros2/bin
      

  3. lots of patience and good humour - Khoros generally works well, but it is not (yet) commercial software!

  4. to start Netscape, use the command
    netscape -install &
    
    so that its colour table doesn't steal colours from other applications

  5. for Netscape, you need the following two files in your HOME directory
    1. a file .mime.types containing
      #
      #       .mime.types file for DIP course
      #
      application/animate             viffa
      application/cantata             wk
      application/editimage           viffe
      application/editcmap            viffc
      application/putimage            viffp viff
      application/putplot2            viff2
      application/putplot3            viff3
      application/xprism              viffx
      application/puticon             viffic 
      application/putpalette          viffpa 
      application/putanimate          viffpan
      application/preview             pane form
      
    2. a file .mailcap containing
      #
      #       .mailcap file for DIP course
      #
      application/animate; animate -i %s
      #application/cantata; runwksp -wksp %s
      application/cantata; cantata -wksp %s
      application/editimage; editimage -i %s
      application/editcmap; edicmap -i %s
      application/putimage; putimage -i %s
      application/putplot2; putplot2 -i %s 
      application/putplot3; putplot3 -i %s 
      application/xprism; xprism -i1 %s 
      application/preview; preview -i %s
      application/puticon; puticon -i %s
      application/putpalette; putpalette -i %s
      application/putanimate; putanimate -i %s
      
  6. more patience and good humour - Netscape generally works well, but behaves strangely on occasion (not to say downright flakey)!


Introduction to Khoros


1- and 2-D signal processing

Enhancement

Colour

Edge detection

Morphology

Image restorationMorphology

Segmentation


Additional material

Have a look at the DIP list of experiments for some additional material (but which also includes the above laboratory sessions).

Project

Organization

Subjects
  1. Describe the image $DIP/data/cathedral.viff . Is it a "good" image? Why? Why not? Think about the spatial domain (image intensities) and the frequency domain. Make the image "better". Explain what you did and why.
  2. Describe the image $DIP/data/finger-print.viff , paying attention to the same aspects as above. "Improve" the image so that whatever "is more important" in the image is made more evident. Explain what you did and why.
  3. Create one image consisting of a white rectangle on a black background. Run "edge detectors" of various sizes on the image (remember that the partial derivative in the X-direction of a gaussian computes gradients in the same direction). Pay v ery close attention to what happens in a corner of the rectangle at different sizes. Describe and explain what happens, and what effect this might have on a "corner detector". Create a binary edge-image from the gradient image (use Edit Image to interactively choose the appropriate threshold, and one of the many thresholding routines to apply it to the image). Repeat the "edge detection" process after adding Gaussian noise to the image, and threshold the result to produce the binary edge- image. Explain what effect noise has on the edge detection process.

Miscellaneous
  • Note that the morphological routines are in the MMACH toolbox. Some structure elemensts are found under Tools. To create your own structure elements, you will need to make an Ascii file with a text editor (look at the Help buttons of the morphological routines for some ideas - very useful!), then use the routines Ascii to Value and then Viff->Str.El. More detailed information on the MMACH toolbox is available.

...and for what it's worth: Peter Sander 1994-9X (except stuff belonging to others of course)
sander@essi.fr
http://www.essi.fr/~sander