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

Computing for Imaging Science (SIMG-726)

Dec 31, 2015

Download

Documents

galvin-montoya

Computing for Imaging Science (SIMG-726). Introduction. Course Information Course Objective Prerequisites/Expectations Course Grading Course Text Computing Resources. Course Information. Course Title Computing for Imaging Science Course Number SIMG 726 or 10-51-726-01 Meeting Times - PowerPoint PPT Presentation
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)

Computing for Imaging Science (SIMG-726)

Page 2: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 Rolando V. Raqueño

33

Course Information

• Course Title– Computing for Imaging Science

• Course Number– SIMG 726 or 10-51-726-01

• Meeting Times– Monday and Wednesdays 10:00-11:50 PM

• Meeting Locations– Mondays (76-2155), Wednesdays (76-2155)

Page 4: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 Rolando V. Raqueño

44

Contact Information

• Instructor– Rolando Raqueño

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

• Office Hours– Monday and Wednesdays

• 2:00-2:50 PM • Other times by appointment

Page 5: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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– Documentation Tools (LaTeX)

Page 7: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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

Page 14: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 Rolando V. Raqueño

1515

Documentation, Documentation

• This course will...– Teach you about documentation in the form of source

code control.

RCS or SCCS

under CVS• Inherently lacking in other operating systems (OS)

Page 16: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 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

Page 17: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 Rolando V. Raqueño

2020

Course Grading

• Final IDL GUI Project 40%– Presentation and Report

• Mid-term Exam 30%

• Programming Assignment(s) 20%– Will be questions in Mid-term

• Quizzes (every week) 10%

Page 21: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 Rolando V. Raqueño

2121

Course Text• Liam Gumley’s Practical IDL Programming

(Required)• Unix Power Tools (Required)• Research Systems Incorporated (RSI)

– Online Manuals• Using IDL• Building IDL Applications• Reference Manuals

• Cliff Stoll’s The Cuckoo’s Egg – (Holiday Required Reading)

Page 22: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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/20012

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

– Send me mail and I will reply with the location of this year’s site.

Page 24: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 Rolando V. Raqueño

2424

Computing Resources

• RIT’s ISC– Provides general computing resources to

the RIT community (e.g. internet connectivity, LIMITED dial in line services)

• CIS computing facilities– Imaging specific capabilities (IDL, etc.)– Undergraduate and Graduate DIP Lab– The “DEAL” with RSI

Page 25: Computing for Imaging Science (SIMG-726)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 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)

Wednesday, April 19, 2023 Rolando V. Raqueño

3131

Summary

• Course Information and Objectives

• Prerequisites/Expectations and Experience

• Course Grading

• Course Text and Resources

• Syllabus until Break