1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1 % Created 2010-10-10 Sun 18:48 |
2 %Tutorial slides on Python. |
2 \documentclass[presentation]{beamer} |
3 % |
|
4 % Author: FOSSEE |
|
5 % Copyright (c) 2009, FOSSEE, IIT Bombay |
|
6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
7 |
|
8 \documentclass[14pt,compress]{beamer} |
|
9 %\documentclass[draft]{beamer} |
|
10 %\documentclass[compress,handout]{beamer} |
|
11 %\usepackage{pgfpages} |
|
12 %\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm] |
|
13 |
|
14 % Modified from: generic-ornate-15min-45min.de.tex |
|
15 \mode<presentation> |
|
16 { |
|
17 \usetheme{Warsaw} |
|
18 \useoutertheme{infolines} |
|
19 \setbeamercovered{transparent} |
|
20 } |
|
21 |
|
22 \usepackage[english]{babel} |
|
23 \usepackage[latin1]{inputenc} |
3 \usepackage[latin1]{inputenc} |
24 %\usepackage{times} |
|
25 \usepackage[T1]{fontenc} |
4 \usepackage[T1]{fontenc} |
26 |
5 \usepackage{fixltx2e} |
27 \usepackage{ae,aecompl} |
6 \usepackage{graphicx} |
28 \usepackage{mathpazo,courier,euler} |
7 \usepackage{longtable} |
29 \usepackage[scaled=.95]{helvet} |
8 \usepackage{float} |
30 |
9 \usepackage{wrapfig} |
31 \definecolor{darkgreen}{rgb}{0,0.5,0} |
10 \usepackage{soul} |
32 |
11 \usepackage{textcomp} |
|
12 \usepackage{marvosym} |
|
13 \usepackage{wasysym} |
|
14 \usepackage{latexsym} |
|
15 \usepackage{amssymb} |
|
16 \usepackage{hyperref} |
|
17 \tolerance=1000 |
|
18 \usepackage[english]{babel} \usepackage{ae,aecompl} |
|
19 \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet} |
33 \usepackage{listings} |
20 \usepackage{listings} |
34 \lstset{language=Python, |
21 \lstset{language=Python, basicstyle=\ttfamily\bfseries, |
35 basicstyle=\ttfamily\bfseries, |
22 commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen}, |
36 commentstyle=\color{red}\itshape, |
23 showstringspaces=false, keywordstyle=\color{blue}\bfseries} |
37 stringstyle=\color{darkgreen}, |
24 \providecommand{\alert}[1]{\textbf{#1}} |
38 showstringspaces=false, |
25 |
39 keywordstyle=\color{blue}\bfseries} |
26 \title{Accessing parts of arrays} |
40 |
27 \author{FOSSEE} |
41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
42 % Macros |
|
43 \setbeamercolor{emphbar}{bg=blue!20, fg=black} |
|
44 \newcommand{\emphbar}[1] |
|
45 {\begin{beamercolorbox}[rounded=true]{emphbar} |
|
46 {#1} |
|
47 \end{beamercolorbox} |
|
48 } |
|
49 \newcounter{time} |
|
50 \setcounter{time}{0} |
|
51 \newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}} |
|
52 |
|
53 \newcommand{\typ}[1]{\lstinline{#1}} |
|
54 |
|
55 \newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}} } |
|
56 |
|
57 % Title page |
|
58 \title{Your Title Here} |
|
59 |
|
60 \author[FOSSEE] {FOSSEE} |
|
61 |
|
62 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay} |
|
63 \date{} |
28 \date{} |
64 |
29 |
65 % DOCUMENT STARTS |
30 \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent} |
66 \begin{document} |
31 \begin{document} |
67 |
32 |
68 \begin{frame} |
33 \maketitle |
69 \maketitle |
34 |
70 \end{frame} |
35 |
71 |
36 |
72 \begin{frame}[fragile] |
37 |
73 \frametitle{Outline} |
38 |
74 \begin{itemize} |
39 |
75 \item |
40 |
76 \end{itemize} |
41 |
77 \end{frame} |
42 |
78 |
43 \begin{frame} |
79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
44 \frametitle{Outline} |
80 %% All other slides here. %% |
45 \label{sec-1} |
81 %% The same slides will be used in a classroom setting. %% |
46 |
82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
47 \begin{itemize} |
83 |
48 \item Manipulating one and multi dimensional arrays |
84 \begin{frame}[fragile] |
49 \item Access and change individual elements |
85 \frametitle{Summary} |
50 \item Access and change rows and columns |
86 \begin{itemize} |
51 \item Slicing and striding on arrays to access chunks |
87 \item |
52 \item Read images into arrays and manipulations |
88 \end{itemize} |
53 \end{itemize} |
89 \end{frame} |
54 \end{frame} |
90 |
55 \begin{frame}[fragile] |
91 \begin{frame} |
56 \frametitle{Sample Arrays} |
92 \frametitle{Thank you!} |
57 \label{sec-2} |
|
58 |
|
59 \lstset{language=Python} |
|
60 \begin{lstlisting} |
|
61 In []: A = array([12, 23, 34, 45, 56]) |
|
62 |
|
63 In []: C = array([[11, 12, 13, 14, 15], |
|
64 [21, 22, 23, 24, 25], |
|
65 [31, 32, 33, 34, 35], |
|
66 [41, 42, 43, 44, 45], |
|
67 [51, 52, 53, 54, 55]]) |
|
68 \end{lstlisting} |
|
69 \end{frame} |
|
70 \begin{frame} |
|
71 \frametitle{Question 1} |
|
72 \label{sec-3} |
|
73 |
|
74 Change the last column of \texttt{C} to zeroes. |
|
75 \end{frame} |
|
76 \begin{frame}[fragile] |
|
77 \frametitle{Solution 1} |
|
78 \label{sec-4} |
|
79 |
|
80 \lstset{language=Python} |
|
81 \begin{lstlisting} |
|
82 In []: C[:, -1] = 0 |
|
83 \end{lstlisting} |
|
84 \end{frame} |
|
85 \begin{frame} |
|
86 \frametitle{Question 2} |
|
87 \label{sec-5} |
|
88 |
|
89 Change \texttt{A} to \texttt{[11, 12, 13, 14, 15]}. |
|
90 \end{frame} |
|
91 \begin{frame}[fragile] |
|
92 \frametitle{Solution 2} |
|
93 \label{sec-6} |
|
94 |
|
95 \lstset{language=Python} |
|
96 \begin{lstlisting} |
|
97 In []: A[:] = [11, 12, 13, 14, 15] |
|
98 \end{lstlisting} |
|
99 \end{frame} |
|
100 \begin{frame} |
|
101 \frametitle{squares.png} |
|
102 \label{sec-7} |
|
103 |
|
104 \begin{center} |
|
105 \includegraphics[scale=0.6]{squares} |
|
106 \end{center} |
|
107 \end{frame} |
|
108 \begin{frame} |
|
109 \frametitle{Question 3} |
|
110 \label{sec-8} |
|
111 |
|
112 \begin{itemize} |
|
113 \item obtain \texttt{[22, 23]} from \texttt{C}. |
|
114 \item obtain \texttt{[11, 21, 31, 41]} from \texttt{C}. |
|
115 \item obtain \texttt{[21, 31, 41, 0]}. |
|
116 \end{itemize} |
|
117 \end{frame} |
|
118 \begin{frame}[fragile] |
|
119 \frametitle{Solution 3} |
|
120 \label{sec-9} |
|
121 |
|
122 \lstset{language=Python} |
|
123 \begin{lstlisting} |
|
124 In []: C[1, 1:3] |
|
125 In []: C[0:4, 0] |
|
126 In []: C[1:5, 0] |
|
127 \end{lstlisting} |
|
128 \end{frame} |
|
129 \begin{frame} |
|
130 \frametitle{Question 4} |
|
131 \label{sec-10} |
|
132 |
|
133 Obtain \texttt{[[23, 24], [33, -34]]} from \texttt{C} |
|
134 \end{frame} |
|
135 \begin{frame}[fragile] |
|
136 \frametitle{Solution 4} |
|
137 \label{sec-11} |
|
138 |
|
139 \lstset{language=Python} |
|
140 \begin{lstlisting} |
|
141 In []: C[1:3, 2:4] |
|
142 \end{lstlisting} |
|
143 \end{frame} |
|
144 \begin{frame} |
|
145 \frametitle{Question 5} |
|
146 \label{sec-12} |
|
147 |
|
148 Obtain the square in the center of the image |
|
149 \end{frame} |
|
150 \begin{frame}[fragile] |
|
151 \frametitle{Solution 5} |
|
152 \label{sec-13} |
|
153 |
|
154 \lstset{language=Python} |
|
155 \begin{lstlisting} |
|
156 In []: imshow(I[75:225, 75:225]) |
|
157 \end{lstlisting} |
|
158 \end{frame} |
|
159 \begin{frame}[fragile] |
|
160 \frametitle{Question 6} |
|
161 \label{sec-14} |
|
162 |
|
163 Obtain the following |
|
164 \lstset{language=Python} |
|
165 \begin{lstlisting} |
|
166 [[12, 0], [42, 0]] |
|
167 [[12, 13, 14], [0, 0, 0]] |
|
168 \end{lstlisting} |
|
169 \end{frame} |
|
170 \begin{frame}[fragile] |
|
171 \frametitle{Solution 6} |
|
172 \label{sec-15} |
|
173 |
|
174 \lstset{language=Python} |
|
175 \begin{lstlisting} |
|
176 In []: C[::3, 1::3] |
|
177 In []: C[::4, 1:4] |
|
178 \end{lstlisting} |
|
179 \end{frame} |
|
180 \begin{frame} |
|
181 \frametitle{Summary} |
|
182 \label{sec-16} |
|
183 |
|
184 You should now be able to -- |
|
185 \begin{itemize} |
|
186 \item Manipulate 1D \& Multi dimensional arrays |
|
187 |
|
188 \begin{itemize} |
|
189 \item Access and change individual elements |
|
190 \item Access and change rows and columns |
|
191 \item Slice and stride on arrays |
|
192 \end{itemize} |
|
193 |
|
194 \item Read images into arrays and manipulate them. |
|
195 \end{itemize} |
|
196 \end{frame} |
|
197 \begin{frame} |
|
198 \frametitle{Thank you!} |
|
199 \label{sec-17} |
|
200 |
93 \begin{block}{} |
201 \begin{block}{} |
94 \begin{center} |
202 \begin{center} |
95 This spoken tutorial has been produced by the |
203 This spoken tutorial has been produced by the |
96 \textcolor{blue}{FOSSEE} team, which is funded by the |
204 \textcolor{blue}{FOSSEE} team, which is funded by the |
97 \end{center} |
205 \end{center} |