Top Banner
Computing for Imaging Science (SIMG-726)
33

Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Jan 12, 2016

Download

Documents

Kevin Hall
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Computing for Imaging Science (SIMG-726)

Page 2: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

22

Introduction

• Course Information

• Course Objective

• Prerequisites/Expectations

• Course Grading

• Course Text

• Computing Resources

Page 3: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

33

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

Page 4: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

44

Contact Information

• Instructor– Rolando Raqueño

• E-mail ([email protected])• Phone (475-6907)• Office (76-3108)

• Office Hours– Tuesdays and Thursdays

• 4:00-5:30 PM • Other times by appointment

Page 5: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

55

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

Page 6: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

66

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)

Page 7: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

77

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

Page 8: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

88

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

Page 9: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

99

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

Page 10: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1010

Imaging Concepts

• Application in an imaging context– Bi-level– Monochrome– Color– Multispectral– Hyperspectral

Page 11: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1111

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.

Page 12: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1212

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

Page 13: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1313

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

Page 14: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1414

LaTeX

• Course will introduce fundamental LaTeX concepts

• Help with documentation

• Help with your thesis/dissertation

Page 15: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1515

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)

Page 16: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1616

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

Page 17: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1717

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

Page 18: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1818

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.

Page 19: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

1919

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.

Page 20: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2020

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%

Page 21: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2121

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

Page 22: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2222

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)

Page 23: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2323

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/simg726/20022

– DL class• http://www.cis.rit.edu/class/simg726

Page 24: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2424

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

Page 25: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2525

Syllabus until Holiday Break• Class #0 - Today

– This Lecture– VNC

• Assignment #1– Get your account setup– Send e-mail to [email protected] 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

Page 26: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2626

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

Page 27: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2727

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

Page 28: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2828

Syllabus

• Class #3 – The PBMPLUS Utilities– IDL and PBMPLUS– Basic IDL Image Manipulations– Intro to BibTex

Page 29: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

2929

Syllabus

• Class #4– Reading/Writing Data in IDL– Image Formats– Final Project Examples

• Quiz #2– Topics

• finger, grep, jobs, mkdir, ci, co

Page 30: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

3030

Syllabus• Class #5

– IDL debugging & GUI Introduction

• Break Assignments– Read the Cuckoo’s Egg (Quiz Material)– Mockup Drawing of GUI Final Project

Page 31: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

3131

Summary

• Course Information and Objectives

• Prerequisites/Expectations and Experience

• Course Grading

• Course Text and Resources

• Syllabus until Break

Page 32: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

3232

Things to do before next class

• Send [email protected] 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/

TWikiRegistration

Page 33: Computing for Imaging Science (SIMG-726). Winter Quarter 2003Rolando V. Raqueño 2 Introduction Course Information Course Objective Prerequisites/Expectations.

Winter Quarter 2003 Rolando V. Raqueño

3333

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/LaTeX/lshort.pdf

– http://www.rpi.edu/campus/doc/acs.memos/rpi109.pdf