Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Winter Quarter 2003Rolando V. Raqueño FINAL Project Information Two Design Review presentations (10- 15 minutes long) A Final Document of your Project.

Similar presentations


Presentation on theme: "1 Winter Quarter 2003Rolando V. Raqueño FINAL Project Information Two Design Review presentations (10- 15 minutes long) A Final Document of your Project."— Presentation transcript:

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


Download ppt "1 Winter Quarter 2003Rolando V. Raqueño FINAL Project Information Two Design Review presentations (10- 15 minutes long) A Final Document of your Project."

Similar presentations


Ads by Google