#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_FRAME_LEVEL: 1

#+BEAMER_HEADER_EXTRA: \usetheme{Antibes}\usecolortheme{lily}\useoutertheme{infolines}\setbeamercovered{transparent}
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC

#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]

#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl}
#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}

#+LaTeX_HEADER: \usepackage{listings}

#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries,
#+LaTeX_HEADER:  commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
#+LaTeX_HEADER:  showstringspaces=false, keywordstyle=\color{blue}\bfseries}

#+TITLE:    
#+AUTHOR:    FOSSEE
#+EMAIL:     
#+DATE:    

#+DESCRIPTION: 
#+KEYWORDS: 
#+LANGUAGE:  en
#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS:   TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc

* 
#+begin_latex
\begin{center}
\vspace{12pt}
\textcolor{blue}{\huge Accessing pieces of Arrays}
\end{center}
\vspace{18pt}
\begin{center}
\vspace{10pt}
\includegraphics[scale=0.95]{../images/fossee-logo.png}\\
\vspace{5pt}
\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ 
\scriptsize Funded by National Mission on Education through ICT\\
\scriptsize  MHRD,Govt. of India\\
\includegraphics[scale=0.30]{../images/iitb-logo.png}\\
\end{center}
#+end_latex
* Objectives
  At the end of this tutorial, you will be able to,
   
  - Access and change individual elements of arrays, both one
    dimensional and multi-dimensional.
  - Access and change rows and columns of arrays. 
  - Access and change other chunks from an array, using slicing
    and striding. 
  - Read images into arrays and perform processing on them, using
    simple array manipulations.
* Pre-requisite
  - Spoken tutorial on "Getting started with Arrays".
* Sample Arrays
  #+begin_src python
    In []: A = array([12, 23, 34, 45, 56])
    
    In []: C = array([[11, 12, 13, 14, 15],
                      [21, 22, 23, 24, 25],
                      [31, 32, 33, 34, 35],
                      [41, 42, 43, 44, 45],
                      [51, 52, 53, 54, 55]])
    
  #+end_src
* Exercise 1
  Change the last column of ~C~ to zeroes. 
* Exercise 2
  Change ~A~ to ~[11, 12, 13, 14, 15]~. 
* squares.png
  #+begin_latex
    \begin{center}
      \includegraphics[scale=0.6]{squares}    
    \end{center}
  #+end_latex
* Exercise 3
  - obtain ~[22, 23]~ from ~C~. 
  - obtain ~[11, 21, 31, 41]~ from ~C~. 
  - obtain ~[21, 31, 41, 0]~. 
* Exercise 4
  Obtain ~[[23, 24], [33, -34]]~ from ~C~
* Exercise 5
  Obtain the square in the center of the image
* Exercise 6
  Obtain the following
  #+begin_src python
    [[12, 0], [42, 0]]
    [[12, 13, 14], [0, 0, 0]]
  #+end_src

* Solution 6
  #+begin_src python
    In []: C[::3, 1::3]
    In []: C[::4, 1:4]
  #+end_src
* Summary
  In this tutorial, we have learnt to, 
 
  - Manipulate single & multi dimensional arrays.
  - Access and change individual elements by using their index numbers. 
  - Access and change rows and columns of arrays by specifying the row 
    and column numbers.
  - Slice and stride on arrays.
  - Read images into arrays and manipulate them.
* Evaluation
  1. Given the array, ``A = array([12, 15, 18, 21])``, how do we access
     the element ``18``?


  2. Given the array, 
   
     B = array([[10, 11, 12, 13],
               [20, 21, 22, 23],
               [30, 31, 32, 33],
               [40, 41, 42, 43]])

     Obtain the elements, ``[[21, 22], [31, 32]]``


  3. Given the array, 
 
     C = array([[10, 11, 12, 13],
                [20, 21, 22, 23]])

     Change the array to 
   
    C = array([[10, 11, 10, 11],
               [20, 21, 20, 21]])
* Solutions
  1. A[ 2 ]

  2. B[1:3, 1:3]

  3. C[:2, 2:] = C[:2, :2]

* 
#+begin_latex
  \begin{block}{}
  \begin{center}
  \textcolor{blue}{\Large THANK YOU!} 
  \end{center}
  \end{block}
\begin{block}{}
  \begin{center}
    For more Information, visit our website\\
    \url{http://fossee.in/}
  \end{center}  
  \end{block}
#+end_latex