#+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:    Accessing parts of arrays
#+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

* Outline
  - Manipulating one and multi dimensional arrays
  - Access and change individual elements 
  - Access and change rows and columns 
  - Slicing and striding on arrays to access chunks 
  - Read images into arrays and manipulations
* 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
* Question 1
  Change the last column of ~C~ to zeroes. 
* Solution 1
  #+begin_src python
    In []:  C[:, -1] = 0
  #+end_src
* Question 2
  Change ~A~ to ~[11, 12, 13, 14, 15]~. 
* Solution 2
  #+begin_src python
    In []:  A[:] = [11, 12, 13, 14, 15]
  #+end_src
* squares.png
  #+begin_latex
    \begin{center}
      \includegraphics[scale=0.6]{squares}    
    \end{center}
  #+end_latex
* Question 3
  - obtain ~[22, 23]~ from ~C~. 
  - obtain ~[11, 21, 31, 41]~ from ~C~. 
  - obtain ~[21, 31, 41, 0]~.   
* Solution 3
  #+begin_src python
    In []:  C[1, 1:3]
    In []:  C[0:4, 0]
    In []:  C[1:5, 0]
  #+end_src
* Question 4
  Obtain ~[[23, 24], [33, -34]]~ from ~C~
* Solution 4
  #+begin_src python
    In []:  C[1:3, 2:4]
  #+end_src
* Question 5
  Obtain the square in the center of the image
* Solution 5
  #+begin_src python
    In []: imshow(I[75:225, 75:225])
  #+end_src
* Question 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
  You should now be able to --
  - Manipulate single \& multi dimensional arrays
      - Access and change individual elements 
      - Access and change rows and columns 
      - Slice and stride on arrays
  - Read images into arrays and manipulate them.
* Thank you!
#+begin_latex
  \begin{block}{}
  \begin{center}
  This spoken tutorial has been produced by the
  \textcolor{blue}{FOSSEE} team, which is funded by the 
  \end{center}
  \begin{center}
    \textcolor{blue}{National Mission on Education through \\
      Information \& Communication Technology \\ 
      MHRD, Govt. of India}.
  \end{center}  
  \end{block}
#+end_latex


