44 </ul> |
44 </ul> |
45 |
45 |
46 <h3 id="sec-4"><span class="section-number-3"></span>Coverage </h3> |
46 <h3 id="sec-4"><span class="section-number-3"></span>Coverage </h3> |
47 |
47 |
48 |
48 |
49 <h4 id="sec-1">Day 3 </h4> |
49 <!-- <h4 id="sec-1">Day 2 </h4> --> |
50 |
50 |
51 |
51 |
52 <ul> |
52 |
53 <li> |
53 <li> |
54 Sage (2 hr 30 min) |
54 Jarrod Millman, Git/Github + NumPy/SciPy/MPL basics: 2 hrs |
55 <ul> |
55 <ul> |
56 <li> |
56 <li>Git/Github</li> |
57 getting started with Sage notebook (45 min) (<b>Prabhu</b>) |
57 <li>NumPy and SciPy basics along with the most important Matplotlib commands. |
58 <ul> |
58 This could be thought of as a quick refresher on the basic tools used in Python for scientific computing. |
59 <li> |
59 </li> |
60 introduction |
60 </ul> |
61 </li> |
61 </li> |
62 <li> |
62 |
63 starting the server |
63 <li> |
64 </li> |
64 Emmanuelle Gouillart, Image processing: 2 hrs<br /> |
65 <li> |
65 |
66 the UI |
66 <u>Image manipulation and processing using NumPy, SciPy and scikits-image</u> |
67 </li> |
67 |
68 <li> |
68 <ul> |
69 getting help |
69 <li>This tutorial will show a bag of basic recipes in order to efficiently |
70 </li> |
70 manipulate and process images in the form of NumPy arrays. |
71 <li> |
71 </li> |
72 overview of what's available in Sage |
72 <li>Target audience: scientists and engineers working with images |
73 <ul> |
73 </li> |
74 <li> |
74 <li> |
75 basic calculus |
75 Prerequisites : being able to code Python scripts and use an |
76 </li> |
76 interactive Python shell + some knowledge of NumPy |
77 <li> |
77 </li> |
78 basic algebra |
78 <li> |
79 </li> |
79 Software requirements: IPython, NumPy, SciPy, Matplolib, <a href="http://skimage.org">scikits-image</a>, and optionally sklearn |
80 <li> |
80 </li> |
81 basic plotting |
81 <li> |
82 </li> |
82 Topics covered |
83 </ul> |
83 <ul> |
84 </li> |
84 <li>I/O: how to open different image formats, how to open raw images, how to deal with very large raw files.</li> |
85 </ul> |
85 <li>Basic visualization of images, and interaction with image data</li> |
86 </li> |
86 <li>Transforming images: changing the size, resolution, orientation of an image; image filtering; image segmentation.</li> |
87 <li> |
87 <li>Extracting information from images: measuring properties of segmented objects; image classification</li> |
88 symbolics & calculus & basic plotting(1 hr) (<b>Bhanu</b>) |
88 </ul> |
89 <ul> |
89 <li> |
90 <li> |
90 This tutorial will by no means be a course on digital image processing.It is rather a bag of tricks on how to |
91 parametric plots |
91 tinker with images, and how to use the goodies of Python/NumPy/SciPy to make this task easier. A large part |
92 <ul> |
92 of the talk will be devoted to hands-on exercises using the NumPy, SciPy |
93 <li> |
93 and Matplotlib modules. Some other modules will be mentioned during the |
94 2D |
94 tutorial for more advanced uses. |
95 </li> |
95 </li> |
96 <li> |
96 <li>The course materials are available <a href="http://scipy-lectures.github.com/advanced/image_processing/index.html">here</a></li> |
97 3D |
97 </ul> |
98 </li> |
98 </li> |
99 </ul> |
99 |
100 </li> |
100 <li> |
101 </ul> |
101 Gael Varoquaux, scikit-learn: 2 hrs<br /> |
102 </li> |
102 <u>Machine learning with scikit-learn</u> |
103 <li> |
103 <ul> |
104 linear algebra (30 min) (<b>Nishanth</b>) |
104 <li> |
105 </li> |
105 Introduction to machine learning and statistical data processing with the |
106 <li> |
106 features in scikit-learn, and how to use it to solve real-world problems: |
107 Misc (15 min) |
107 from handwritten digits classification to stock market prediction. |
108 <ul> |
108 </li> |
109 <li> |
109 <li> |
110 QA |
110 Target audience : Engineers and scientists using Python for scientific |
111 </li> |
111 and numerical computing. No knowledge needed in statistical learning. |
112 </ul> |
112 </li> |
113 </li> |
113 <li> |
114 </ul> |
114 Prerequisites: Being able to code scripts and function in Python. Basic |
115 </li> |
115 knowledge of numpy and matplotlib. |
116 <li> |
116 </li> |
117 Basic Plotting (using pylab) (1 hr 30 min) (<b>Fernando</b>) |
117 <li> |
118 <ul> |
118 Software requirements: IPython, scikits.learn, matplotlib. |
119 <li> |
119 </li> |
120 getting started with ipython |
120 <li> |
121 </li> |
121 Outline |
122 <li> |
122 <ul> |
123 using the plot command interactively |
123 <li>The settings: datasets, estimators, and the prediction problem.</li> |
124 </li> |
124 <li>Regression and classification: Support Vector Machines, sparse regressions... Example: recognising hand-written digits</li> |
125 <li> |
125 <li>Model selection: choosing the right estimator, and the right parameters</li> |
126 embellishing a plot |
126 <li>Clustering: KMeans, Affinity Propagation. Example: finding structure in the stock market.</li> |
127 </li> |
127 </ul> |
128 <li> |
128 |
129 saving plots |
129 |
130 </li> |
130 </li> |
131 <li> |
131 </ul> |
132 multiple plots |
132 </li> |
133 </li> |
133 <li> |
134 <li> |
134 Ole Nielsen: Mapping and Geoprocessing with Python, 2 hrs |
135 saving to scripts and running them (from ipython) |
135 <ul> |
136 </li> |
136 <li> |
137 <li> |
137 Putting information on a map and analyzing spatial data are fundamental to a |
138 running the same thing in sage notebook |
138 wide range of areas such as navigation, working with climate or geological data, |
139 <ul> |
139 disaster management, presentation of modelling results, demographics, social networking etc. |
140 <li> |
140 </li> |
141 change language to python, import pylab, simple plot, savefig |
141 <li> |
142 </li> |
142 This tutorial will give a practical introduction to tools and techniques |
143 </ul> |
143 available for processing spatial information and, through a few hands-on |
144 </li> |
144 exercises, give the participants a sense of how to manipulate and visualise |
145 </ul> |
145 spatial data using Python. Topics covered include reading and writing |
146 </li> |
146 of important data formats for both raster and vector data, looking at the layers, |
147 <li> |
147 awareness of issues with datums and projections, calculating centroids of polygons, |
148 Plotting Experimental Data (1 hr) (<b>Puneeth</b>) |
148 calculation of distance between points on the surface of Earth, interpolation from raster |
149 <ul> |
149 grids to points etc. The tutorial has been developed for Ubuntu Linux and will provide source code, |
150 <li> |
150 tests and data for this platform. However, the content and messages should be general and apply to any platform. |
151 plotting points with lists |
151 </li> |
152 <ul> |
152 <li> |
153 <li> |
153 I assume that participants know how to write and run |
154 basic lists |
154 Python scripts and would suggest you install qgis as well as |
155 <ul> |
155 the python dependencies numpy, matplotlib and gdal on your |
156 <li> |
156 laptop. I don't assume any previous knowledge of mapping or Geographic Information Systems (GIS). |
157 indexing |
157 </li> |
158 </li> |
158 <li> |
159 <li> |
159 If you have some spatial data you want to manipulate in Python feel free to bring it along and grab me during a lunch break. |
160 appending |
160 </li> |
161 </li> |
161 </ul> |
162 </ul> |
162 </li> |
163 </li> |
163 |
164 </ul> |
164 <li> |
165 </li> |
165 Eric Jones/Puneeth/Pankaj: Traits + Traits UI. 2 hrs. |
166 <li> |
166 <ul> |
167 loading data from files using loadtxt |
167 <li> |
168 </li> |
168 Enthought’s traits package provides for a powerful object model which |
169 <li> |
169 provides a host of useful functionality with a clean and expressive syntax. |
170 using for loop with lists |
170 It is an open source library and forms the basis of the Enthought Tool Suite and many of |
171 <ul> |
171 Enthought’s internal commercial projects. In this tutorial we will cover the basics of using |
172 <li> |
172 Traits along with the UI library TraitsUI which makes it very easy to build powerful and |
173 pendulum example |
173 interactive, user interfaces using Traits. |
174 </li> |
174 </li> |
175 </ul> |
175 </ul> |
176 </li> |
176 </li> |
177 </ul> |
177 |
178 </li> |
178 <li> |
179 </ul> |
179 Prabhu Ramachandran and Gael Varoquaux, Mayavi for 3D visualization: 2 hrs |
180 |
180 |
181 |
181 <ul> |
182 |
182 <li> |
183 |
183 At the end of this tutorial attendees will learn how to visualize numpy |
184 |
184 arrays using Mayavi's mlab interface. They will also learn enough about |
185 |
185 mayavi to be able to create their own simple datasets and visualize |
186 |
186 them. If this tutorial follows one on traits, then attendees will learn |
187 <h4 id="sec-2">Day 4 </h4> |
187 how easy it is to embed 3D visualization in their own application UIs |
188 |
188 (provided they are written in wxPython or PyQt). |
189 |
189 </li> |
190 <ul> |
190 <li> |
191 <li> |
191 In this tutorial, we first provide a rapid overview of Mayavi_ and its |
192 Arrays (1 hr) (<b>Perry</b>) |
192 features. We then move on to using Mayavi via IPython_ and mlab. This |
193 <ul> |
193 is done in a hands-on fashion and introduces the audience to visualizing |
194 <li> |
194 numpy arrays and the basic mayavi visualization pipeline. We then |
195 Why use arrays |
195 introduce the audience to the basic objects and data sources used in |
196 <ul> |
196 Mayavi. We end with an example of creating custom dialogs using Traits |
197 <li> |
197 and embedding 3D visualization in these dialogs with Mayavi. |
198 finding sine of a list of million numbers |
198 </li> |
199 </li> |
199 <li> |
200 </ul> |
200 Packages required |
201 </li> |
201 <ul> |
202 <li> |
202 <li><a href="http://code.enthought.com/projects/mayavi">Mayavi</a></li> |
203 getting started with arrays |
203 <li><a href="http://ipython.scipy.org">IPython</a></li> |
204 </li> |
204 <li><a href="http://code.enthought.com/projects/traits">Traits</a></li> |
205 <li> |
205 <li>numpy, scipy</li> |
206 accessing parts of arrays |
206 </ul> |
207 <ul> |
207 </li> |
208 <li> |
208 </ul> |
209 1d slicing |
209 </li> |
210 </li> |
210 |
211 <li> |
211 |
212 1d striding |
212 <li> |
213 </li> |
213 Pankaj Pandey and Prabhu Ramachandran, An introduction to Cython: 1 hrs |
214 <li> |
214 <ul> |
215 2d slicing |
215 <li> |
216 </li> |
216 At some level, Cython (http://www.cython.org) can be thought of a Python to C compiler. |
217 <li> |
217 It allows someone to write extension modules in a language very similar to Python and |
218 2d striding |
218 therefore makes it rather easy to write C-extensions. In this tutorial we will cover |
219 </li> |
219 the basics of building extension modules with Cython. |
220 </ul> |
220 </li> |
221 </li> |
221 <li> |
222 <li> |
222 Package requirements: You will require to have Cython, the |
223 lena example of above |
223 Python development headers and a working C-compiler to run the hands-on exercises. |
224 </li> |
224 </li> |
225 <li> |
225 </ul> |
226 element wise operations |
226 </li> |
227 </li> |
227 |
228 <li> |
228 <li> |
229 matrices |
229 Puneeth Chaganti, Sage introduction/tutorial: 1 hr. |
230 <ul> |
230 <ul> |
231 <li> |
231 <li>This tutorial will feature a demonstration and a brief review of some of the capabilities of the <a href="http://www.sagemath.org">Sage notebook</a>.</li> |
232 operations on matrices like det, inv, norm. |
232 </ul> |
233 </li> |
233 </li> |
234 </ul> |
234 |
235 </li> |
235 <li> |
236 </ul> |
236 Mateusz Paprocki, SymPy: 2 hrs<br /> |
237 </li> |
237 <b>Details awaited</b> |
238 <li> |
238 </li> |
239 Scipy (1 hr 30 min) (<b>John</b>) |
|
240 <ul> |
|
241 <li> |
|
242 least square fit |
|
243 </li> |
|
244 <li> |
|
245 Roots |
|
246 <ul> |
|
247 <li> |
|
248 introduction to functions |
|
249 </li> |
|
250 </ul> |
|
251 </li> |
|
252 <li> |
|
253 Solving Equations |
|
254 </li> |
|
255 <li> |
|
256 ODE |
|
257 <ul> |
|
258 <li> |
|
259 revisiting functions |
|
260 </li> |
|
261 </ul> |
|
262 </li> |
|
263 <li> |
|
264 FFT |
|
265 </li> |
|
266 </ul> |
|
267 </li> |
|
268 <li> |
|
269 Python Language: Basics (1 hr) (<b>Asokan</b>) |
|
270 <ul> |
|
271 <li> |
|
272 basic data-types |
|
273 <ul> |
|
274 <li> |
|
275 strings |
|
276 </li> |
|
277 </ul> |
|
278 </li> |
|
279 <li> |
|
280 Operators |
|
281 </li> |
|
282 <li> |
|
283 I/O |
|
284 </li> |
|
285 <li> |
|
286 conditionals |
|
287 </li> |
|
288 <li> |
|
289 loops |
|
290 <ul> |
|
291 <li> |
|
292 while |
|
293 </li> |
|
294 <li> |
|
295 for loop and its usage with range |
|
296 </li> |
|
297 </ul> |
|
298 </li> |
|
299 </ul> |
|
300 </li> |
|
301 <li> |
|
302 Python Language: Data structures (1hr 30 min) (<b>Asokan</b>) |
|
303 <ul> |
|
304 <li> |
|
305 manipulating lists |
|
306 </li> |
|
307 <li> |
|
308 dictionaries |
|
309 </li> |
|
310 <li> |
|
311 manipulating strings |
|
312 </li> |
|
313 <li> |
|
314 getting started with tuples |
|
315 </li> |
|
316 <li> |
|
317 sets |
|
318 </li> |
|
319 <li> |
|
320 examples |
|
321 </li> |
|
322 </ul> |
|
323 </li> |
|
324 </ul> |
|
325 |
|
326 |
|
327 |
|
328 |
|
329 |
|
330 |
|
331 |
|
332 <h4 id="sec-3">Day 5 </h4> |
|
333 |
|
334 |
|
335 <ul> |
|
336 <li> |
|
337 Python Language: Advanced (1 hr) (<b>Madhu</b>) |
|
338 <ul> |
|
339 <li> |
|
340 functions |
|
341 <ul> |
|
342 <li> |
|
343 defining functions |
|
344 </li> |
|
345 <li> |
|
346 keyword arguments and default arguments |
|
347 </li> |
|
348 </ul> |
|
349 </li> |
|
350 <li> |
|
351 using python modules |
|
352 </li> |
|
353 <li> |
|
354 writing re-usable python scripts |
|
355 </li> |
|
356 <li> |
|
357 PEP-8? |
|
358 </li> |
|
359 </ul> |
|
360 </li> |
|
361 <li> |
|
362 More Numpy? (broadcasting, indexing tricks…) (1hr) (<b>Stefan</b>) |
|
363 </li> |
|
364 <li> |
|
365 Mayavi (1 hr) (<b>Prabhu</b>) |
|
366 </li> |
|
367 <li> |
|
368 Cython (1 hr) (<b>Stefan</b>) |
|
369 </li> |
|
370 <li> |
|
371 Version Control (Hg/Git) (15 min) (<b>Madhu</b>) |
|
372 </li> |
|
373 <li> |
|
374 ReST & Scipy/Numpy Documentation Editor (45 min) (<b>Stefan</b>) |
|
375 </li> |
|
376 </ul> |
|
377 |
|
378 |
|
379 <p>Any participants using their own laptops should have the required |
|
380 software installed on their machines, before coming to the venue of |
|
381 the tutorials. The installation instructions are available <a href="http://fossee.in/installation-how-to">here</a>. |
|
382 </p> |
|
383 |
|
384 |
239 |
385 <h3 id="sec-5"><span class="section-number-3"></span>Methodology </h3> |
240 <h3 id="sec-5"><span class="section-number-3"></span>Methodology </h3> |
386 |
241 |
387 <ul> |
242 <ul> |
388 <li> |
243 <li> |