Download presentation
Presentation is loading. Please wait.
Published byMiranda Parks Modified over 9 years ago
1
1 Winter Quarter 2003Rolando V. Raqueño FINAL Project Information Two Design Review presentations (10- 15 minutes long) A Final Document of your Project Wiki Page Describing your Project –YourNameIdlGuiProject Teaming is Encouraged –LastNamesIdlGuiProject
2
2 Winter Quarter 2003Rolando V. Raqueño Final Project Post on the wiki, by Next Thursday, a half page abstract of your intended GUI design, and the problem domain that it addresses.
3
3 Winter Quarter 2003Rolando V. Raqueño Possible Project Choices http://www.cis.rit.edu/rolo/teaching/si mg726/project_archive/project_archive.h tml –Visualization of a DIRSIG Geometric Database –Visualization and modification of radiosonde data –Graphical User Interface for generating and modifying a MODTRAN Card deck –Visualiation of radiance data –GUI for generating and modifying object material parameters –GUI for visualizing emissivity files
4
4 Winter Quarter 2003Rolando V. Raqueño Possible Project Choices –GUI for texture image creation –Visualization and modification of a scene node file. –More Details to come...
5
5 Winter Quarter 2003Rolando V. Raqueño Quiz #2 (After Break) Topics RCS commands cd cp grep chmod Weekly wiki post The Cuckoo’s Egg Question
6
6 Winter Quarter 2003Rolando V. Raqueño Working with Data
7
7 Winter Quarter 2003Rolando V. Raqueño Representation of Information in a Computer All information in a computer is stored as a collection of bits A bit, also known as a binary digit, is a number represented in base 2. It can only be either a 1 (one) or 0 (zero) Think of information as data with structure –All the one’s and zero’s represented by the computer is data. How they are interpretted generates information (or garbage)
8
8 Winter Quarter 2003Rolando V. Raqueño Representation of Information in a Computer Information stored in a computer can represent –Instructions Executable Programs –Data Numbers - integers and real values Characters - ASCII, multinational characters Others - imagery, sound, etc.
9
9 Winter Quarter 2003Rolando V. Raqueño Representation of Information in a Computer Bits in a computer are usually grouped into the following units – 4 bits == 1 nibble –8 bits == 1 byte or 1 ( char ) - a single character –16 bits == 2 bytes or 1 ( short int, int ) - integer value –32 bits == 4 bytes or 1 ( long int, int ) - integer value –or 1( float) - real value –64 bits == 8 bytes or 1 (double) - real value
10
10 Winter Quarter 2003Rolando V. Raqueño Representation of Information in a Computer Numbers can be represented as either integers or real values –integers { -5, 0, 125, -32767 } –real { 3.14159, -2.71828, -1.0e-20, 10.000 } Text is typically represented using the ASCII character set where each character is represented as a byte value.
11
11 Winter Quarter 2003Rolando V. Raqueño Representation of Information in a Computer
12
12 Winter Quarter 2003Rolando V. Raqueño Representation of Information in a Computer
13
13 Winter Quarter 2003Rolando V. Raqueño Line Delimiters on Different Systems In the UNIX System, lines are delimited by linefeed (also designated as nl and has an ASCII value of 012 or 10) In MACS and PC’s, lines are delimited by carriage returns (also designated as cr and has an ASCII value of 015 or 13) Still other systems use a combination of carriage return-line feeds to delimit lines
14
14 Winter Quarter 2003Rolando V. Raqueño Common Cross Platform File Problem Some one gave you a text file created on a PC which you transferred to the UNIX system. You try to edit the file using vi, but vi complains that the line is too long Solution: (A Stupid Unix Trick) –% cat old_file | tr “\015” “\012” > new_file –This command translates all carriage returns to line feeds.
15
15 Winter Quarter 2003Rolando V. Raqueño Numbering Systems
16
16 Winter Quarter 2003Rolando V. Raqueño Converting Number Bases
17
17 Winter Quarter 2003Rolando V. Raqueño Converting Number Bases
18
18 Winter Quarter 2003Rolando V. Raqueño Negative Number Representation
19
19 Winter Quarter 2003Rolando V. Raqueño Converting a Negative Number into Binary using 2’s Complement
20
20 Winter Quarter 2003Rolando V. Raqueño How Does This All Relate to Computers and Programming
21
21 Winter Quarter 2003Rolando V. Raqueño 1-bit Address Line and 1-bit Data Line Computer Architecture
22
22 Winter Quarter 2003Rolando V. Raqueño 2-bit Address Line and 1-bit Data Line Computer Architecture
23
23 Winter Quarter 2003Rolando V. Raqueño 1-bit Address Line and 2-bit Data Line Computer Architecture
24
24 Winter Quarter 2003Rolando V. Raqueño 2-bit Address Line and 2-bit Data Line Computer Architecture
25
25 Winter Quarter 2003Rolando V. Raqueño 8-bit Address Line and 8-bit Data Line Computer Architecture
26
26 Winter Quarter 2003Rolando V. Raqueño In General
27
27 Winter Quarter 2003Rolando V. Raqueño Caveat on Multi-Byte Data When dealing with data that encompasses more than a single byte (e.g. integer value greater than 255), you must know the “endian” of the data Endian represents how a machine interprets the significance of a set of bytes. There are big-endian machines and little endian machines
28
28 Winter Quarter 2003Rolando V. Raqueño Caveat on Multi-Byte Data Big Endian Machines (Suns, Motorolas) would represent the integer value 512 internally as two bytes in the following order. MSB LSB 00000010 00000000
29
29 Winter Quarter 2003Rolando V. Raqueño Caveat on Multi-Byte Data Little Endian Machines (DECS, Intels) would represent the integer value 512 internally as two bytes in the following order. LSB MSB 00000000 00000010
30
30 Winter Quarter 2003Rolando V. Raqueño Caveat on Multi-Byte Data This is typically not a problem as long as you stay on the same machine. If you, however, start transferring data (e.g. images) in raw form from one machine to another, you will need to be aware of this situation. You can often transpose multibyte data using the dd utility (does not work for data spanning more than two bytes)
31
31 Winter Quarter 2003Rolando V. Raqueño Working with IDL Variables Variable names must start with a letter but can include, letters, digits, underscore or dollar characters. Variables are not case sensitive, i.e., –Celsius is equivalent to celsius
32
32 Winter Quarter 2003Rolando V. Raqueño Working with IDL Variables Variables in IDL have two important attributes –Data type –Attributes
33
33 Winter Quarter 2003Rolando V. Raqueño IDL Variable Data Types Undefined Integer Values –Byte, Integer, Long Integer Floating Point Values –Floating Point, Double Precision –Single Precision Complex, Double Precision Complex String
34
34 Winter Quarter 2003Rolando V. Raqueño IDL Variable Data Structures Scalar Vector (one-dimensional array) Array (up to eight dimensions) Structure (combination of any mixture of data - Very Important in understanding Object-Oriented Programming Concepts)
35
35 Winter Quarter 2003Rolando V. Raqueño Initializing Scalar Variables byte_variable = 0B integer_variable = 0 long_integer = 0L float_variable = 0.0 double_variable = 0.0D complex_variable = Complex(0.0, 0.0) dcomplex_variable = DComplex(0.0, 0.0) string_variable = ‘‘
36
36 Winter Quarter 2003Rolando V. Raqueño Initializing Array Variables byte_array = bytarr( 256, 256, 3 ) integer_array = intarr( 256, 256 ) long_array = lonarr( 256, 256 ) float_array = fltarr( 256, 256 ) double_array = dblarr( 256, 256 ) complex_array = complexarr( 256, 256 ) dcomplex_array = dcomplexarr( 256, 256) string_array = strarr(80)
37
37 Winter Quarter 2003Rolando V. Raqueño Initializing Array Variables Initializing Array with each element set to its subscript –bindgen, indgen, lindgen, findgen, dindgen, cindgen, dcindgen, sindgen –Only real parts of complex numbers are set to the subscripts –An array of strings containing the numbers is created by sindgen
38
38 Winter Quarter 2003Rolando V. Raqueño Initializing Array Variables Make_array function is a general way of creating and initializing arrays array=make_array(10,12,Value=1,/Int) Replicate functions allows initialization of all elements of an array with a given variable (useful in structures) initial_value = 1 array=replicate(initial_value, 10,12)
39
39 Winter Quarter 2003Rolando V. Raqueño Structures in IDL Allows more abstract data types to be created from other basic data types Example –Date data structure IDL> a={date, month:0B, day:0B, year:0B} IDL> print,a { 0 0 0}
40
40 Winter Quarter 2003Rolando V. Raqueño Structures in IDL Date Example (using a Named Structure) IDL> a.month=12 IDL> a.day=25 IDL> a.year=96 IDL> print,a { 12 25 96} IDL> print,a.month 12 IDL> print,a.day 25 IDL> print,a.year 96
41
41 Winter Quarter 2003Rolando V. Raqueño Structures in IDL Date Structure Example IDL> c={date} IDL> print,c { 0 0 0} IDL> help,c C STRUCT = -> DATE Array(1)
42
42 Winter Quarter 2003Rolando V. Raqueño Structures in IDL Anonymous Structures IDL> d={month:1,day:1,year:97} IDL> print,d { 1 1 97} IDL> e=d IDL> print,e { 1 1 97}
43
43 Winter Quarter 2003Rolando V. Raqueño Structures in IDL Anonymous Structures IDL> e={month:'January',day:d.day,year:d.year} IDL> print,e { January 1 97} IDL> e.month='December' IDL> print,e { December 1 97}
44
44 Winter Quarter 2003Rolando V. Raqueño Structures in IDL Determining Variable Structure IDL> help,e,/structure ** Structure, 3 tags, length=12, refs=1: MONTH STRING 'December' DAY INT 1 YEAR INT 97
45
45 Winter Quarter 2003Rolando V. Raqueño Structures in IDL Determining Structure Characteristics IDL> print,n_tags(e) 3 IDL> print,tag_names(e) MONTH DAY YEAR
46
46 Winter Quarter 2003Rolando V. Raqueño Dual Nature of IDL structures IDL> e={month:"December", day:1, year:97} IDL> print,e.month December IDL> print,e.day 1 IDL> print,e.year 97 IDL> e={month:"December", day:1, year:97} IDL> print,e.(0) December IDL> print,e.(1) 1 IDL> print,e.(2) 97
47
47 Winter Quarter 2003Rolando V. Raqueño Array Manipulation in IDL Let’s create an array representing a multiband image IDL> image=bindgen(2,3,4) IDL> print,image 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
48
48 Winter Quarter 2003Rolando V. Raqueño Array Manipulation in IDL Extract the first and last band of the image IDL> print,image(*,*,0) 0 1 2 3 4 5 IDL> print,image(*,*,3) 18 19 20 21 22 23
49
49 Winter Quarter 2003Rolando V. Raqueño Array Manipulation in IDL Extracting the “color” or “spectral vector” of the first pixel IDL> print,image(0,0,*) 0 6 12 18
50
50 Winter Quarter 2003Rolando V. Raqueño Array Manipulation in IDL Assign band 1 to band 4 IDL> band1=image(*,*,0) IDL> image(*,*,3) = band1 Shortcut IDL> image(*,*,3)=image(*,*,0)
51
51 Winter Quarter 2003Rolando V. Raqueño Array Manipulation in IDL Subsectioning parts of an image IDL> print,image(0:1,0:1,*) 0 1 2 3 6 7 8 9 12 13 14 15 0 1 2 3
52
52 Winter Quarter 2003Rolando V. Raqueño Array Manipulation where function to find indices of elements that meet certain criteria IDL> print, where( image gt 5 and image lt 12) Use of other arrays to index other arrays IDL> indices=where( image gt 5 and image lt 12) IDL> image(indices)=-1
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.