Code Search for Developers
 
 
  

hstdemo.py from matplotlib at Krugle


Show hstdemo.py syntax highlighted

"""Demo of image with contour overlay

This demo displays an HST image of NGC 1275 taken with three different
filters combined as an RGB image with contours of an aligned Chandra
X-Ray image (smoothed) of the same object overplotted

The data for the images are stored as simple binary files and the
necessary shape and type info is added by the loaddata function (as
well as decompression for the HST image).

The demo creates a figure window that is the size of the HST image in
pixels so that no resampling is done, scales the plot window (axes) to
fill the figure window.  Resizing the window will modify the aspect
ratio, but correspondence between the HST image and contour image will
always be correct

The HST image was obtained from the Hubble Heritage web pages 
(http://heritage.stsci.edu/2003/14/index.html)
(Credits: NASA and The Hubble Heritage Team (STScI/AURA))
The Chandra image was obtained from the Chandra web site
http://chandra.harvard.edu/photo/2000/perseus/index.html
(Credits: NASA/CXC/SAo)
"""
from pylab import *
import matplotlib.cm as cm
import matplotlib.numerix as n
import zlib
import sys

from pylab import savefig

def load_hst_data():
    """reconstruct the numerix arrays from the data files"""

    #hst = n.fromfile('hst.dat',typecode=n.UInt8, shape=(812,592,3))/255.
    
    str = open('data/hst.zdat').read()
    dstr = zlib.decompress(str)
    hst = n.fromstring(dstr, n.UInt8)
    hst.shape = (812, 592, 3)
    hst = hst/255.
    str = open('data/chandra.dat').read()
    chandra = n.fromstring(str, n.Int16)
    chandra.shape = (812,592)
    if sys.byteorder == 'little':
        chandra  = chandra.byteswapped()

    # note that both HST and Chandra data are normalized to be between 0 and 1
    return hst, chandra/16000.

def hstdemo():
    rc('image',origin='lower') # correct display requires setting origin to this
    hst, chandra = load_hst_data()
    # set size of figure window to be exactly that of the image so no resampling is done
    h, w, d = hst.shape
    dpi=80.
    figure(figsize=(w/dpi, h/dpi), dpi=dpi)
    # set plot region to full window size
    axes((0,0,1,1))
    # display rgb HST image
    imshow(hst)
    # overplot X-ray contour map
    contour(chandra, [.95,.85, .6], linewidths=2, cmap=cm.hot)
    clim(0,1.1)
    legend(loc='lower right')
    text(160, 75, 'HST image of NGC 1275\n with Chandra X-Ray contours',
           color='white', size=22)

           

hstdemo()
savefig('hstdemo')
show()




See more files for this project here

matplotlib

Matplotlib is a pure python plotting library with the goal of making\r\npublication quality plots using a syntax familiar to matlab users. \r\nThe library uses Numeric for handling large\r\ndata sets and supports a variety of output backends

Project homepage: http://sourceforge.net/projects/matplotlib
Programming language(s): C,C++,Python
License: other

  data/
    500hgtdata.gz
    500hgtlats.gz
    500hgtlons.gz
    chandra.dat
    eeg.dat
    etopo20data.gz
    etopo20lats.gz
    etopo20lons.gz
    hst.zdat
    intc.csv
    msft.csv
    s1045.ima
  __init__.py
  align_text.py
  align_text_large.png
  align_text_small.png
  alignment_test.py
  axes_demo.py
  axes_demo_large.png
  axes_demo_small.png
  barchart_demo.py
  barchart_demo_large.png
  barchart_demo_small.png
  colours.py
  contour_shot.py
  contour_small.png
  data_helper.py
  date_demo.py
  date_demo_large.png
  date_demo_small.png
  eeg.py
  eeg_large.png
  eeg_small.png
  etopo20data.gz
  etopo20lats.gz
  etopo20lons.gz
  fill_demo.py
  fill_demo_large.png
  fill_demo_small.png
  finance_work2.py
  finance_work2_large.png
  finance_work2_small.png
  helpers.py
  histogram_demo.py
  histogram_demo_large.png
  histogram_demo_small.png
  hstdemo.py
  layer_images.py
  layer_images_large.png
  layer_images_small.png
  legend_demo.py
  legend_demo_large.png
  legend_demo_small.png
  log_shot.png
  log_shot.py
  log_shot_large.png
  log_shot_small.png
  logo.png
  makeshots.py
  mathtext_demo.py
  mathtext_demo_large.png
  mathtext_demo_small.png
  matplotlibrc
  mri_demo.py
  mri_with_eeg.py
  mri_with_eeg_large.png
  mri_with_eeg_small.png
  msft_nasdaq_d.csv
  pcolor_demo.py
  pcolor_demo_large.png
  pcolor_demo_small.png
  pfm-lsm.png
  pie_demo.py
  pie_demo_large.png
  pie_demo_small.png
  plotmap.py
  plotmap_large.png
  plotmap_small.png
  polar_demo.py
  polar_demo_large.png
  polar_demo_small.png
  proj.py
  scatter_demo2.py
  scatter_demo2_large.png
  scatter_demo2_small.png
  simple_plot.py
  simple_plot_large.png
  simple_plot_small.png
  slider_demo.py
  slider_demo_large.png
  slider_demo_small.png
  subplot_demo.py
  subplot_demo_large.png
  subplot_demo_small.png
  table_demo.py
  table_demo_large.png
  table_demo_small.png
  tex_demo.py
  tex_demo_large.png
  tex_demo_small.png
  text_themes.py
  text_themes_large.png
  text_themes_small.png
  wheeler_demo.py
  wheeler_demo_large.png
  wheeler_demo_small.png