Transcript lec2-sept1

ES 314
Lecture 2
Summary of lecture 1:
• course overview
• intro to matlab
• sections of Chapters 2 and 3
Sep 1
Lecture 2 goals:
• Chapter 3 (variables, numbers and strings)
• Chapter 4 (arrays, vectors and structures)
Skipped slides:
signal generation and display – simple example
signal generation and display – simple example
Image models
2-d image of a photograph:
Digital image is represented by a
collection of pixels. Each pixel has
a color value represented by 32
bits. (R, G, B, A) values.
Digital images can be processed in
various ways:
• compression
• restoration, de-blurring
• enhancement, noise reduction
Image processing
original image
restored image
Image merging
input
output
Image merging – a more complex example
Input images
output
Example taken from http://www.graficaobscura.com/merge/index.html
Volume Data Representation and Visualization
Typical scalar volume data is composed of a 3-D array of data and three
coordinate arrays of the same dimensions. The coordinate arrays specify
the x-, y-, and z-coordinates for each data point.
For example, flow data might have coordinate units of inches and data units
of psi.
A number of MATLAB functions are useful for visualizing scalar data:
• Slice planes provide a way to explore the distribution of data values
within the volume by mapping values to colors.
• You can orient slice planes at arbitrary angles, as well as use nonplanar
slices. You can specify the data used to color isosurfaces, enabling you to
display different information in color and surface shape
• Contour slices are contour plots drawn at specific coordinates within the
volume. Contour plots enable you to see where in a given plane the data
values are equal.
MRI Data Visualization
• MRI data typically contains a number of slice planes taken
through a volume, such as the human body.
• MRI data formats that can be accessed directly through
Matlab:
•A series of 2-D images representing slices through the head
•2-D and 3-D contour slices taken at arbitrary locations within
the data
•An isosurface with isocaps showing a cross section of the
interior.
contour slices
Example taken from:
http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/te
chdoc/matlab.html
Matlab – working windows
Variable definition
• need not be declared
• Variable names can contain up to 63 characters
• Variable names must start with a letter followed by
letters, digits, and underscores.
• Variable names are case sensitive.
• Key words can’t be used as variable names.
(Key words list is in the next slide.)
Matlab – Introduction (Ch 2)
• key words:
• if, else, end, for, while, break, switch, case, try, catch,
return, global, function, persistent etc.
• arithmetic operations:
+
–
* (or .*) latter used for component-wise * in vector
/ (or ./)
\ (or .\)
^ (or .^) a^b stands for ab
Other MATLAB symbols
>> prompt
. . . continue statement on next line
, separate statements and data
% start comment which ends at end of line
; (1) suppress output
(2) used as a row separator in a matrix
: specify range
some helpful commands
>> whos
Lists all the variables currently active in environment
>> lookfor <word> gives all sentences containing
<word> in the manual.
Use up arrow to repeat the previous command.
>> help
Matlab – Introduction (Ch 2)
• Exercise 2.1: Evaluate the expression
3 – 5 + 4/6 – 8 *4^2
Ans:
-129.3333
• Exercise 2.2: Write (3 – (5 + 2* 8))/4 in functional
style using plus, minus, times and rdivide.
a + b is written as plus (a, b) in functional style.
Ans: rdivide(minus(3, plus(5,times(2,8))),4)
Chapter 3 – numbers, string, booleans
integer:
MATLAB stores numeric data as double-precision floating point
(double) by default. To store data as an integer, you need to
convert from double to the desired integer type.
Example: To store 325 as a 16-bit signed integer assigned to
variable x:
>> x = int16(325);
If the number being converted to an integer has a fractional
part, MATLAB rounds to the nearest integer.
• If the fractional part is exactly 0.5, then from the
two equally nearby integers, MATLAB chooses the
one for which the absolute value is larger in
magnitude:
>> x = 325.499;
>> int16(x)
ans = 325
>> x = x + .001;
>> int16(x)
ans = 326
Built-in functions that convert to int
• Other related functions: floor, ceil
long floating-point format
>> format long
>> x = 1.5^2.3;
>> x
x =
2.54103060477792
>> format short
>> x
x =
2.5410
>> x = 2.564593653;
>> x
x =
2.5646
>>
Complex numbers
Strings
Character: alphabetical – upper/lower (‘a’ .. ‘z’, ‘A’ .. ‘Z’)
digits – 0, 1, …, 9
special characters - $, % etc.
control characters (end of line etc.)
Each character is encoded by 8 bits (ASCII) or 16 bits (unicode)
Unicode allows encoding of alphabets from many languages
such as Hungarian, Chinese, Swahili etc.
String - sequence of characters.
>> greeting = ‘hello’