+ All Categories
Home > Documents > Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Date post: 21-Dec-2015
Category:
View: 215 times
Download: 2 times
Share this document with a friend
Popular Tags:
53
Rolando V. Raqueño Monday, March 21, 20 22 1 1 Quiz #6 Topics • cut • paste • sort • tail • head
Transcript
Page 1: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 202311

Quiz #6 Topics

• cut• paste• sort• tail• head

Page 2: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 202322

Numbering SystemsDECIMAL BINARY OCTAL HEXADECIMAL(Base 10) (Base 2) (Base 8) (Base 16)

0 0 0 01 1 1 12 10 2 23 11 3 34 100 4 45 101 5 56 110 6 67 111 7 78 1000 10 89 1001 11 910 1010 12 A11 1011 13 B12 1100 14 C13 1101 15 D14 1110 16 E15 1111 17 F

Page 3: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 202333

Converting Between Bases

• 42 base 10 converted to base 10,

• 42 base 10 converted to base 8,

4210 4 101 40 2 100 2 4210

4210 5 81 40 2 80 2 528

Page 4: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 202344

Converting Between Bases

• 42 base 10 converted to base 2,

• 42 base 10 converted to base 16,

4210 125 32 0 24 0 123 8 0 22 0 121 2 0 20 0 1010102

4210 2 161 32 a 160 10 2a16

Page 5: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 202355

Number Base Conversion using bc

• To convert decimal to binaryobase=242101010

• To convert octal to hexadecimalobase=16ibase=8522A

Page 6: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 202366

Negative Number Representation

DECIMAL DECIMAL BINARY(Base 10) (4-digit) (4-digit)

-8 9992 1000-7 9993 1001-6 9994 1010-5 9995 1011-4 9996 1100-3 9997 1101-2 9998 1110-1 9999 11110 0 00001 1 00012 2 00103 3 00114 4 01005 5 01016 6 01107 7 0111

Page 7: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 202377

Converting a Negative Number into Binary using 2’s Complement

• To convert -42 into a negative binary value – Determine the number of bits to represent (e.g.

16 bits)– Convert the absolute value (42) into binary

0000000000101010

– Take the 1’s complement of the number1111111111010101

– Add 1 to the number1111111111010110

Page 8: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 202388

Floating Point Representation

• Sets of bits are separated into – mantissa

– exponent field

Page 9: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 202399

Another Example of Unformatted Output (e.pro)

pro e

openw, lun, 'e.dat', /get_lun e = exp(1.0) writeu,lun, e free_lun, lun

end

Page 10: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231010

Octal Interpretation of e.dat (big endian)

% od -b e.dat0000000 100 055 370 1240000004

Page 11: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231111

Binary Interpretation of e.dat (big endian)

% bc -lobase=2ibase=8100100000055101101370111110001241010100

Page 12: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231212

Binary Interpretation of e.dat (big endian)

01000000 00101101 11111000 01010100

Page 13: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231313

(SINGLE PRECISION) - IEEE (ANSI/IEEE Std 754-

1985)

+-+--------+-----------------------+ |S| exp | fraction | +-+--------+-----------------------+ ^ ^ Bit31 Bit0

A formula that gives the value of this float is:

Value=(-1)**S X 1.fraction X 2**(exp-127)

Page 14: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231414

Binary Interpretation of e.dat (big endian)

01000000 00101101 11111000 01010100

[Bit 31]S = 0[Bits 30:23] exp = 1000000 0 = 128 (decimal)[Bits 22:0]fraction = 0101101 11111000 01010100

Page 15: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231515

(SINGLE PRECISION) - IEEE (ANSI/IEEE Std 754-

1985)Value=(-1)**S X 1.fraction X 2**(exp-127)

2**(128-127)= 2

% bc -libase=21.0101101 11111000 010101001.35914087295532226562500ibase=10102*1.359140872955322265625002.71828174591064453125000

Page 16: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231616

Floating Point Interpretation of e.dat (big endian)

% od -f e.dat0000000 2.7182817e+000000004

Page 17: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231717

Debugging in IDL

Page 18: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231818

Basic IDL Debugging Commands

breakpoint

.step (.s)

.stepover (.so)

.continue

.return

.out

Page 19: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20231919

mean.pro

10 ;- 11 ;

12 function mean,x

13 n = n_elements(x)

14 answer = sum(x)/double(n)

15 return, answer

16 end

Page 20: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232020

Breakpoints

IDL> breakpoint, ‘mean.pro’, 12

IDL> help,/breakpoint

Breakpoints:

Index Module Line File

----- ------ ---- ----

0 MEAN 12 mean.pro

IDL> breakpoint, /clear, 0

OR

IDL> breakpoint, /clear, ‘mean.pro’, 12

Page 21: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232121

.step

• Used after a breakpoint is reached

• Single step through commands

• If statement is a function or procedure– Will enter into it

Page 22: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232222

.stepover

• Similar to .step • Executes functions and procedures to

completion without stopping inside the function

Page 23: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232323

.return

• Continues execution until a return statement is encountered.

• Useful in checking the return value of an inner (nested) function in a function composition

• e.g.

sqrt(variance(x))

Page 24: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232424

.out

• Continues execution out of the current routine.

• Useful in leaving a routine that you stepped into, but have determined that all is working properly and want to return to the calling routine.

Page 25: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232525

mean.pro

10 ;- 11 ; 12 function mean,x 13 n = n_elements(x) 14 answer = sum(x)/double(n) 15 return, answer 16 end

Page 26: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232626

Mystery Images

Page 27: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232727

Given an image of unknown origin

• Dimensions of the image?– Most importantly the number of samples

• Aspect ratio of the image? • Number of bytes per pixel?• Number of bands of the image?• Number of bits per pixel?• External or internal compression applied

– gzip– tiff or jpeg

Page 28: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232828

Know the imaging instrument

• Find out what kind of image capture device– Framing Camera with filters

• Band Sequential Images (BSQ)

– Flatbed of Pushbroom scanner• Band interleaved by line (BIL)

– Line Scanner• Band interleaved by pixel (BIP)

Page 29: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20232929

Tools at your disposal for dissecting the image

% file% anytopnm % more% ls -l% bc -l% od% dd% strings% rawtopgm or cat% xv

Page 30: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233030

file

• Uses information in /etc/magic to determine the type of a file.

• Common outputs from the file command% file irod.img.gz

irod.img.gz: gzip compressed data - deflate method , original file name , max compression

% file readme

readme: ascii text

Page 31: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233131

File (more examples)

% file RIT_bip.imgRIT_bip.img: data

% file modtran4.batmodtran4.bat: executable c-shell script

bean% file maincode.exemaincode.exe: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped

Page 32: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233232

File (image examples)Don’t always believe the extensions

bean% file feep.tif

feep.tif: TIFF file, big-endian

bean% file feep.pgm

feep.pgm: PGM ascii file

bean% file AVIRIS_RIT.jpg

AVIRIS_RIT.jpg: JPEG file

bean% file rotate.pbm

rotate.pbm: PGM raw file

Page 33: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233333

anytopnm

• Shell script that does a brute force test on images and converts to pnm format

% anytopnm mystery_file > mystery_file.pnm

Page 34: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233434

od

• Can be used to quickly check the minimum and maximum values in a file

• Stupid UNIX Trick% od –d –v image.raw | cut –c10- | tr –s “ “ “\012” | sort –nu | head

Page 35: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233535

Xv and NetPBM

• Xv want multi-byte NetPBM files in little-endian form

• N.B. NetPBM utilities behave inconsistently for multi-byte data

Page 36: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233636

Can you guess the dimensions of the image?

• Try to guess the number of rows (width) first.– Possible guesses

•256•512•2^n•2^n+2^(n-1)

Page 37: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233737

Can you guess the aspect ratio of the image?

• wc -c or ls -l – determine how many bytes are in the image

• Square root of the image size – Multiple of a perfect square

• Assume that the image is greyscale & square– use rawtopgm

% rawtopgm 512 512 image.raw > image.pgm

Page 38: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233838

Square Gray Scale Image

• Used rawtopgm to create a pgm file and then use xv to display

Page 39: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20233939

A convenient little trick

• If you are just experimenting with a mystery image

% rawtopgm 512 512 image.raw | xv -

Page 40: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234040

Does it have a header?

• Not a perfect square– go ahead and try to display it as if it were a

square image to see if it has a header.

Page 41: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234141

Square Grey Scale image with a header

• This structure means you have a header in the file that is causing a uniform shift

• You can fix this by using dd

Page 42: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234242

Square image no header

• Your guess on the width of the image is short by one pixel

Page 43: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234343

Square image no header

• Your guess on the width of the image is long by one pixel

Page 44: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234444

Square image no header

• You probably guessed a little too low on the width of this image

• (off by 6 pixels)

Page 45: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234545

Square Image with no header

• Your probably guessed a little too high on the width of the image

• (off by 6 pixels)

Page 46: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234646

A color image displayed as greyscale image

• Correct dimensions– 256x256x3 BIP

• Incorrectly assumed– 443x443 image with

header

• N.B. 196608/3=256^2

• Indicates a multiband image

Page 47: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234747

Multiband Assumption

• Once multiband image is assumed– Need to determine interleaving– Can be deduced by displaying first band– This assumes you have a guess of image

dimension

• Extract the first band out using dd

Page 48: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234848

First band of color image file assumed to be BSQ

• Assume a square image for first band

• Color image file obviously not BSQ

Page 49: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20234949

Square color image displayed as a greyscale (3:1 aspect ratio)

• Original image 3x256x256

• Displayed it as a greyscale 768x256

• To get insight into interleaving structure.

• BIP file would look like the left image

Page 50: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20235050

Square color image displayed as greyscale( 3:1 aspect ratio)

• This is how a BIL image would behave• What we have here is the individual bands

side by side

Page 51: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20235151

• This is how a BSQ file would behave

Square color image displayed as greyscale( 3:1 aspect ratio)

Page 52: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20235252

Multibyte pixel image

• Need to be careful about the endian of the machine on which the image was written

• Can use dd to swap bytes for short integer images (2-bytes per pixel) or the swap_endian function in IDL

Page 53: Rolando V. RaqueñoSaturday, June 27, 2015 1 Quiz #6 Topics cut paste sort tail head.

Rolando V. Raqueño Tuesday, April 18, 20235353

Mystery Image Examples

• Check Webpage for sources of examples.

• An example will be given for the midterm exam.


Recommended