introduction-syllabus

Document Sample
introduction-syllabus Powered By Docstoc
					Computing for Imaging
 Science (SIMG-726)
                      Introduction
•    Course Information
•    Course Objective
•    Prerequisites/Expectations
•    Course Grading
•    Course Text
•    Computing Resources

Winter Quarter 2003      Rolando V. Raqueño
                                              2
                      Course Information
• Course Title
      – Computing for Imaging Science
• Course Number
      – SIMG 726 or 10-51-726-01
• Meeting Times
      – Tuesdays and Thursdays 10:00-11:50 PM
• Meeting Locations
      – 76-2155

Winter Quarter 2003         Rolando V. Raqueño
                                                 3
                      Contact Information
• Instructor
      – Rolando Raqueño
             • E-mail (rolo@cis.rit.edu)
             • Phone (475-6907)
             • Office (76-3108)
• Office Hours
      – Tuesdays and Thursdays
             • 4:00-5:30 PM
             • Other times by appointment

Winter Quarter 2003           Rolando V. Raqueño
                                                   4
                      Course Objective
• Basic proficiency in UNIX operating
  system for problem solving in imaging
• Learning elementary programming
  constructs in IDL and refinement of
  programming skills
• Useful data manipulation techniques
• Establish software development,
  validation, and documentation practices
Winter Quarter 2003        Rolando V. Raqueño
                                                5
                      UNIX Proficiency
• Basic UNIX Environment Proficiency
      – X-Windowing Environment (networked)
      – The universally available editor “vi”
      – Navigation and File Manipulation
      – Understanding Basic Computing Data
        Type and Hardware differences (images)
      – Documentation Tools (LaTeX)

Winter Quarter 2003        Rolando V. Raqueño
                                                 6
                      Why UNIX?
• Why the UNIX Environment?
      – Very mature technology
      – Maintains a large base of high quality
        “copy-left” programs
      – LINUX is “free” and can run on a 386 PC
      – Remote computing is a natural part of
        UNIX
      – Very close control of the computer
      – Minimalist approach to computing
Winter Quarter 2003     Rolando V. Raqueño
                                                  7
        Shortcuts and Timesavers
• Learn shortcuts and time savers when solving
  programming related problems (when not to
  do traditional program)
      –    a.k.a “Stupid UNIX Tricks”
      –    Shell Scripts
      –    AWK & SED
      –    Makefiles
• Computing applications in an imaging context

Winter Quarter 2003         Rolando V. Raqueño
                                                 8
                 Compiling Traditional
                  Programs in UNIX
• Legacy FORTRAN and C code requires
  some knowledge of how to compile
  these programs
• Tools to aid in compiling (makefiles)
• Common pitfalls
• Setup tips for input and output data files


Winter Quarter 2003     Rolando V. Raqueño
                                             9
                      Imaging Concepts
• Application in an imaging context
      – Bi-level
      – Monochrome
      – Color
      – Multispectral
      – Hyperspectral



Winter Quarter 2003        Rolando V. Raqueño
                                                10
                      IDL Environment
• IDL Basics,Syntax, and Semantics
      – Your responsibility to get started
• IDL Graphical User Interface (GUI)
  development
      – Enable batch processing
• How IDL interacts with the UNIX
  environment.

Winter Quarter 2003        Rolando V. Raqueño
                                                11
                This Course is/(is not)
  • This course is not...
         – an algorithm course in image processing or
           computational theory
         – a programming course in C/C++
  • This course will...
         – give you a means to prototype and test image
           processing algorithms
         – provide a foundation for prototyping algorithms
           that can be translated into traditional programming
           languages


Winter Quarter 2003         Rolando V. Raqueño
                                                          12
                       This course is not…
• This course is not...
     – Designed to make you a software engineer
• This course will...
     – Give you the skills to communicate with software
       engineers about your algorithm, expected inputs, and
       expected output
     – Provide give them necessary concepts, specifications
       and test cases, i.e.,

            The working prototype
             and documentation
 Winter Quarter 2003          Rolando V. Raqueño
                                                      13
                      LaTeX
• Course will introduce fundamental
  LaTeX concepts
• Help with documentation
• Help with your thesis/dissertation




Winter Quarter 2003   Rolando V. Raqueño
                                           14
                       Documentation,
                       Documentation
  • This course will...
         – Teach you about documentation in the
           form of source code control.


                      RCS or SCCS
  • Inherently lacking in other operating
    systems (OS)

Winter Quarter 2003        Rolando V. Raqueño
                                                  15
          Prerequisites/Expectations
• Experience in a high level programming language
  (e.g. C, FORTRAN, BASIC, PASCAL, ADA, etc.) in
  the last 20+ years.
• Ability to make lots of mistakes (and remember them)
• Ability to deal with frustration, and know when to quit
• Good Typing Skills a plus
• Good Technical Writing Skills
• Be able to generate a User’s Guide with step-by-step
  detail

   Winter Quarter 2003   Rolando V. Raqueño
                                                  16
 Milestones in the Progression of
    Programming Experience
• Programming in traditional languages
   – Beginning (Monolithic programs)
          • single letter variables
          • Loops and maybe an occasional GOTO
   – Intermediate ( Use of subroutines and functions)
          • Favor Local variables rather than Global Variables
          • Understand parameter passing schemes
   – Advanced (Structures and abstract data types)
          • More meaningful variable names



 Winter Quarter 2003            Rolando V. Raqueño
                                                                 17
  Milestones in the Progression
  of Programming Experience
• Programming in traditional languages
   – Learning that hand-optimizing code at the
     development is simply not worth the time
   – Learning to separate the algorithm from the
     bells and whistles (i.e., input and output code)
   – Creating a library of “tools”
   – Use of revision control utilities along with
     README’s and formal documentation.
 Winter Quarter 2003   Rolando V. Raqueño
                                                 18
 Milestones in the Progression
 of Programming Experience
• Programming in non-traditional languages
     – Thinking about the problems in terms of
       matrix and vector operations
     – Avoiding loops and conditionals
     – Thinking about the “Non-expert” by designing
       the Graphical User Interface (GUI)
     – *Realizing that there is no single software tool
       that solves everything.
Winter Quarter 2003    Rolando V. Raqueño
                                                  19
                      Course Grading
• Final IDL GUI Project                              40%
      – Presentation and Report
• Mid-term Exam                                      30%
• Programming Assignment(s)                          20%
      – Will ultimately be questions in Mid-term
• Quizzes (every week)                         10%


Winter Quarter 2003       Rolando V. Raqueño
                                                       20
                      Course Text
• Liam Gumley’s Practical IDL Programming
      – Required
• Unix Power Tools
      – Required
• Cliff Stoll’s The Cuckoo’s Egg
      – Holiday Required Reading
• Learning LaTeX
      – Optional
• Research Systems Incorporated (RSI)
      – Online Manuals

Winter Quarter 2003      Rolando V. Raqueño
                                              21
                      Other References
• Text
      – Learning the UNIX Operating System
      – UNIX Power Tools
• On-line
      – News groups
             • comp.lang.idl-pvwave
      – Web sites
             • www.rsinc.com
             • www.ctan.org (LaTeX references)

Winter Quarter 2003            Rolando V. Raqueño
                                                    22
                      Other References
• Notes
      – These Powerpoint slides will be available on-line
        for your reference.
      – These Notes will be available the Monday each
        week.
      – If not, old notes will be available
             • http://www.cis.rit.edu/~rvrpci/teaching/si
               mg726/20022
      – DL class
             • http://www.cis.rit.edu/class/simg726

Winter Quarter 2003        Rolando V. Raqueño
                                                        23
               Computing Resources
• RIT’s ISC
      – Provides general computing resources to
        the RIT community
• CIS computing facilities
      – Imaging specific capabilities
             • (IDL, ENVI, etc.)
      – Undergraduate and Graduate DIP Lab
      – The “DEAL” with RSI
Winter Quarter 2003           Rolando V. Raqueño
                                                   24
    Syllabus until Holiday Break
• Class #0 - Today
      – This Lecture
      – VNC
• Assignment #1
      – Get your account setup
      – Send e-mail to rolo@cis.rit.edu with personal info
        (Name, Address, Phone Number,
        Undergraduate/Graduate Majors, Computer
        Experience)
      – Go over the on-line tutorial vitutor (CIS)
             % ~rvrpci/pub/vitutor/vitutor
      – Get VNC installed on your home computer
Winter Quarter 2003           Rolando V. Raqueño
                                                        25
                            Syllabus
• Class #1 - December 1
      – Tour of UNIX, X-Windows
      – Introduction vi
      – Getting started and Tour of IDL
             • Working with Data
             • Plotting
             • Hardcopy output from IDL
• Project Assignment #1 (Due a week after we
  return)
      – Implementing Statistics Functions in IDL
      – Documentation in LaTeX

Winter Quarter 2003            Rolando V. Raqueño
                                                    26
                       Syllabus
• Class #2
      – Number Systems in Computers
      – Fundamentals of IDL Programming
      – Final Project Topics
      – Intro to LaTeX
• QUIZ #1
      – Topics
             • man, ls, cp, mv, pwd

Winter Quarter 2003      Rolando V. Raqueño
                                              27
                      Syllabus
• Class #3
      – The PBMPLUS Utilities
      – IDL and PBMPLUS
      – Basic IDL Image Manipulations
      – Intro to BibTex




Winter Quarter 2003    Rolando V. Raqueño
                                            28
                           Syllabus
• Class #4
      – Reading/Writing Data in IDL
      – Image Formats
      – Final Project Examples
• Quiz #2
      – Topics
             • finger, grep, jobs, mkdir, ci, co


Winter Quarter 2003            Rolando V. Raqueño
                                                    29
                      Syllabus
• Class #5
      – IDL debugging & GUI Introduction
• Break Assignments
      – Read the Cuckoo’s Egg (Quiz Material)
      – Mockup Drawing of GUI Final Project




Winter Quarter 2003    Rolando V. Raqueño
                                                30
                      Summary
• Course Information and Objectives
• Prerequisites/Expectations and
  Experience
• Course Grading
• Course Text and Resources
• Syllabus until Break

Winter Quarter 2003    Rolando V. Raqueño
                                            31
Things to do before next class
• Send rolo@cis.rit.edu e-mail about
  yourself
• Visit wiki.cis.rit.edu for general CIS
  computer system information
• Register yourself into the CIS wiki
      – http://wiki.cis.rit.edu/bin/view/TWiki/TWikiR
        egistration

Winter Quarter 2003     Rolando V. Raqueño
                                                   32
  More things to do before next
             class
• Experiment with VNC
• Go over the on-line tutorial vitutor (CIS)
      % ~rvrpci/pub/vitutor/vitutor
• Print out the following documents for
  your reference
      – http://www.cis.rit.edu/~rvrpci/teaching/LaTe
        X/lshort.pdf
      – http://www.rpi.edu/campus/doc/acs.memos/rpi1
        09.pdf
Winter Quarter 2003    Rolando V. Raqueño
                                                  33

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:8
posted:10/27/2011
language:English
pages:33