Skip to content
This repository has been archived by the owner on Apr 13, 2018. It is now read-only.

spacetelescope/scientific-python-training-2012

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STSCI's Scientific Python Course 2012

Introduction

This is a data-oriented approach to Python. The focus is on showing one how to quickly get up and running reading, manipulating and displaying data learning the minimum amount of Python initially. Gradually, more Python language is introduced as more complex examples are worked through.

No Python background is required.

Course Material

Video of all the presentations is available on the STScI webpage.

Completed homework and demo IPython Notebooks are available in the homework_notebooks and lecture_notebooks directories.

Schedule

Session 1
Lecture Nov. 28, 10 AM Auditorium
Problem Review Dec. 5, 1 PM Cafe Con
Session 2
Lecture Dec. 12, 9 AM Auditorium
Problem Review Dec. 19, 9 AM Boardroom
Session 3
Lecture Jan. 16, 10 AM Auditorium
Problem Review Jan. 23, 10 AM Cafe Con
Session 4
Lecture Jan. 30, 10 AM Auditorium
Problem Review Feb. 6, 10 AM Boardroom
Session 5
Lecture Feb. 13, 10 AM Auditorium
Problem Review Feb. 20, 10 AM Boardroom
Session 6
Lecture Mar. 13, 10 AM Auditorium
Problem Review Mar. 20, 10 AM Boardroom

Course Outline

Session 1: Introduction

  • Goals
  • Sources of information
  • IPython Notebook basics
  • Examples of capabilities
    • Reading data
    • Displaying images
    • Plotting data
  • General Python practicalities
  • Exercises part of all sessions

Session 2: Basic Tools

Introduction to:

  • pyfits
  • numpy
  • matplotlib
  • ascii tables

Session 3: Source finding example part 1

  • Calling IRAF tasks, manipulating and displaying results
  • Python topics covered:
    • strings and lists
    • writing functions, modules, and scripts

Session 4: Source finding example part 2

  • Doing completeness tests on previous results and displaying results
  • Python topics covered:
    • intermediate numpy
    • looping, conditional expressions
    • random distributions

Session 5: STIS Long-Slit spectral extraction example

  • Identify location of spectral sources in STIS long-slit data, call xxx with fit locations
  • Python topics covered
    • fitting
    • numpy techniques and libraries

Session 6: Data elsewhere

Information on Scientific Python

There are many sources of information. That's sometime part of the problem (as compared to integrated tools like IDL or IRAF).

Using Python for Astronomy

Using Python for Science and Engineering

  • Numpy and SciPy: general website containing software and documentation for scientific python
  • matplotlib: 2-d plotting (and some 3-d capability)
  • IPython: enhanced interactive python environments

Books

  • Python for Data Analysis by Wes McKinney
  • SciPy and NumPy by Eli Bressert
  • A Primer on Scientific Programming with Python by Hans Petter Langtangen (Also: Python Scripting for Computational Science)
  • Beginning Python Visualization: Crafting Visual Transformation Scripts by Shai Vaingast
  • Matplotlib for Python Developers by Sandro Tosi
  • Numpy 1.5 Beginner's Guide by Ivan Idris
  • Numerical Methods in Engineering with Python by Jaan Kiusalaas

Information on General Python

Online

Books

There are a large number of books about Python.

Python 2 vs. Python 3

These two versions of Python differ in non-trivial ways. Eventually we expect that we will migrate to Python 3 (the process has been underway for a while), but we expect it will still be a couple years before a significant number of science users will be using Python 3. This course will use only Python 2 for all its examples. Discussions regarding the differences are beyond the scope of this course.

Installing AstroPy

Ureka

If you are using Ureka download the AstroPy Ureka add-on and install it with:

ur-install astropy-2012-12-05-addon.tar.gz common

Windows

Download and run the AstroPy windows installer.

Other

Those using their own setups will need to install Astropy from source. Download the source tarball, extract it, and run python setup.py install in the astropy-2012-12-05 directory.