Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.