50 </colgroup> |
47 </colgroup> |
51 <thead> |
48 <thead> |
52 <tr><th scope="col" class="right">Time</th><th scope="col" class="left">Speaker</th><th scope="col" class="left">Title</th></tr> |
49 <tr><th scope="col" class="right">Time</th><th scope="col" class="left">Speaker</th><th scope="col" class="left">Title</th></tr> |
53 </thead> |
50 </thead> |
54 <tbody> |
51 <tbody> |
55 <tr><td class="right">09:00-10:00</td><td class="left">John Hunter</td><td class="left"><b>Special Talk</b>: <a href="#sec-3_4">matplotlib: Beyond the simple plot</a></td></tr> |
52 <tr><td class="right">09:00-09:45</td><td class="left">Prabhu Ramachandran</td><td class="left"><b>Invited</b></td></tr> |
56 <tr><td class="right">10:00-10:45</td><td class="left">Prabhu Ramachandran</td><td class="left"><b>Invited Talk</b>: <a href="#sec-3_5">Mayavi : Bringing Data to Life</a></td></tr> |
53 <tr><td class="right">09:45-10:05</td><td class="left">Mahendrapnaik</td><td class="left">Large amounts of data downloading and processing in python with facebook data as reference</td></tr> |
57 <tr><td class="right">10:45-11:00</td><td class="left"></td><td class="left">Tea</td></tr> |
54 <tr><td class="right">10:05-10:15</td><td class="left"></td><td class="left"><b>Lightning Talks</b></td></tr> |
58 <tr><td class="right">11:00-11:45</td><td class="left">Stéfan van der Walt</td><td class="left"><b>Invited Talk</b>: <a href="#sec-3_7">In Pursuit of a Pythonic PhD</a></td></tr> |
55 <tr><td class="right">10:15-10:45</td><td class="left"></td><td class="left"><b>Tea</b></td></tr> |
59 <tr><td class="right">11:45-12:15</td><td class="left">Dharhas Pothina</td><td class="left"><a href="#sec-4_6">HyPy & HydroPic: Using python to analyze hydrographic survey data</a></td></tr> |
56 <tr><td class="right">10:45-11:05</td><td class="left">Deshpandehn</td><td class="left">Higher Order Statistics in Python</td></tr> |
60 <tr><td class="right">12:15-12:35</td><td class="left">Prashant Agrawal</td><td class="left"><a href="#sec-4_18">A Parallel 3D Flow Solver in Python Based on Vortex Methods</a></td></tr> |
57 <tr><td class="right">11:05-11:25</td><td class="left">shubham_23</td><td class="left">Combination of Python and Phoenix-M as a low cost substitute for PLC</td></tr> |
61 <tr><td class="right">12:35-13:05</td><td class="left">Ajith Kumar</td><td class="left"><a href="#sec-4_12">Python in Science Experiments using Phoenix</a></td></tr> |
58 <tr><td class="right">11:25-12:10</td><td class="left">Emmanuelle</td><td class="left"><b>Invited</b></td></tr> |
62 <tr><td class="right">13:05-14:05</td><td class="left"></td><td class="left">Lunch</td></tr> |
59 <tr><td class="right">12:10-13:10</td><td class="left"></td><td class="left"><b>Lunch</b></td></tr> |
63 <tr><td class="right">14:05-14:15</td><td class="left">Harikrishna</td><td class="left"><a href="#sec-4_23">Python based Galaxy workflow integration on GARUDA Grid</a></td></tr> |
60 <tr><td class="right">13:10-13:55</td><td class="left">Asokan</td><td class="left"><b>Invited</b></td></tr> |
64 <tr><td class="right">14:15-14:25</td><td class="left">Arun C. H.</td><td class="left"><a href="#sec-4_3">Automation of an Optical Spectrometer</a></td></tr> |
61 <tr><td class="right">13:55-14:15</td><td class="left">Jaidev</td><td class="left">A Python Toolbox for the Hilbert-Huang Transform</td></tr> |
65 <tr><td class="right">14:25-14:35</td><td class="left"></td><td class="left"><a href="#More==Lightning==Talks">More Lightning Talks</a></td></tr> |
62 <tr><td class="right">14:15-14:45</td><td class="left">Cjgiridhar</td><td class="left">Diving in to Byte-code optimization in Python</td></tr> |
66 <tr><td class="right">14:35-14:55</td><td class="left">Krishnakant Mane</td><td class="left"><a href="#sec-4_22">Convincing Universities to include Python</a></td></tr> |
63 <tr><td class="right">14:45-14:55</td><td class="left"></td><td class="left"><b>Lightning Talks</b></td></tr> |
67 <tr><td class="right">14:55-15:15</td><td class="left">Shantanu Choudhary</td><td class="left"><a href="#sec-4_4">"Python" Swiss army knife for Prototyping, Research and Fun.</a></td></tr> |
64 <tr><td class="right">14:55-15:25</td><td class="left"></td><td class="left"><b>Tea</b></td></tr> |
68 <tr><td class="right">15:15-15:35</td><td class="left">Puneeth Chaganti</td><td class="left"><a href="#sec-4_21">Pictures, Songs and Python</a></td></tr> |
65 <tr><td class="right">15:25-16:05</td><td class="left">Ole Nielsen</td><td class="left"><b>Invited</b></td></tr> |
69 <tr><td class="right">15:35-15:55</td><td class="left">Hrishikesh Deshpande</td><td class="left"><a href="#sec-4_5">Wavelet based denoising of ECG using Python</a></td></tr> |
66 <tr><td class="right">16:05-16:35</td><td class="left">Kunalp</td><td class="left">GPU Accelerated Computational Fluid Dynamics with Python</td></tr> |
70 <tr><td class="right">15:55-16:10</td><td class="left"></td><td class="left">Tea-Break</td></tr> |
67 <tr><td class="right">16:35-16:45</td><td class="left">Cons0ul</td><td class="left">Reverse Engineering and python</td></tr> |
71 <tr><td class="right">16:10-16:40</td><td class="left">Jarrod Millman</td><td class="left"><b>Invited Talk</b><a href="#sec-3_8">Building an open development community for neuroimaging analysis</a></td></tr> |
68 <tr><td class="right">16:10-16:40</td><td class="left">Jarrod Millman</td><td class="left"><b>Invited</b></td></tr> |
72 <tr><td class="right">16:40-17:00</td><td class="left">Ramakrishna Reddy Yekulla</td><td class="left"><a href="#sec-4_13">Building and Packaging your Scientific Python Application For Linux Distributions</a></td></tr> |
|
73 <tr><td class="right">17:00-17:20</td><td class="left">Yogesh Karpate</td><td class="left"><a href="#sec-4_16">Automatic Proteomic Finger Printing using Scipy</a></td></tr> |
|
74 <tr><td class="right">17:20-17:40</td><td class="left">Manjusha Joshi</td><td class="left"><a href="#sec-4_15">SAGE for Scientific computing and Education enhancement</a></td></tr> |
|
75 </tbody> |
69 </tbody> |
76 </table> |
70 </table> |
77 |
71 <br/><br/> |
78 |
|
79 |
|
80 |
|
81 |
|
82 |
|
83 |
|
84 <h2 id="sec-3">Invited Talks </h2> |
|
85 |
|
86 |
|
87 |
|
88 |
|
89 |
|
90 |
|
91 <h3 id="sec-3_1">How Python Slithered into Astronomy </h3> |
|
92 |
|
93 |
|
94 <p>Perry Greenfield |
|
95 </p> |
|
96 |
|
97 |
|
98 |
|
99 <h4 id="sec-3_1_1">Talk/Paper Abstract </h4> |
|
100 |
|
101 |
|
102 <p>I will talk about how Python was used to solve our problems for |
|
103 the Hubble Space Telescope. From humble beginnings as a glue |
|
104 element for our legacy software, it has become a cornerstone of |
|
105 our scientific software for HST and the next large space |
|
106 telescope, the James Webb Space Telescope, as well as many other |
|
107 astronomy projects. The talk will also cover some of the history |
|
108 of essential elements for scientific Python and where future |
|
109 work is needed, and why Python is so well suited for scientific |
|
110 software. |
|
111 </p> |
|
112 |
|
113 |
|
114 |
|
115 |
|
116 |
|
117 |
|
118 <h3 id="sec-3_2">IPython : Beyond the Simple Shell </h3> |
|
119 |
|
120 |
|
121 <p>Fernando Perez |
|
122 </p> |
|
123 |
|
124 |
|
125 |
|
126 <h4 id="sec-3_2_1">Talk/Paper Abstract </h4> |
|
127 |
|
128 |
|
129 <p>IPython is a widely used system for interactive computing in |
|
130 Python that extends the capabilities of the Python shell with |
|
131 operating system access, powerful object introspection, |
|
132 customizable "magic" commands and many more features. It also |
|
133 contains a set of tools to control parallel computations via |
|
134 high-level interfaces that can be used either interactively or |
|
135 in long-running batch mode. In this talk I will outline some of |
|
136 the main features of IPython as it has been widely adopted by |
|
137 the scientific Python user base, and will then focus on recent |
|
138 developments. Using the high performance ZeroMQ networking |
|
139 library, we have recently restructured IPython to decouple the |
|
140 kernel executing user code from the control interface. This |
|
141 allows us to expose multiple clients with different |
|
142 capabilities, including a terminal-based one, a rich Qt client |
|
143 and a web-based one with full matplotlib support. In conjunction |
|
144 with the new HTML5 matplotlib backend, this architecture opens |
|
145 the door for a rich web-based environment for interactive, |
|
146 collaborative and parallel computing. There is much interesting |
|
147 development to be done on this front, and I hope to encourage |
|
148 participants at the sprints during the conference to join this |
|
149 effort. |
|
150 </p> |
|
151 |
|
152 |
|
153 |
|
154 |
|
155 |
|
156 |
|
157 <h3 id="sec-3_3">Teaching Programming with Python </h3> |
|
158 |
|
159 |
|
160 <p>Asokan Pichai |
|
161 </p> |
|
162 |
|
163 |
|
164 |
|
165 <h4 id="sec-3_3_1">Talk/Paper Abstract </h4> |
|
166 |
|
167 |
|
168 <p>As a trainer I have been engaged a lot for teaching fresh |
|
169 Software Engineers and software job aspirants. Before starting |
|
170 on the language, platform specific areas I teach a part I refer |
|
171 to as Problem Solving and Programming Logic. I have used Python |
|
172 for this portion of training in the last 12+years. In this talk |
|
173 I wish to share my experiences and approaches. This talk is |
|
174 intended at Teachers, Trainers, Python Evangelists, and HR |
|
175 Managers [if they lose their way and miraculously find |
|
176 themselves in SciPy :-)] |
|
177 </p> |
|
178 |
|
179 |
|
180 |
|
181 |
|
182 |
|
183 |
|
184 <h3 id="sec-3_4">matplotlib: Beyond the simple plot </h3> |
|
185 |
|
186 |
|
187 <p>John Hunter |
|
188 </p> |
|
189 |
|
190 |
|
191 |
|
192 <h4 id="sec-3_4_1">Talk/Paper Abstract </h4> |
|
193 |
|
194 |
|
195 <p>matplotlib, a python package for making sophisticated |
|
196 publication quality 2D graphics, and some 3D, has long supported |
|
197 a wide variety of basic plotting types such line graphs, bar |
|
198 charts, images, spectral plots, and more. In this talk, we will |
|
199 look at some of the new features and performance enhancements in |
|
200 matplotlib as well as some of the comparatively undiscovered |
|
201 features such as interacting with your data and graphics, and |
|
202 animating plot elements with the new animations API. We will |
|
203 explore the performance with large datasets utilizing the new |
|
204 path simplification algorithm, and discuss areas where |
|
205 performance improvements are still needed. Finally, we will |
|
206 demonstrate the new HTML5 backend, which in combination with the |
|
207 new HTML5 IPython front-end under development, will enable an |
|
208 interactive Python shell with interactive graphics in a web |
|
209 browser. |
|
210 </p> |
|
211 |
|
212 |
|
213 |
|
214 |
|
215 |
|
216 <h3 id="sec-3_5">Mayavi : Bringing Data to Life </h3> |
|
217 |
|
218 |
|
219 <p>Prabhu Ramachandran |
|
220 </p> |
|
221 |
|
222 |
|
223 |
|
224 <h4 id="sec-3_5_1">Talk/Paper Abstract </h4> |
|
225 |
|
226 |
|
227 <p>Mayavi is a powerful 3D plotting package implemented in |
|
228 Python. It includes both a standalone user interface along with |
|
229 a powerful yet simple scripting interface. The key feature of |
|
230 Mayavi though is that it allows a Python user to rapidly |
|
231 visualize data in the form of NumPy arrays. Apart from these |
|
232 basic features, Mayavi has some advanced features. These |
|
233 include, automatic script recording, embedding into a custom |
|
234 user dialog and application. Mayavi can also be run in an |
|
235 offscreen mode and be embedded in a sage notebook |
|
236 (<a href="http://www.sagemath.org">http://www.sagemath.org</a>). We will first rapidly demonstrate |
|
237 these key features of Mayavi. We will then discuss some of the |
|
238 underlying technologies like enthought.traits, traitsUI and TVTK |
|
239 that form the basis of Mayavi. The objective of this is to |
|
240 demonstrate the wide range of capabilities that both Mayavi and |
|
241 its underlying technologies provide the Python programmer. |
|
242 </p> |
|
243 |
|
244 |
|
245 |
|
246 |
|
247 |
|
248 <h3 id="sec-3_6">Nipype: Opensource platform for unified and replicable interaction with existing neuroimaging tools </h3> |
|
249 |
|
250 |
|
251 <p>Satrajit Ghosh |
|
252 </p> |
|
253 |
|
254 |
|
255 |
|
256 <h4 id="sec-3_6_1">Talk/Paper Abstract </h4> |
|
257 |
|
258 |
|
259 <p>Current neuroimaging software offer users an incredible |
|
260 opportunity to analyze their data in different ways, with |
|
261 different underlying assumptions. However, this has resulted in |
|
262 a heterogeneous collection of specialized applications without |
|
263 transparent interoperability or a uniform operating |
|
264 interface. Nipype, an open-source, community-developed |
|
265 initiative under the umbrella of Nipy, is a Python project that |
|
266 solves these issues by providing a uniform interface to existing |
|
267 neuroimaging software and by facilitating interaction between |
|
268 these packages within a single workflow. Nipype provides an |
|
269 environment that encourages interactive exploration of |
|
270 neuroimaging algorithms from different packages, eases the |
|
271 design of workflows within and between packages, and reduces the |
|
272 learning curve necessary to use different packages. Nipype is |
|
273 creating a collaborative platform for neuroimaging software |
|
274 development in a high-level language and addressing limitations |
|
275 of existing pipeline systems. |
|
276 </p> |
|
277 |
|
278 |
|
279 |
|
280 |
|
281 |
|
282 |
|
283 |
|
284 |
|
285 |
|
286 <h3 id="sec-3_7">In Pursuit of a Pythonic PhD </h3> |
|
287 |
|
288 |
|
289 <p>Stéfan van der Walt |
|
290 </p> |
|
291 |
|
292 |
|
293 |
|
294 <h4 id="sec-3_7_1">Talk/Paper Abstract </h4> |
|
295 |
|
296 |
|
297 <p>In May of 2005, I started a pilgrimage to transform myself into |
|
298 a doctor of engineering. Little did I know, then, that my |
|
299 journey would bring me in touch with some of the most creative, |
|
300 vibrant and inspiring minds in the open source world, and that |
|
301 an opportunity would arise to help realise their (and now my) |
|
302 dream: a completely free and open environment for performing |
|
303 cutting edge science. In this talk, I take you on my journey, |
|
304 and along the way introduce the NumPy and SciPy projects, our |
|
305 community, the early days of packaging, our documentation |
|
306 project, the publication of conference proceedings as well as |
|
307 work-shops and sprints around the world. I may even tell you a |
|
308 bit about my PhD on super-resolution imaging! |
|
309 </p> |
|
310 |
|
311 |
|
312 |
|
313 |
|
314 |
|
315 |
|
316 <h3 id="sec-3_8">Building an open development community for neuroimaging analysis</h3> |
|
317 |
|
318 |
|
319 <p>Jarrod Millman |
|
320 </p> |
|
321 |
|
322 |
|
323 |
|
324 <h4 id="sec-3_8_1">Talk/Paper Abstract </h4> |
|
325 |
|
326 |
|
327 <p>Programming is becoming increasingly important to scientific activity. As its |
|
328 importance grows, the need for better software tools becomes more and more |
|
329 central to scientific practice. However, many fields of science rely on |
|
330 badly written, poorly documented, and insufficiently tested codebases. |
|
331 Moreover, scientific software packages often implement only the approaches |
|
332 and algorithms needed or promoted by the specific lab where the software |
|
333 was written.</p> |
|
334 |
|
335 <p>In this talk, I will illustrate this situation by discussing some of the |
|
336 weaknesses of the software ecosystem for neuroimaging analysis circa 2004. |
|
337 I will then describe how several of my colleagues and I are attempting |
|
338 to rectify this situation with a project called Neuroimaging in Python |
|
339 (http://nipy.org). Specifically, I will discuss the approach we've taken |
|
340 (e.g., using Python) and the lessons we've learned. |
|
341 </p> |
|
342 |
|
343 |
|
344 |
|
345 |
|
346 |
|
347 |
|
348 |
|
349 |
|
350 <h2 id="sec-4">Submitted Talks </h2> |
|
351 |
|
352 |
|
353 |
|
354 |
|
355 |
|
356 |
|
357 <h3 id="sec-4_1">Python as a Platform for Scientific Computing Literacy for 10+2 Students: Weighing the Balance </h3> |
|
358 |
|
359 |
|
360 <p>Farhat Habib |
|
361 </p> |
|
362 |
|
363 |
|
364 |
|
365 <h4 id="sec-4_1_1">Talk/Paper Abstract </h4> |
|
366 |
|
367 |
|
368 <p>The use of Python as a language for introducing computing is |
|
369 becoming increasingly widespread. Here we report out findings |
|
370 from two years of running an introduction to computing course |
|
371 with Python as the programming language, and building upon it, |
|
372 using SciPy as a scientific computing language in a course on |
|
373 scientific computing. |
|
374 </p> |
|
375 |
|
376 <p> |
|
377 The course is designed as a general computing course for |
|
378 introducing computing to first year undergraduate students of |
|
379 science. We find that a large majority of our incoming students |
|
380 have no prior exposure to programming and none of the students |
|
381 had any exposure to Python. Thus, the design of the course is |
|
382 such that it allows everybody to be brought up to speed with |
|
383 general programming concepts. Later, the students will later |
|
384 specialize in varied topics from Biology to pure Mathematics, |
|
385 thus, the course emphasizes general computing concepts over |
|
386 specialized techniques. At a second course in Scien- tific |
|
387 Computing numerical methods are introduced with the aid of |
|
388 Scipy. The introduction to computing course has been taught |
|
389 twice in Fall 2009 and 2010 to batches of around 100 students |
|
390 each. In this paper we report our experience with teaching |
|
391 Python and student and faculty feedback related to the course. |
|
392 </p> |
|
393 |
|
394 |
|
395 |
|
396 |
|
397 |
|
398 |
|
399 <h3 id="sec-4_2">Usb Connectivity Using Python </h3> |
|
400 |
|
401 |
|
402 <p>Arun C. H. |
|
403 </p> |
|
404 |
|
405 |
|
406 |
|
407 <h4 id="sec-4_2_1">Talk/Paper Abstract </h4> |
|
408 |
|
409 |
|
410 <p>Host software using Python interpreter language to communicate |
|
411 with the USB Mass Storage class device is developed and |
|
412 tested. The <sub>usic18F4550</sub>.pyd module encapsulating all the |
|
413 functions needed to configure USB is developed. The Python |
|
414 extension .pyd using C/C++ functions compatible for Windows make |
|
415 use of SWIG, distutils and MinGW. SWIG gives the flexibility to |
|
416 access lower level C/C++ code through more convenient and higher |
|
417 level languages such as Python, Java, etc. Simplified Wrapper and |
|
418 Interface Generator (SWIG) is a middle interface between Python |
|
419 and C/C++. The purpose of the Python interface is to allow the |
|
420 user to initialize and configure USB through a convenient |
|
421 scripting layer. The module is built around libusb which can |
|
422 control an USB device with just a few lines. Libusb-win32 is a |
|
423 port of the USB library to the Windows operating system. The |
|
424 library allows user space applications to access any USB device on |
|
425 Windows in a generic way without writing any line of kernel driver |
|
426 code. A simple data acquisition system for measuring analog |
|
427 voltage, setting and reading the status of a particular pin of the |
|
428 micro controller is fabricated. It is interfaced to PC using USB |
|
429 port that confirms to library USB win32 device. The USB DAQ |
|
430 hardware consists of a PIC18F4550 micro-controller and the |
|
431 essential components needed for USB configuration. |
|
432 </p> |
|
433 |
|
434 |
|
435 |
|
436 |
|
437 |
|
438 |
|
439 |
|
440 |
|
441 <h3 id="sec-4_3">Automation of an Optical Spectrometer </h3> |
|
442 |
|
443 |
|
444 <p>Arun C. H. |
|
445 </p> |
|
446 |
|
447 |
|
448 |
|
449 <h4 id="sec-4_3_1">Talk/Paper Abstract </h4> |
|
450 |
|
451 |
|
452 <p>This paper describes the automation performed for an Optical |
|
453 Spectrometer in order to precisely monitor angles, change |
|
454 dispersing angle and hence measure wave length of light using a |
|
455 data logger, necessary hardware and Python. Automating instruments |
|
456 through programs provides great deal of power, flexibility and |
|
457 precision. Optical Spectrometers are devices which analyze the |
|
458 wave length of light, and are typically used to identify |
|
459 materials, and study their optical properties. A broad spectrum of |
|
460 light is dispersed using a grating and the dispersed light is |
|
461 measured using a photo transistor. The signal is processed and |
|
462 acquired using a data logger. Transfer of data, changing angle of |
|
463 diffraction are all done using the Python. The angle of |
|
464 diffraction is varied by rotating the detector to pick up lines |
|
465 using a stepper motor. The Stepper motor has 180 steps or 2 |
|
466 degrees per step. A resolution of 0.1 degree is achieved in the |
|
467 spectrometer by using the proper gear ratio. The data logger is |
|
468 interfaced to the computer through a serial port. The stepper |
|
469 motor is also interfaced to the computer through another serial |
|
470 port. Python is chosen here for its succinct notation and is |
|
471 implemented in a Linux environment. |
|
472 </p> |
|
473 |
|
474 |
|
475 |
|
476 |
|
477 |
|
478 |
|
479 |
|
480 |
|
481 <h3 id="sec-4_4">"Python" Swiss army knife for Prototyping, Research and Fun. </h3> |
|
482 |
|
483 |
|
484 <p>Shantanu Choudhary |
|
485 </p> |
|
486 |
|
487 |
|
488 |
|
489 <h4 id="sec-4_4_1">Talk/Paper Abstract </h4> |
|
490 |
|
491 |
|
492 <p>This talk would be covering usage of Python in different scenarios which helped me through my work: |
|
493 </p><ul> |
|
494 <li> |
|
495 Small mlab(Mayavi) scripts which helped in better understanding |
|
496 of problem statement. |
|
497 </li> |
|
498 <li> |
|
499 Python3.0 and its blender API's for writing plugins which are |
|
500 used for Open Source Animation movie project |
|
501 Tube(tube.freefac.org) |
|
502 </li> |
|
503 <li> |
|
504 PyOpenCL Python's interfacing for OpenCL which helped in |
|
505 prototyping and speed up of application. |
|
506 </li> |
|
507 </ul> |
|
508 |
|
509 |
|
510 |
|
511 |
|
512 |
|
513 |
|
514 |
|
515 |
|
516 <h3 id="sec-4_5">Wavelet based denoising of ECG using Python </h3> |
|
517 |
|
518 |
|
519 <p>Hrishikesh Deshpande |
|
520 </p> |
|
521 |
|
522 |
|
523 |
|
524 <h4 id="sec-4_5_1">Talk/Paper Abstract </h4> |
|
525 |
|
526 |
|
527 <p>The python module "RemNoise" is presented. It allows user to |
|
528 automatically denoise one-dimensional signal using wavelet |
|
529 transform. It also removes baseline wandering and motion |
|
530 artifacts. While RemNoise is developed primarily for biological |
|
531 signals like ECG, its design is generic enough that it should be |
|
532 useful to applications involving one-dimensional signals. The |
|
533 basic idea behind this work is to use multi-resolution property of |
|
534 wavelet transform that allows to study non-stationary signals in |
|
535 greater depth. Any signal can be decomposed into detail and |
|
536 approximation coefficients, which can further be decomposed into |
|
537 higher levels and this approach can be used to analyze the signal |
|
538 in time-frequency domain. The very first step in any |
|
539 data-processing application is to pre-process the data to make it |
|
540 noise-free. Removing noise using wavelet transform involves |
|
541 transforming the dataset into wavelet domain, zero out all |
|
542 transform coefficients using suitable thresholding method and |
|
543 reconstruct the data by taking its inverse wavelet transform. This |
|
544 module makes use of PyWavelets, Numpy and Matplotlib libraries in |
|
545 Python, and involves thresholding wavelet coefficients of the data |
|
546 using one of the several thresholding methods. It also allows |
|
547 multiplicative threshold rescaling to take into consideration |
|
548 detail coefficients in each level of wavelet decomposition. The |
|
549 user can select wavelet family and level of decompositions as |
|
550 required. To evaluate the module, we experimented with several |
|
551 complex one-dimensional signals and compared the results with |
|
552 equivalent procedures in MATLAB. The results showed that RemNoise |
|
553 is excellent module to preprocess data for noise-removal. |
|
554 </p> |
|
555 |
|
556 |
|
557 |
|
558 |
|
559 |
|
560 |
|
561 |
|
562 |
|
563 <h3 id="sec-4_6">HyPy & HydroPic: Using python to analyze hydrographic survey data </h3> |
|
564 |
|
565 |
|
566 <p>Dharhas Pothina |
|
567 </p> |
|
568 |
|
569 |
|
570 |
|
571 <h4 id="sec-4_6_1">Talk/Paper Abstract </h4> |
|
572 |
|
573 |
|
574 |
|
575 <p> |
|
576 The Texas Water Development Board(TWDB) collects hydrographic |
|
577 survey data in lakes, rivers and estuaries. The data collected |
|
578 includes single, dual and tri-frequency echo sounder data |
|
579 collected in conjunction with survey grade GPS systems. This raw |
|
580 data is processed to develop accurate representations of |
|
581 bathymetry and sedimentation in the water bodies surveyed. |
|
582 </p> |
|
583 <p> |
|
584 This talk provides an overview of how the Texas Water Development |
|
585 Board (TWDB) is using python to streamline and automate the |
|
586 process of converting raw hydrographic survey data to finished |
|
587 products that can then be used in other engineering applications |
|
588 such as hydrodynamic models, determining lake |
|
589 elevation-area-capacity relationships and sediment contour maps, |
|
590 etc. |
|
591 </p> |
|
592 <p> |
|
593 The first part of this talk will present HyPy, a python module |
|
594 (i.e. function library) for hydrographic survey data |
|
595 analysis. This module contains functions to read in data from |
|
596 several brands of depth sounders, conduct anisotropic |
|
597 interpolations along river channels, apply tidal and elevation |
|
598 corrections, apply corrections to boat path due to loss of GPS |
|
599 signals as well as a variety of convenience functions for dealing |
|
600 with spatial data. |
|
601 </p> |
|
602 <p> |
|
603 In the second part of the talk we present HydroPic, a simple |
|
604 Traits based application built of top of HyPy. HydroPic is |
|
605 designed to semi-automate the determination of sediment volume in |
|
606 a lake. Current techniques require the visual inspection of images |
|
607 of echo sounder returns along each individual profile. We show |
|
608 that this current methodology is slow and subject to high human |
|
609 variability. We present a new technique that uses computer vision |
|
610 edge detection algorithms available in python to semi-automate |
|
611 this process. HydroPic wraps these algorithms into a easy to use |
|
612 interface that allows efficient processing of data for an entire |
|
613 lake. |
|
614 </p> |
|
615 |
|
616 |
|
617 |
|
618 |
|
619 |
|
620 |
|
621 <h3 id="sec-4_7">Parallel Computation of Axisymmetric Jets </h3> |
|
622 |
|
623 |
|
624 <p>Nek Sharan |
|
625 </p> |
|
626 |
|
627 |
|
628 |
|
629 <h4 id="sec-4_7_1">Talk/Paper Abstract </h4> |
|
630 |
|
631 |
|
632 <p>Flow field for imperfectly expanded jet has been simulated using |
|
633 Python for prediction of jet screech frequency. This plays an |
|
634 important role in the design of advanced aircraft engine nozzle, |
|
635 since screech could cause sonic fatigue failure. For computation, |
|
636 unsteady axisymmetric Navier-Stokes equation is solved using fifth |
|
637 order Weighted Essentially Non-Oscillatory (WENO) scheme with a |
|
638 subgrid scale Large-Eddy Simulation (LES) model. Smagorinsky’s |
|
639 eddy viscosity model is used for subgrid scale modeling with |
|
640 second order (Total Variation Diminishing) TVD Runge Kutta time |
|
641 stepping. The performance of Python code is enhanced by using |
|
642 different Cython constructs like declaration of variables and |
|
643 numpy arrays, switching off bound check and wrap around etc. Speed |
|
644 up obtained from these methods have been individually clocked and |
|
645 compared with the Python code as well as an existing in-house C |
|
646 code. Profiling was used to highlight and eliminate the expensive |
|
647 sections of the code. |
|
648 </p> |
|
649 <p> |
|
650 Further, both shared and distributed memory architectures have |
|
651 been employed for parallelization. Shared memory parallel |
|
652 processing is implemented through a thread based model by manual |
|
653 release of Global Interpreter Lock (GIL). GIL ensures safe and |
|
654 exclusive access of Python interpreter internals to running |
|
655 thread. Hence while one thread is running with GIL the other |
|
656 threads are put on hold until the running thread ends or is forced |
|
657 to wait. Therefore to run two threads simultaneously, GIL was |
|
658 manually released using "with nogil" statement. The relative |
|
659 independence of radial and axial spatial derivative computation |
|
660 provides an option of putting them in parallel threads. On the |
|
661 other hand, distributed memory parallel processing is through MPI |
|
662 based domain decomposition, where the domain is split radially |
|
663 with an interface of three grid points. Each sub-domain is |
|
664 delegated to a different processor and communication, in the form |
|
665 of message transmission, ensures update of interface grid |
|
666 points. Performance analyses with increase in number of processors |
|
667 indicate a trade-off between computation and communication. A |
|
668 combined thread and MPI based model is attempted to harness the |
|
669 benefits from both forms of architectures. |
|
670 </p> |
|
671 |
|
672 |
|
673 |
|
674 |
|
675 |
|
676 |
|
677 |
|
678 |
|
679 <h3 id="sec-4_8">Simplified and effective Network Simulation using ns-3 </h3> |
|
680 |
|
681 |
|
682 <p>Erroju Rama Krishna |
|
683 </p> |
|
684 |
|
685 |
|
686 |
|
687 <h4 id="sec-4_8_1">Talk/Paper Abstract </h4> |
|
688 |
|
689 |
|
690 |
|
691 <p> |
|
692 Network simulation has great significance in the research areas of |
|
693 modern networks. The ns-2 is the popular simulation tool which |
|
694 proved this, in the successive path of ns-2 by maintaining the |
|
695 efficiency of the existing mechanism it has been explored with a |
|
696 new face and enhanced power of python scripting in ns-3. Python |
|
697 scripting can be added to legacy projects just as well as new |
|
698 ones, so developers don't have to abandon their old C/C++ code |
|
699 libraries, but in the ns-2 it is not possible to run a simulation |
|
700 purely from C++ (i.e., as a main() program without any OTcl), ns-3 |
|
701 does have new capabilities (such as handling multiple interfaces |
|
702 on nodes correctly, use of IP addressing and more alignment with |
|
703 Internet protocols and designs, more detailed 802.11 models, etc.) |
|
704 </p> |
|
705 <p> |
|
706 In ns-3, the simulator is written entirely in C++, with optional |
|
707 Python bindings. Simulation scripts can therefore be written in |
|
708 C++ or in Python. The results of some simulations can be |
|
709 visualized by nam, but new animators are under development. Since |
|
710 ns-3 generates pcap packet trace files, other utilities can be |
|
711 used to analyze traces as well. |
|
712 </p> |
|
713 <p> |
|
714 In this paper the efficiency and effectiveness of IP addressing |
|
715 simulation model of ns-3 is compared with the ns-2 simulation |
|
716 model,ns-3 model consisting of the scripts written in Python which |
|
717 makes the modeling simpler and effective |
|
718 </p> |
|
719 |
|
720 |
|
721 |
|
722 |
|
723 |
|
724 |
|
725 |
|
726 <h3 id="sec-4_9">PyCenter </h3> |
|
727 |
|
728 |
|
729 <p>Karthikeyan selvaraj |
|
730 </p> |
|
731 |
|
732 |
|
733 |
|
734 <h4 id="sec-4_9_1">Talk/Paper Abstract </h4> |
|
735 |
|
736 |
|
737 <p>The primary objective is defining a centralized testing |
|
738 environment and a model of testing framework which integrates all |
|
739 projects in testing in a single unit. |
|
740 </p> |
|
741 <p> |
|
742 The implementation of concurrent processing systems and adopting |
|
743 client server architecture and with partitioned server zones for |
|
744 environment manipulation, allows the server to run test requests |
|
745 from different projects with different environment and testing |
|
746 requests. The implementation provides features of auto-test |
|
747 generation, scheduled job run from server, thin and thick clients. |
|
748 </p> |
|
749 |
|
750 <p> |
|
751 The core engine facilitates the management of tests from all the |
|
752 clients with priority and remote scheduling. It has an extended |
|
753 configuration utility to manipulate test parameters and watch |
|
754 dynamic changes. It not only acts as a request pre-preprocessor |
|
755 but also a sophisticated test bed by its implementation. It is |
|
756 provided with storage and manipulation segment for every |
|
757 registered project in the server zone. The system schedules and |
|
758 records events and user activities thereby the results can be |
|
759 drilled and examined to core code level with activates and system |
|
760 states at the test event point. |
|
761 </p> |
|
762 <p> |
|
763 The system generates test cases both in human readable as well as |
|
764 executable system formats. The generated tests are based on a |
|
765 pre-defined logic in the system which can be extended to adopt new |
|
766 cases based on user requests. These are facilitated by a template |
|
767 system which has a predefined set of cases for various test types |
|
768 like compatibility, load, performance, code coverage, dependency |
|
769 and compliance testing. It is also extended with capabilities like |
|
770 centralized directory systems for user management with roles and |
|
771 privileges for authentication and authorization, global mailer |
|
772 utilities, Result consolidator and Visualizer. |
|
773 </p> |
|
774 <p> |
|
775 With the effective implementation of the system with its minimal |
|
776 requirements, the entire testing procedure can be automated with |
|
777 the testers being effectively used for configuring, ideating and |
|
778 managing the test system and scenarios. The overhead of managing |
|
779 the test procedures like environment pre-processing, test |
|
780 execution, results collection and presentation are completely |
|
781 evaded from the testing life cycle. |
|
782 </p> |
|
783 |
|
784 |
|
785 |
|
786 |
|
787 |
|
788 |
|
789 |
|
790 |
|
791 <h3 id="sec-4_10">Live media for training in experimental sciences </h3> |
|
792 |
|
793 |
|
794 <p>Georges Khaznadar |
|
795 </p> |
|
796 |
|
797 |
|
798 |
|
799 <h4 id="sec-4_10_1">Talk/Paper Abstract </h4> |
|
800 |
|
801 |
|
802 <p>A system for distance learning in the field of Physics and |
|
803 Electricity has been used for three years with some success for 15 |
|
804 years old students. The students are given a little case |
|
805 containing a PHOENIX box (see |
|
806 <a href="http://www.iuac.res.in/~elab/phoenix/">http://www.iuac.res.in/~elab/phoenix/</a>) featuring electric analog |
|
807 and digital I/O interfaces, some unexpensive discrete components |
|
808 and a live (bootable) USB stick. |
|
809 </p> |
|
810 <p> |
|
811 The PHOENIX project was started by Inter University Accelerator |
|
812 Centre in New Delhi, with the objective of improving the |
|
813 laboratory facilities at Indian Universities, and growing with the |
|
814 support of the user community. PHOENIX depends heavily on Python |
|
815 language. The data acquisition, analysis and writing simulation |
|
816 programs to teach science and computation. |
|
817 </p> |
|
818 <p> |
|
819 The hardware design of PHOENIX box is freely available. |
|
820 </p> |
|
821 <p> |
|
822 The live bootable stick provides a free/libre operating system, |
|
823 and a few dozens educational applications, including applications |
|
824 developed with Scipy to drive the PHOENIX box and manage the |
|
825 acquired measurements. The user interface has been made as |
|
826 intuitive as possible: the main window shows a photo of the front |
|
827 face of the PHOENIX acquisition device, its connections behaving |
|
828 like widgets to express their states, and a subwindow displays in |
|
829 real time the signals connected to it. A booklet gives |
|
830 general-purpose hints for the usage of the acquisition device. The |
|
831 educational interaction is done with a free learning management |
|
832 system. |
|
833 </p> |
|
834 <p> |
|
835 The talk will show how such live media can be used as powerful |
|
836 training systems, allowing students to access at home exactly the |
|
837 same environment they can find in the school, and providing them a |
|
838 lot of structured examples. |
|
839 </p> |
|
840 <p> |
|
841 This talk addresses people who are involved in education and |
|
842 training in scientific fields. It describes one method which |
|
843 allows distance learning (however requiring a few initial lessons |
|
844 to be given non-remotely), and enables students to become fluent |
|
845 with Python and its scientific extensions, while learning physics |
|
846 and electricity. This method uses Internet connections to allow |
|
847 remote interactions, but does not rely on a wide bandwidth, as the |
|
848 complete learning environment is provided by the live medium, |
|
849 which is shared by teacher and students after their beginning |
|
850 lessons. |
|
851 </p> |
|
852 |
|
853 |
|
854 |
|
855 |
|
856 |
|
857 |
|
858 |
|
859 <h3 id="sec-4_11">Use of Python and Phoenix-M interface in Robotics </h3> |
|
860 |
|
861 |
|
862 <p>Shubham Chakraborty |
|
863 </p> |
|
864 |
|
865 |
|
866 |
|
867 <h4 id="sec-4_11_1">Talk/Paper Abstract </h4> |
|
868 |
|
869 |
|
870 <p>In this paper I will show how to use Python programming with a |
|
871 computer interface such as Phoenix-M to drive simple robots. In my |
|
872 quest towards Artificial Intelligence (AI) I am experimenting with |
|
873 a lot of different possibilities in Robotics. This one is trying |
|
874 to mimic the working of a simple insect's autonomous nervous |
|
875 system using hard wiring and some minimal software usage. This is |
|
876 the precursor to my advanced robotics and AI integration where I |
|
877 plan to use an new paradigm of AI based on Machine Learning and |
|
878 Self Consciousness via Knowledge Feedback and Update process. |
|
879 </p> |
|
880 |
|
881 |
|
882 |
|
883 |
|
884 |
|
885 |
|
886 |
|
887 |
|
888 <h3 id="sec-4_12">Python in Science Experiments using Phoenix </h3> |
|
889 |
|
890 |
|
891 <p>Ajith Kumar |
|
892 </p> |
|
893 |
|
894 |
|
895 |
|
896 <h4 id="sec-4_12_1">Talk/Paper Abstract </h4> |
|
897 |
|
898 |
|
899 <p>Phoenix is a hardware plus software framework for developing |
|
900 computer interfaced science experiments. Sensor and control |
|
901 elements connected to Phoenix can be accessed using Python. Text |
|
902 based and GUI programs are available for several |
|
903 experiments. Python programming language is used as a tool for |
|
904 data acquisition, analysis and visualization. |
|
905 </p> |
|
906 <p> |
|
907 Objective of the project is to improve the laboratory facilities |
|
908 at the Universities and also to utilize computers in a better |
|
909 manner to teach science. The hardware design is freely |
|
910 available. The project is based on Free Software tools and the |
|
911 code is distributed under GNU General Public License. |
|
912 </p> |
|
913 |
|
914 |
|
915 |
|
916 |
|
917 |
|
918 |
|
919 <h3 id="sec-4_13">Building and Packaging your Scientific Python Application For Linux Distributions </h3> |
|
920 |
|
921 |
|
922 <p>Ramakrishna Reddy Yekulla |
|
923 </p> |
|
924 |
|
925 |
|
926 |
|
927 <h4 id="sec-4_13_1">Talk/Paper Abstract </h4> |
|
928 |
|
929 |
|
930 <p>If you are an Independent Researcher, Academic Project or an |
|
931 Enterprise software Company building large scale scientific python |
|
932 applications, there is a huge community of packagers who look at |
|
933 upstream python projects to get those packages into upstream |
|
934 distributions. This talk focuses on practices, making your |
|
935 applications easy to package so that they can be bundled with |
|
936 Linux distributions. Additionally this talk would be more hands |
|
937 on, more like a workshop. The audience are encouraged to bring as |
|
938 many python applications possible, using the techniques showed in |
|
939 the talk and help them package it for fedora. |
|
940 </p> |
|
941 |
|
942 |
|
943 |
|
944 |
|
945 |
|
946 |
|
947 |
|
948 |
|
949 <h3 id="sec-4_14">Microcontroller experiment and its simulation using Python </h3> |
|
950 |
|
951 |
|
952 <p>Jayesh Gandhi |
|
953 </p> |
|
954 |
|
955 |
|
956 |
|
957 <h4 id="sec-4_14_1">Talk/Paper Abstract </h4> |
|
958 |
|
959 |
|
960 <p>Electronics in industrial has been passing through revolution due |
|
961 to extensive use of Microcontroller. These electronic devices are |
|
962 having a high capability to handle multiple events. Their |
|
963 capability to communicate with the computers has made the |
|
964 revolution possible. Therefore it is very important to have |
|
965 trained Personnel in Microcontroller. In the present work |
|
966 experiments for study of Microcontrollers and its peripherals with |
|
967 Simulation using Python is carried out. This facilitates the |
|
968 teachers to demonstrate the experiments in the classroom sessions |
|
969 using simulations. Then the same experiments can be carried out in |
|
970 the labs (using the same simulation setup) and the microcontroller |
|
971 hardware to visualize and understand the experiments. Python is |
|
972 selected due to its versatility and also to promote the use of |
|
973 open source software in the education. |
|
974 </p> |
|
975 <p> |
|
976 Here we demonstrate the experiment of driving seven segment |
|
977 displays by microcontroller. Four seven segment displays are |
|
978 interfaced with the microcontroller through a single BCD to seven |
|
979 segments Display Decoder/Driver (74LS47) and switching |
|
980 transistors. The microcontroller switches on the first transistor |
|
981 connected to the first display and puts the number to be displayed |
|
982 on 74LS47. Then it pause a while, switches off the first display |
|
983 and puts the number to be displayed on the second display and |
|
984 switches it on. A similar action is carried out for all the |
|
985 display and the cycle is repeated again and again. Now we can |
|
986 control the microcontroller action using the serial port of the |
|
987 computer through python. Simulating the seven segment display |
|
988 using VPYTHON module and communicating the same action to the |
|
989 microcontroller, we can demonstrate the switching action of the |
|
990 display at a very slow rate. It is possible to actually see each |
|
991 display glowing individually one after another. Now we can |
|
992 gradually increase the rate of switching the display. You see each |
|
993 display glowing for a few milliseconds. Finally the refresh rate |
|
994 is taken very high to around more than 25 times a second we see |
|
995 that all the display glowing simultaneously. |
|
996 </p> |
|
997 <p> |
|
998 Hence it is possible to simulate and demonstrate experiments and |
|
999 understand the capabilities of the microcontroller with a lot of |
|
1000 ease and at a very low cost. |
|
1001 </p> |
|
1002 |
|
1003 |
|
1004 |
|
1005 |
|
1006 |
|
1007 |
|
1008 |
|
1009 <h3 id="sec-4_15">SAGE for Scientific computing and Education enhancement </h3> |
|
1010 |
|
1011 |
|
1012 <p>Manjusha Joshi |
|
1013 </p> |
|
1014 |
|
1015 |
|
1016 |
|
1017 <h4 id="sec-4_15_1">Talk/Paper Abstract </h4> |
|
1018 |
|
1019 |
|
1020 |
|
1021 <p> |
|
1022 Sage is Free open source software for Mathematics. |
|
1023 </p> |
|
1024 <p> |
|
1025 Sage can handle long integer computations, symbolic computing, |
|
1026 Matrices etc. Sage is used for Cryptography, Number Theory, Graph |
|
1027 Theory in education field. Note book feature in Sage, allow user |
|
1028 to record all work on worksheet for future use. These worksheets |
|
1029 can be publish for information sharing, students and trainer can |
|
1030 exchange knowledge, share, experiment through worksheets. |
|
1031 </p> |
|
1032 <p> |
|
1033 Sage is an advanced computing tool which can enhance education in |
|
1034 India. |
|
1035 </p> |
|
1036 |
|
1037 |
|
1038 |
|
1039 |
|
1040 |
|
1041 |
|
1042 |
|
1043 |
|
1044 |
|
1045 <h3 id="sec-4_16">Automatic Proteomic Finger Printing using Scipy </h3> |
|
1046 |
|
1047 |
|
1048 <p>Yogesh Karpate |
|
1049 </p> |
|
1050 |
|
1051 |
|
1052 |
|
1053 <h4 id="sec-4_16_1">Talk/Paper Abstract </h4> |
|
1054 |
|
1055 |
|
1056 <p>The idea is to demonstrate the PyProt (Python Proteomics), an |
|
1057 approach to classify mass spectrometry data and efficient use of |
|
1058 statistical methods to look for the potential prevalent disease |
|
1059 markers and proteomic pattern diagnostics. Serum proteomic pattern |
|
1060 diagnostics can be used to differentiate samples from the patients |
|
1061 with and without disease. Profile patterns are generated using |
|
1062 surface-enhanced laser desorption and ionization (SELDI) protein |
|
1063 mass spectrometry. This technology has the potential to improve |
|
1064 clinical diagnostic tests for cancer pathologies. There are two |
|
1065 datasets used in this study which are taken from the FDA-NCI |
|
1066 Clinical Proteomics Program Databank. First data is of ovarian |
|
1067 cancer and second is of Premalignant Pancreatic Cancer .The Pyprot |
|
1068 uses the high-resolution ovarian cancer data set that was |
|
1069 generated using the WCX2 protein array. The ovarian cancer dataset |
|
1070 includes 95 controls and 121 ovarian cancer sets, where as |
|
1071 pancreatic cancer dataset has 101 controls and 80 pancreatic |
|
1072 cancer sets. There are two modules designed and implemented in |
|
1073 python using Numpy , Scipy and Matplotlib. There are two different |
|
1074 kinds of classifications implemented here, first to classify the |
|
1075 ovarian cancer data set. Second type focuses on randomly |
|
1076 commingled study set of murine sera. it explores the ability of |
|
1077 the low molecular weight information archive to classify and |
|
1078 discriminate premalignant pancreatic cancer compared to the |
|
1079 control animals. |
|
1080 </p> |
|
1081 <p> |
|
1082 A crucial issue for classification is feature selection which |
|
1083 selects the relevant features in order to focus the learning |
|
1084 search. A relaxed setting for feature selection is known as |
|
1085 feature ranking, which ranks the features with respect to their |
|
1086 relevance. Pyprot comprises of two modules; First includes |
|
1087 implementation of feature ranking in Python using fisher ratio and |
|
1088 t square statistical test to avoid large feature space. In second |
|
1089 module, Multilayer perceptron (MLP) feed forward neural network |
|
1090 model with static back propagation algorithm is used to classify |
|
1091 .The results are excellent and matched with databank results and |
|
1092 concludes that PyProt is useful tool for proteomic finger |
|
1093 printing. |
|
1094 </p> |
|
1095 |
|
1096 |
|
1097 |
|
1098 |
|
1099 |
|
1100 |
|
1101 |
|
1102 |
|
1103 |
|
1104 |
|
1105 <h3 id="sec-4_17">Natural Language Processing Using Python </h3> |
|
1106 |
|
1107 |
|
1108 <p>Vaidhy Mayilrangam |
|
1109 </p> |
|
1110 |
|
1111 |
|
1112 |
|
1113 <h4 id="sec-4_17_1">Talk/Paper Abstract </h4> |
|
1114 |
|
1115 |
|
1116 <p>The purpose of this talk is to give a high-level overview of |
|
1117 various text mining techniques, the statistical approaches and the |
|
1118 interesting problems. |
|
1119 </p> |
|
1120 <p> |
|
1121 The talk will start with a short summary of two key areas – namely |
|
1122 information retrieval (IR) and information extraction (IE). We |
|
1123 will then discuss how to use the knowledge gained for |
|
1124 summarization and translation. We will talk about how to measure |
|
1125 the correctness of results. As part of measuring the correctness, |
|
1126 we will discuss about different kinds of statistical approaches |
|
1127 for classifying and clustering data. |
|
1128 </p> |
|
1129 <p> |
|
1130 We will do a short dive into NLP specific problems - identifying |
|
1131 sentence boundaries, parts of speech, noun and verb phrases and |
|
1132 named entities. We will also have a sample session on how to use |
|
1133 Python’s NLTK to accomplish these tasks. |
|
1134 </p> |
|
1135 |
|
1136 |
|
1137 |
|
1138 |
|
1139 |
|
1140 |
|
1141 |
|
1142 <h3 id="sec-4_18">A Parallel 3D Flow Solver in Python Based on Vortex Methods </h3> |
|
1143 |
|
1144 |
|
1145 <p>Prashant Agrawal |
|
1146 </p> |
|
1147 |
|
1148 |
|
1149 |
|
1150 <h4 id="sec-4_18_1">Talk/Paper Abstract </h4> |
|
1151 |
|
1152 |
|
1153 <p>A 3D flow solver for incompressible flow around arbitrary 3D |
|
1154 bodies is developed. The solver is based on vortex methods whose |
|
1155 grid-free nature makes it very general. It uses vortex particles |
|
1156 to represent the flow-field. Vortex particles (or blobs) are |
|
1157 released from the boundary, and these advect, stretch and diffuse |
|
1158 according to the Navier-Stokes equations. |
|
1159 </p> |
|
1160 <p> |
|
1161 The solver is based on a generic and extensible design. This has |
|
1162 been made possible mainly by following a universal theme of using |
|
1163 blobs in every component of the solver. Advection of the |
|
1164 particles is implemented using a parallel fast multipole |
|
1165 method. Diffusion is simulated using the Vorticity Redistribution |
|
1166 Technique (VRT). To control the number of blobs, merging of nearby |
|
1167 blobs is also performed. |
|
1168 </p> |
|
1169 <p> |
|
1170 Each component of the solver is parallelized. The boundary, |
|
1171 advection and stretching algorithms are based on the same parallel |
|
1172 velocity algorithm. Domain decomposition for parallel velocity |
|
1173 calculator is performed using Space Filling Curves. Diffusion, |
|
1174 which requires knowledge of each particle's neighbours, uses a |
|
1175 parallelized fast neighbour finder which is based on a bin data |
|
1176 structure. The same neighbour finder is used in merging also. |
|
1177 </p> |
|
1178 <p> |
|
1179 The code is written completely in Python. It is well-documented |
|
1180 and well-tested. The code base is around 4500 lines long. The |
|
1181 design follows an object oriented approach which makes it |
|
1182 extensible enough to add new features and alternate algorithms to |
|
1183 perform specific tasks. |
|
1184 </p> |
|
1185 <p> |
|
1186 The solver is also designed to run in a parallel environment |
|
1187 involving multiple processors. This parallel implementation is |
|
1188 written using mpi4py, an MPI implementation in Python. |
|
1189 </p> |
|
1190 <p> |
|
1191 Rigorous testing is performed using Python's unittest module. Some |
|
1192 standard example cases are also solved using the present solver. |
|
1193 </p> |
|
1194 <p> |
|
1195 In this talk we will outline the overall design of the solver and |
|
1196 the algorithms used. We discuss the benefits of Python and also |
|
1197 some of the current limitations with respect to parallel testing. |
|
1198 </p> |
|
1199 |
|
1200 |
|
1201 |
|
1202 |
|
1203 |
|
1204 |
|
1205 |
|
1206 <h3 id="sec-4_19">Performance Evaluation of HYBRID MAC for 802.11ad: Next Generation Multi-Gbps Wi-Fi using SimPy </h3> |
|
1207 |
|
1208 |
|
1209 <p>Hemanth Chandran |
|
1210 </p> |
|
1211 |
|
1212 |
|
1213 |
|
1214 <h4 id="sec-4_19_1">Talk/Paper Abstract </h4> |
|
1215 |
|
1216 |
|
1217 <p>Next generation Wireless Local Area Networks (WLAN) is targeting |
|
1218 at multi giga bits per second throughput by utilizing the |
|
1219 unlicensed spectrum available at 60 GHz, millimeter wavelength |
|
1220 (mmwave).Towards achieving the above goal a new standard namely |
|
1221 the 802.11ad is under consideration. Due to the limited range and |
|
1222 other typical characteristics like high path loss etc., of these |
|
1223 mmwave radios the requirement of the Medium Access Control (MAC) |
|
1224 are totally different. |
|
1225 </p> |
|
1226 <p> |
|
1227 The conventional MAC protocols tend to achieve different |
|
1228 objectives under different conditions. For example, the (Carrier |
|
1229 Sense Multiple Access / Collision Avoidance) CSMA/CA technique is |
|
1230 robust and simple and works well in overlapping network |
|
1231 scenarios. It is also suitable for bursty type of traffic. On the |
|
1232 other hand CSMA/CA is not suitable for power management since it |
|
1233 needs the stations to be awake always. Moreover it requires an |
|
1234 omni directional antenna pattern for the receiver which is |
|
1235 practically not feasible in 60 GHz band. |
|
1236 </p> |
|
1237 <p> |
|
1238 A Time Division Multiple Access (TDMA) based MAC is efficient for |
|
1239 Quality of Service (QoS) sensitive traffic. It is also useful for |
|
1240 power saving since the station knows their schedule and can |
|
1241 therefore power down in non scheduled periods. |
|
1242 </p> |
|
1243 <p> |
|
1244 For 60 GHz usages especially applications like wireless display, |
|
1245 sync and go, and large file transfer, TDMA appears to be a |
|
1246 suitable choice. Whereas for applications that require low latency |
|
1247 channel access (e.g. Internet access etc.)TDMA appears to be |
|
1248 inefficient due to the latency involved in bandwidth reservation. |
|
1249 </p> |
|
1250 <p> |
|
1251 Another choice is the polling MAC which is highly efficient for |
|
1252 the directional communication in the 60 GHz band. This provides an |
|
1253 improved data rates with directional communication as well as acts |
|
1254 as an interference mitigation scheme. On the contrary polling may |
|
1255 not be efficient for power saving and also not efficient to take |
|
1256 advantage of statistical traffic multiplexing. This technique also |
|
1257 leads to wastage of power due to polling the stations without |
|
1258 traffic to transmit. |
|
1259 </p> |
|
1260 <p> |
|
1261 Having the above facts in mind and considering the variety of |
|
1262 applications involved in the next generation WLAN systems |
|
1263 operating at 60 GHz, it can be concluded that no individual MAC |
|
1264 scheme can support the traffic requirements. |
|
1265 </p> |
|
1266 <p> |
|
1267 In this paper we use SimPy to do a Discrete Event Simulation |
|
1268 modeling of a proposed hybrid MAC protocol which dynamically |
|
1269 adjusts the channel times between contention and reservation based |
|
1270 MAC schemes, based on the traffic demand in the network. |
|
1271 </p> |
|
1272 <p> |
|
1273 We plan to model the problem of admission control and scheduling |
|
1274 using DES using SimPy. SimPy v2.1.0 is being used for the |
|
1275 simulation purposes of the proposed Hybrid MAC. We are new to |
|
1276 using Python for scientific purposes and have just begun using |
|
1277 this powerful tool to get meaningful and useful results. We plan |
|
1278 to share our learning experience and how SimPy is increasingly |
|
1279 becoming a useful tool (apart from regular modeling tools like |
|
1280 Opnet / NS2). |
|
1281 </p> |
|
1282 |
|
1283 |
|
1284 |
|
1285 |
|
1286 |
|
1287 |
|
1288 |
|
1289 |
|
1290 |
|
1291 <h3 id="sec-4_20">PySPH: Smooth Particle Hydrodynamics with Python </h3> |
|
1292 |
|
1293 |
|
1294 <p>pankaj pandey |
|
1295 </p> |
|
1296 |
|
1297 |
|
1298 |
|
1299 <h4 id="sec-4_20_1">Talk/Paper Abstract </h4> |
|
1300 |
|
1301 |
|
1302 |
|
1303 <p> |
|
1304 We present a python/cython implementation of an SPH framework |
|
1305 called PySPH. SPH (Smooth Particle Hydrodynamics) is a numerical |
|
1306 technique for the solution of the continuum equations of fluid and |
|
1307 solid mechanics. |
|
1308 </p> |
|
1309 <p> |
|
1310 PySPH was written to be a tool which requires only a basic working |
|
1311 knowledge of python. Although PySPH may be run on distributed |
|
1312 memory machines, no working knowledge of parallelism is required |
|
1313 of the user as the same code may be run either in serial or in |
|
1314 parallel only by proper invocation of the mpirun command. |
|
1315 </p> |
|
1316 <p> |
|
1317 In PySPH, we follow the message passing paradigm, using the mpi4py |
|
1318 python binding. The performance critical aspects of the SPH |
|
1319 algorithm are optimized with cython which provides the look and |
|
1320 feel of python but the performance near to that of a C/C++ |
|
1321 implementation. |
|
1322 </p> |
|
1323 <p> |
|
1324 PySPH is divided into three main modules. The base module provides |
|
1325 the data structures for the particles, and algorithms for nearest |
|
1326 neighbor retrieval. The sph module builds on this to describe the |
|
1327 interactions between particles and defines classes to manage this |
|
1328 interaction. These two modules provide the basic functionality as |
|
1329 dictated by the SPH algorithm and of these, a developer would most |
|
1330 likely be working with the sph module to enhance the functionality |
|
1331 of PySPH. The solver module typically manages the simulation being |
|
1332 run. Most of the functions and classes in this module are written |
|
1333 in pure python which makes is relatively easy to write new solvers |
|
1334 based on the provided functionality. |
|
1335 </p> |
|
1336 <p> |
|
1337 We use PySPH to solve the shock tube problem in gas dynamics and |
|
1338 the classical dam break problem for incompressible fluids. We also |
|
1339 demonstrate how to extend PySPH to solve a problem in solid |
|
1340 mechanics which requires additions to the sph module. |
|
1341 </p> |
|
1342 |
|
1343 |
|
1344 |
|
1345 |
|
1346 |
|
1347 |
|
1348 <h3 id="sec-4_21">Pictures, Songs and Python </h3> |
|
1349 |
|
1350 |
|
1351 <p>Puneeth Chaganti |
|
1352 </p> |
|
1353 |
|
1354 |
|
1355 |
|
1356 <h4 id="sec-4_21_1">Talk/Paper Abstract </h4> |
|
1357 |
|
1358 |
|
1359 <p>The aim of this talk is to get students, specially undergrads |
|
1360 excited about Python. Most of what will be shown, is out there on |
|
1361 the Open web. We just wish to draw attention of the students and |
|
1362 get them excited about Python and possibly image processing and |
|
1363 may be even cognition. We hope that this talk will help retain |
|
1364 more participants for the tutorials and sprint sessions. |
|
1365 </p> |
|
1366 <p> |
|
1367 The talk will have two parts. The talk will not consist of any |
|
1368 deep research or amazing code. It's a mash-up of some weekend |
|
1369 hacks, if they could be called so. We reiterate that the idea is |
|
1370 not to show the algorithms or the code and ideas. It is, to show |
|
1371 the power that Python gives. |
|
1372 </p> |
|
1373 <p> |
|
1374 The first part of the talk will deal with the colour Blue. We'll |
|
1375 show some code to illustrate how our eyes suck at blue (1), if |
|
1376 they really do. But, ironically, a statistical analysis that we |
|
1377 did on "Rolling Stones Magazine's Top 500 Songs of All time" (2), |
|
1378 revealed that the occurrences of blue are more than twice the |
|
1379 number of occurrences of red and green! We'll show the code used |
|
1380 to fetch the lyrics and count the occurrences. |
|
1381 </p> |
|
1382 <p> |
|
1383 The second part of the talk will show some simple hacks with |
|
1384 images. First, a simple script that converts images into ASCII |
|
1385 art. We hacked up a very rudimentary algo to convert images to |
|
1386 ASCII and it works well for "machine generated images." Next, a |
|
1387 sample program that uses OpenCV (3) that can detect faces. We wish |
|
1388 to show OpenCV since it has some really powerful stuff for image |
|
1389 processing. |
|
1390 </p> |
|
1391 <p> |
|
1392 (1) <a href="http://nfggames.com/games/ntsc/visual.shtm">http://nfggames.com/games/ntsc/visual.shtm</a> |
|
1393 (2) <a href="http://web.archive.org/web/20080622145429/www.rollingstone.com/news/coverstory/500songs">http://web.archive.org/web/20080622145429/www.rollingstone.com/news/coverstory/500songs</a> |
|
1394 (3) <a href="http://en.wikipedia.org/wiki/OpenCV">http://en.wikipedia.org/wiki/OpenCV</a> |
|
1395 </p> |
|
1396 |
|
1397 |
|
1398 |
|
1399 |
|
1400 |
|
1401 |
|
1402 |
|
1403 |
|
1404 |
|
1405 <h3 id="sec-4_22">Convincing Universities to include Python </h3> |
|
1406 |
|
1407 |
|
1408 <p>Krishnakant Mane |
|
1409 </p> |
|
1410 |
|
1411 |
|
1412 |
|
1413 <h4 id="sec-4_22_1">Talk/Paper Abstract </h4> |
|
1414 |
|
1415 |
|
1416 <p>Python has been around for a long enough time now that it needs |
|
1417 serious attention from the educational institutes which teach |
|
1418 computer science. Today Python is known for its simple syntax |
|
1419 yet powerful performance (if not the fastest performance which |
|
1420 is any ways not needed all the time ). From Scientific computing |
|
1421 till graphical user interfaces and from system administration |
|
1422 till web application development, it is used in many |
|
1423 domains. However due to Industrial propaganda leading to |
|
1424 promotion of other interpreted languages (free or proprietary)? |
|
1425 Python has not got the justice in educational sector which it |
|
1426 deserves. This paper will talk on methodologies which can be |
|
1427 adopted to convince the universities for including Python in |
|
1428 their curriculum. The speaker will provide an insight into his |
|
1429 experience on success in getting Python included in some |
|
1430 Universities. A case of SNDT University will be discussed where |
|
1431 the curriculum designers have decided to have Python in their |
|
1432 courses from the next year. The speaker will share his ideas |
|
1433 which led to this inclusion. these will include, |
|
1434 </p> |
|
1435 <ul> |
|
1436 <li> |
|
1437 Begin by doing series of Python workshops |
|
1438 </li> |
|
1439 <li> |
|
1440 Provide information and opportunities for python based projects |
|
1441 </li> |
|
1442 <li> |
|
1443 make the faculties aware of teaching ease |
|
1444 </li> |
|
1445 <li> |
|
1446 clear the FUD regarding jobs |
|
1447 </li> |
|
1448 </ul> |
|
1449 |
|
1450 |
|
1451 |
|
1452 |
|
1453 |
|
1454 |
|
1455 |
|
1456 |
|
1457 <h3 id="sec-4_23">Python based Galaxy workflow integration on GARUDA Grid </h3> |
|
1458 |
|
1459 |
|
1460 <p>Harikrishna |
|
1461 </p> |
|
1462 |
|
1463 |
|
1464 |
|
1465 <h4 id="sec-4_23_1">Talk/Paper Abstract </h4> |
|
1466 |
|
1467 |
|
1468 <p>Bioinformatics applications being complex problem involving |
|
1469 multiple comparisons, alignment, mapping and analysis can be |
|
1470 managed better using workflow solutions. Galaxy is an open web |
|
1471 based platform developed in Python for genomic research. Python |
|
1472 is a light weight dynamic language making Galaxy to be modular |
|
1473 and expandable. Bioinformatics applications being compute and |
|
1474 data intensive scale well in grid computing environments. In |
|
1475 this paper we describe bringing the Galaxy workflow to the |
|
1476 Garuda Grid computing infrastructure for enabling bioinformatics |
|
1477 applications. GAURDA grid is an aggregation of heterogeneous |
|
1478 resources and advanced capabilities for scientific |
|
1479 applications. Here we present the integration of galaxy workflow |
|
1480 tool with GARUDA grid middleware to enable computational |
|
1481 biologists to perform complex problems on the grid environment |
|
1482 through a web browser. |
|
1483 </p> |
|
1484 |
|
1485 {% endblock content %} |
72 {% endblock content %} |