Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rolando V. RaqueñoThursday, June 18, 2015 1 Getting Started SIMG 726.

Similar presentations


Presentation on theme: "Rolando V. RaqueñoThursday, June 18, 2015 1 Getting Started SIMG 726."— Presentation transcript:

1 Rolando V. RaqueñoThursday, June 18, 2015 1 Getting Started SIMG 726

2 Rolando V. RaqueñoThursday, June 18, 2015 2 Location of Class Notes http://www.cis.rit.edu/~rvrpc i/teaching/simg726/20022 –Arranged by Class Number –Watch out for Posted Messages –Link to e-mail Previous year’s notes –http://www.cis.rit.edu/~rvrpci/t eaching/simg726/20012

3 Rolando V. RaqueñoThursday, June 18, 2015 3 Reading On-Line Tour of IDL UNIX Reading Assignment Guide IDL Reading Assignment Guide

4 Rolando V. RaqueñoThursday, June 18, 2015 4 Objective Quiz #1 Topics Define Homework/Project #1 Brief Introduction to UNIX IDL demo More Final Project Details

5 Rolando V. RaqueñoThursday, June 18, 2015 5 Quiz #1 Topics for December 6 man ls cp mv pwd

6 Rolando V. RaqueñoThursday, June 18, 2015 6 Homework/Project #1 - Part 1 Part 1 –Copy the file.plan.blank from ~rvrpci to your home directory –Modify it to reflect your schedule –Rename the file to.plan –Change the permissions of the file to have it accessible by others (test-ask your neighbor to check to see if they can access the file through the finger command)

7 Rolando V. RaqueñoThursday, June 18, 2015 7 Purpose of Part 1 Exercises UNIX file navigation skills –copying, renaming, changing directories –handling being aware of hidden files Exercising vi skills Working with concept of file permissions and protections

8 Rolando V. RaqueñoThursday, June 18, 2015 8 Homework/Project #1 - Part 2 Part 2 –Write the following IDL functions that will compute the following statistics for any dimension array(s) Minimum Maximum Sum Mean Sum_Squares Variance Standard_Deviation

9 Rolando V. RaqueñoThursday, June 18, 2015 9 Purpose of Part 2 Getting acquainted with the IDL array characteristics. –Function utilities to extract array properties Mechanics of IDL “compilation” Opportunity for Modular design of routines –Reduce, Reuse, Recycle –Debugging LaTeX documentation exercise

10 Rolando V. RaqueñoThursday, June 18, 2015 10 Homework/Project #1 - Part 2 Test for the ambitious - Read in a PBMPLUS formatted image to test your statistics routine

11 Rolando V. RaqueñoThursday, June 18, 2015 11 Homework/Project #1 Guidelines Due Before Break Please follow the program submission guidelines (should be in LaTeX) Hardcopy submission (for marking up)

12 Rolando V. RaqueñoThursday, June 18, 2015 12 Brief Introduction to UNIX

13 Rolando V. RaqueñoThursday, June 18, 2015 13 UNIX History Approaching 30 years of development and user use/abuse –BSD Flavor –System V Flavor –Other Flavors - LINUX Originally developed by programmers for programmers Way too many commands to cover

14 Rolando V. RaqueñoThursday, June 18, 2015 14 Before we start % source ~rvrpci/.simg726.rc

15 Rolando V. RaqueñoThursday, June 18, 2015 15 The “Original” UNIX Desktop $

16 Rolando V. RaqueñoThursday, June 18, 2015 16 The “New and Improved” UNIX Desktop %

17 Rolando V. RaqueñoThursday, June 18, 2015 17 These represent UNIX Shells % prompt indicates The C-shell (csh) $ prompt indicates The Bourne-shell (sh)

18 Rolando V. RaqueñoThursday, June 18, 2015 18 Other UNIX Shells bash -“Bourne again” shell –Distributed with LINUX tcsh - C-shell variant –Allows the use of up-arrow keys ksh - Korn shell

19 Rolando V. RaqueñoThursday, June 18, 2015 19 UNIX Shell Prompt % prompt indicates C-shell $ prompt indicates Bourne-shell

20 Rolando V. RaqueñoThursday, June 18, 2015 20 What is a shell? Captures commands and schedules it for execution. Several shells running at a time –each shell is its own environment –each window is its own shell Shells in UNIX are created through a process called “spawning”

21 Rolando V. RaqueñoThursday, June 18, 2015 21 % xterm example % Under the X windowing environment –Repeatedly start several windows by giving the xterm command. % xterm &

22 Rolando V. RaqueñoThursday, June 18, 2015 22 UNIX Command Form % command [options] arg2 arg3... argn Very Important Concept –The command can be a compiled program (FORTRAN, C/C++) a file containing other UNIX commands (also called a shell script) –e.g. commands to run IDL UNIX makes no distinction between the two

23 Rolando V. RaqueñoThursday, June 18, 2015 23 % Most Important UNIX Command % % man Usage: man [-] [-M | -P pathname] [-t] [section] title... man [-] [-M | -P pathname] [-t] [section title...]... man [-M | -P pathname] -f title... man [-M | -P pathname] -k keyword... A Usage: message typically indicates that not enough arguments were given to a command or incorrect options

24 Rolando V. RaqueñoThursday, June 18, 2015 24 % Most Important UNIX Command % To correct the command we can type % man manman(1) NAME man - Displays reference pages SYNOPSIS man [-] [-M | -P pathname] [-t] [ section[suffix] ] title... man [-] [-M | -P pathname] [-t] [ section[suffix] title...]... man [-M | -P pathname] pathname] -f title... man [-M | -P pathname] -k keyword....

25 Rolando V. RaqueñoThursday, June 18, 2015 25 % Other UNIX Commands % You know the name of the command, but you need a reminder of what it does. % whatis man man (1) - Displays reference pages man, man.page (5) - The man macro packages for reference pages

26 Rolando V. RaqueñoThursday, June 18, 2015 26 % Other UNIX Commands % You know a keyword about a command, but don’t remember the command itself % apropos printer

27 Rolando V. RaqueñoThursday, June 18, 2015 27 Keyboard Control Characters ^[ - ESC key equivalent ^C - stops a currently running process (totally abort) ^Z - suspends a running process (can be restarted) ^U - erases a complete line being typed ^S - stops output to the screen ^Q - resumes output to the screen ^D - signals an interactive end-of-file condition(EOF)

28 Rolando V. RaqueñoThursday, June 18, 2015 28 Most Common Keyboard Problem Problem: You press the “backspace key” to erase a character, but instead you get ^H whenever you press it. Solution: % stty erase ^H

29 Rolando V. RaqueñoThursday, June 18, 2015 29 Most Common Keyboard Problem Problem: You press the “delete key” to erase a character, but instead you get ^? whenever you press it. Solution: % stty erase ^?

30 Rolando V. RaqueñoThursday, June 18, 2015 30 % UNIX Commands To Try % % whoami #This will print out your username. % hostname #This will print out computer name. % finger #This will print out current users % date #Gives current system time and date

31 Rolando V. RaqueñoThursday, June 18, 2015 31 Sample UNIX Directory Tree Structure

32 Rolando V. RaqueñoThursday, June 18, 2015 32 Where am I? (Two Types of Pathnames) Absolute Path (always starts with a / ) /usr/local/bin/ls /cis/students/neg3153/.login Relative Path (does not start with a / ) pub./pub../testing ~neg3153/.login

33 Rolando V. RaqueñoThursday, June 18, 2015 33 % Fundamental UNIX Commands % List files in the current directory. % ls List files in the rvrpci’s home directory. % ls /cis/staff/rvrpci % ls ~rvrpci List files in the YOUR home directory. % ls ~ Lists all files including hidden files in current directory % ls -a

34 Rolando V. RaqueñoThursday, June 18, 2015 34 % What “Else” UNIX Can Do (How do you spell releif?) % % look rel % look re % look re | more % look re | wc

35 Rolando V. RaqueñoThursday, June 18, 2015 35 % “Excuse me, Do you sell beer in the special hogshead size” % % units #Unit Conversion Program #Try miles to feet #Try furlong to yards #Try barrel to hogshead #Try dollar to yen (unreliable) # hectopascals vs. millibars # km vs. astronomicalunits #Type ^D to get out

36 Rolando V. RaqueñoThursday, June 18, 2015 36 % #%?!, I forgot my calculator! % % bc -l 2+2 10*20 3^100 sqrt(625) p=3.1415926535 c(p/2) s(p/2) for( f=-10.0; f<=10.0; f+=0.1 ) {f; s(f)} (type quit to get out)

37 Rolando V. RaqueñoThursday, June 18, 2015 37 % UNIX is Y2K Compliant % % cal % cal 2000

38 Rolando V. RaqueñoThursday, June 18, 2015 38 Metacharacters, Schmetacharacters In UNIX there are several characters that are not interpreted literally but contain some special meaning. These are called metacharacters. Examples |<>*&\()!

39 Rolando V. RaqueñoThursday, June 18, 2015 39 UNIX Plumbing facilities ( Piping and Input/Output File Redirection) Output File Redirection % command1 > output_file Input File Redirection % command2 < input_file Piping % command1 | command2

40 Rolando V. RaqueñoThursday, June 18, 2015 40 % Piping and Redirection Examples % % echo 2+2 % echo 2+2 > input.dat % bc -l < input.dat

41 Rolando V. RaqueñoThursday, June 18, 2015 41 % Piping and Redirection Examples % % echo 2+2 | bc -l % echo 2+2 | bc -l > output.dat % echo 2+2 | tee input.dat | bc -l > output.dat

42 Rolando V. RaqueñoThursday, June 18, 2015 42 % Line Continuation Metacharacter % In the previous command % echo 2+2 | tee input.dat | bc -l > output.dat Should technically be the following % echo 2+2 | tee input.dat | \ bc -l > output.dat Where the character “\” indicates the continuation of a command line

43 Rolando V. RaqueñoThursday, June 18, 2015 43 % More Elaborate Example % % echo “for( f=-10.0; f<=10.0; f+=0.1 ) {f; s(f)}” | bc -l

44 Rolando V. RaqueñoThursday, June 18, 2015 44 % Public Service Announcement to Prevent Repetitive Motion Injury % % echo “for( f=-10.0; f<=10.0; f+=0.1 ) {f; s(f)}” | bc -l % !! This recalls the last command executed % !! | paste - - % !! > sine.dat

45 Rolando V. RaqueñoThursday, June 18, 2015 45 Primitive Plotting Capabilities % echo “for( f=-10.0; f<=10.0; f+=0.1 ) {f; s(f)}” | bc –l | paste - - | graph | dumbplot % cat sine.dat | graph | dumbplot

46 Rolando V. RaqueñoThursday, June 18, 2015 46 Result of dumbplot

47 Rolando V. RaqueñoThursday, June 18, 2015 47 Less than Primitive Graphing Capabilities While depressing the Ctrl button with the mouse pointer in the xterm window, –Depress the middle mouse button –Select “tekshow” –Give the following command in the new window % echo “for( f=-10.0; f<=10.0; f+=0.1 ) {f; s(f)}” | bc –l | paste - - | graph | tek

48 Rolando V. RaqueñoThursday, June 18, 2015 48 Result of tek plot

49 Rolando V. RaqueñoThursday, June 18, 2015 49 The gnuplot utility % gnuplot G N U P L O T unix version 3.5 patchlevel 3.50.1.17, 27 Aug 93 last modified Fri Aug 27 05:21:33 GMT 1993 Copyright(C) 1986 - 1993 Thomas Williams, Colin Kelley Send comments and requests for help to info-gnuplot@dartmouth.edu Send bugs, suggestions and mods to bug-gnuplot@dartmouth.edu Terminal type set to 'x11' gnuplot> plot 'sine.dat' gnuplot>

50 Rolando V. RaqueñoThursday, June 18, 2015 50

51 Rolando V. RaqueñoThursday, June 18, 2015 51 The UNIX History Channel: Studying history so you can repeat it UNIX remembers the commands you have typed in through a “history list” By giving the history command, you will see a numbered list of previously executed commands

52 Rolando V. RaqueñoThursday, June 18, 2015 52 % Other Obscure UNIX Short Cuts % % !! # Recalls the last command and execute % !:p # Recalls the last command (don’t execute) % !c # Recalls the last command that begins with a c % !5 # Recalls the #5 argument in the history list

53 Rolando V. RaqueñoThursday, June 18, 2015 53 More Esoteric UNIX Short Cuts % ^string1^string2 # Performs a substitution on the previous command of the first occurrence of string1 with string2 % command !$ # Recalls the very last argument of the previous command % command !* # Recalls the all the arguments of the very last command

54 Rolando V. RaqueñoThursday, June 18, 2015 54 Or simply use up arrows if tcsh is available

55 Rolando V. RaqueñoThursday, June 18, 2015 55 IMPORTANT UNIX Concepts Environment and Shell Variables –These allow you to customize your UNIX environment –They are different in terms of their SCOPE SCOPE determines the visibility of a variable

56 Rolando V. RaqueñoThursday, June 18, 2015 56 Other IMPORTANT UNIX Concepts Environment Variable –Examples are TERM and DISPLAY –Set a particular variable to a value by using the setenv command –You can print the value of a particular variable or all the environment variable using the printenv command

57 Rolando V. RaqueñoThursday, June 18, 2015 57 % Environment Variables % Examples –To set environment variables % setenv TERM vt100 % setenv DOG Goofy –print out the terminal type % printenv TERM vt100 –print out all environment variables % printenv

58 Rolando V. RaqueñoThursday, June 18, 2015 58 Shell Variables Shell variables are similar to Environment variables except they have a limited scope, i.e., they exist only in the shell which they are defined. Environment variables on the other hand, exist in all its children shells To illustrate this concept, let us look at the following example

59 Rolando V. RaqueñoThursday, June 18, 2015 59 Environment vs. Shell Variables % set prompt = "Parent Shell > " Parent Shell > setenv DOG Goofy Parent Shell > set mouse=Mickey Parent Shell > printenv DOG Goofy Parent Shell > echo $mouse Mickey Parent Shell > xterm & (YOU SHOULD NOW HAVE A NEW xterm WINDOW) THIS IS KNOWN AS “SPAWNING A NEW (OR CHILD) PROCESS”

60 Rolando V. RaqueñoThursday, June 18, 2015 60 Environment vs. Shell Variables (IN THE NEW xterm WINDOW, DO THE FOLLOWING) % set prompt = "Child Shell > " Child Shell > printenv DOG Goofy Child Shell > echo $mouse mouse: Undefined variable.

61 Rolando V. RaqueñoThursday, June 18, 2015 61 Environment vs. Shell Variables Child Shell > setenv DOG Pluto Child Shell > set mouse=Minnie Child Shell > printenv DOG Pluto Child Shell > echo $mouse Minnie Child Shell > exit (THE xterm WINDOW SHOULD NOW GO AWAY - THIS PROCESS HAS NOW BEEN KILLED)

62 Rolando V. RaqueñoThursday, June 18, 2015 62 Environment vs. Shell Variables Parent Shell > Parent Shell > printenv DOG Goofy Parent Shell > echo $mouse Mickey Parent Shell >

63 Rolando V. RaqueñoThursday, June 18, 2015 63 Environment & Shell Variables Why is this important? –UNIX uses Environment and Shell Variables control a number of processes – Customizes your working environment –Variables used for UNIX Scripts They are typically defined and initialized in your.login and.cshrc files

64 Rolando V. RaqueñoThursday, June 18, 2015 64 Useful Shell Variables filec #Allows file completion path #List of command directories cdpath #List of candidate directories to cd into history #Number of commands to remember

65 Rolando V. RaqueñoThursday, June 18, 2015 65 The X-Windows Environment

66 Rolando V. RaqueñoThursday, June 18, 2015 66 X-Windowing System Vendor independent Graphical User Interface (GUI) Works on a network client/server concept. The client is some entity (in this case a software package, IDL, for instance) that requests from another entity some form of service (e.g., IDL requests for program input or requests some output data to be displayed)

67 Rolando V. RaqueñoThursday, June 18, 2015 67 X-Windowing System Windowing interface is decoupled from the software application Possible to remotely control software running at another location. rocky.cis.rit.edu bullwinkle.whatsomatau.edu

68 Rolando V. RaqueñoThursday, June 18, 2015 68 Starting IDL remotely 0. Find out the name of the local workstation you are working on by typing the following commands % hostname 1. On the local workstation, type the following % xhost + 2. Remotely log on to another machine using telnet. If you choose to use the computer “ride”, you would type % telnet ride.cis.rit.edu.

69 Rolando V. RaqueñoThursday, June 18, 2015 69 Starting IDL 3. Check environment variable telling the remote system the name of your workstation. For example, if your local workstation was named “glen”, you would type % echo $DISPLAY % setenv DISPLAY glenn.cis.rit.edu:0.0 4. Run idldemo on the remote system; display graphics will be directed back to your local workstation.

70 Rolando V. RaqueñoThursday, June 18, 2015 70 Other X-clients xterm xclipboard gnuplot ghostview acroread xfig xv

71 Rolando V. RaqueñoThursday, June 18, 2015 71 xclipboard Allows cutting and pasting text fragments to and from files

72 Rolando V. RaqueñoThursday, June 18, 2015 72 gnuplot Allows quick plotting of data files

73 Rolando V. RaqueñoThursday, June 18, 2015 73 ghostview X client used to view files in postscript format (*.ps)

74 Rolando V. RaqueñoThursday, June 18, 2015 74 acroread X client to read PDF (portable document files) files

75 Rolando V. RaqueñoThursday, June 18, 2015 75 xfig X client to create drawings in EPS format

76 Rolando V. RaqueñoThursday, June 18, 2015 76 xv X client to view most standard images

77 Rolando V. RaqueñoThursday, June 18, 2015 77 FINAL Project Information Two design review presentations (10-15 minutes long) What’s already out there to solve your problem How can you improve on it? Your plan of implementation and testing A Final Document of your Project –(PDF or HTML file desirable) Teaming is Encouraged

78 Rolando V. RaqueñoThursday, June 18, 2015 78 Previous Projects –Visualization of a DIRSIG Geometric Database –Visualization and modification of radiosonde data –IDL GUI to Visualize MODTRAN Output Data –Graphical User Interface for generating and modifying a MODTRAN Card deck –GUI for generating and modifying object material parameters –GUI for visualizing emissivity files

79 Rolando V. RaqueñoThursday, June 18, 2015 79 Previous Projects –An IDL FFT Widget Based on Dr. Easton's Signals. –GUI for Displaying the CIELAB Color Matching Functions –Astronomical Image Analysis in IDL –Stereo Visualization of Plots –GUI for Visualizing Atmospheric Parameters –GUI for texture image creation and visualization

80 Rolando V. RaqueñoThursday, June 18, 2015 80 Previous Projects –GUI for Modifying Material Parameters –Spectral Unmixing GUI Utilizing ENVI –Interface to Generate Satellite Image Preview and rendering using IDL’s globe and map database –Bi-directional Reflectance Parameter Viewer –Ephemeris program interface –Thermal Image apparent temperature predictor


Download ppt "Rolando V. RaqueñoThursday, June 18, 2015 1 Getting Started SIMG 726."

Similar presentations


Ads by Google