diff --git a/source/_templates/layout.html b/source/_templates/layout.html deleted file mode 100644 index 4492141..0000000 --- a/source/_templates/layout.html +++ /dev/null @@ -1,60 +0,0 @@ -{% extends "!layout.html" %} - -{%- block extrahead %} -{{ super() }} - - - - -{% endblock %} - -{% block footer %} - Copyright: - Smithsonian Astrophysical Observatory under terms of - CC - Attribution 3.0 Creative Commons
- License -{% endblock %} diff --git a/source/astropy-UVES/UVES.rst b/source/astropy-UVES/UVES.rst index 97a82e1..63cf094 100644 --- a/source/astropy-UVES/UVES.rst +++ b/source/astropy-UVES/UVES.rst @@ -1,4 +1,4 @@ -Analyzing UVES Spectroscopy with Astropy +Astropy II: Analyzing UVES Spectroscopy ======================================== This tutorial follows my real live data analysis of MN Lup and the code developed @@ -25,15 +25,21 @@ Please download this the content, either by clicking on the link or by executing this python code:: - import urllib2, tarfile + from astropy.extern.six.moves.urllib import request + import tarfile url = 'http://python4astronomers.github.io/_downloads/astropy_UVES.tar.gz' - tarfile.open(fileobj=urllib2.urlopen(url), mode='r|*').extractall() + tarfile.open(fileobj=request.urlopen(url), mode='r|*').extractall() cd UVES ls -Then start up IPython with the ``--pylab`` option to enable easy plotting:: +Then start up IPython with the ``--matplotlib`` option and do the usual imports +to enable interactive plotting:: + + $ ipython --matplotlib + + import numpy as np + import matplotlib.pyplot as plt - ipython --pylab Acknowledgments --------------- @@ -253,7 +259,7 @@ than two lines:: # Let's just print the setup on the screen # We'll see if it's all the same. for f in filelist: - print read_setup(f) + print(read_setup(f)) .. raw:: html @@ -280,12 +286,12 @@ Units and constants in astropy Often, one has to keep track of the units for certain values. Was the wavelength given in Angstrom or in nm? In X-ray observations, a common unit of wavelength is keV. How many nm is 0.65 keV? -`astropy.units `_ +`astropy.units `_ offers a framework that can take care of this book-keeping and propagate the units through many (but not all) mathematical operations (e.g. addition, division, multiplication). Furthermore, -`astropy.constants `_ supplies the values of +`astropy.constants `_ supplies the values of many physical and astronomical constants. The easiest way to attach a unit to a number is by multiplication:: @@ -326,13 +332,13 @@ energy conservation: So, let us calculate the free-fall velocity for MN Lup:: >>> v_accr = (2.* G * M_MN_Lup/R_MN_Lup)**0.5 - >>> print v_accr + >>> print(v_accr) 504469.027564 m / (s) >>> # Maybe astronomers prefer it in the traditional cgs system? - >>> print v_accr.cgs + >>> print(v_accr.cgs) 50446902.7564 cm / (s) >>> # Or in some really obscure unit? - >>> print v_accr.to(u.mile / u.hour) + >>> print(v_accr.to(u.mile / u.hour)) 1128465.07598 mi / (h) How does the accretion velocity relate to the rotational velocity? @@ -374,7 +380,7 @@ to tell astropy that this number is dimensionless and does not carry any scaling wavelength = wavelength * (1. * u.dimensionless_unscaled+ heliocentric/c) I want to mention one more feature here (check out -`astropy.units `_ for +`astropy.units `_ for more): The ability to convert the spectral axis to frequencies or energies. Normally, a unit of length is not equivalent to a unit of energy or to a frequency, but this conversion makes sense for the wavelength of a spectrum. @@ -403,7 +409,7 @@ This is how it can be done:: The values from evolutionary tracks are indeed consistent with the spectroscopically estimated surface gravity:: - >>> print np.log10((G*M_MN_Lup/R_MN_Lup**2).cgs) + >>> print(np.log10((G*M_MN_Lup/R_MN_Lup**2).cgs)) 4.3080943799180433 .. raw:: html @@ -427,7 +433,7 @@ spectroscopically estimated surface gravity:: of the following wavelengths relative to :math:`H_\alpha`:: waveclosetoHa = np.array([6562.,6563,6565.]) * u.AA - print wave2doppler(waveclosetoHa, 656.489 * u.nm) + print(wave2doppler(waveclosetoHa, 656.489 * u.nm)) I get -132, -86 and +5 km/s. @@ -441,7 +447,7 @@ spectroscopically estimated surface gravity:: doppler = ((w-w0)/w0 * c) return doppler - print wave2doppler(waveclosetoHa, 656.489 * u.nm).decompose().to(u.km/u.s) + print(wave2doppler(waveclosetoHa, 656.489 * u.nm).decompose().to(u.km/u.s)) .. raw:: html @@ -478,7 +484,7 @@ spectroscopically estimated surface gravity:: Converting times ---------------- -`astropy.time `_ +`astropy.time `_ provides methods to convert times and dates between different systems and formats. Since the ESO fits headers already contain the time of the observation in different systems, we could just read the keyword in the time @@ -579,7 +585,7 @@ for the first spectrum:: ew = fcaII[0,:] - 1. ew = ew[:-1] * np.diff(wcaII.to(u.AA).value) - print ew.sum() + print(ew.sum()) Using ``numpy`` array notation we can actually process all spectra at once:: @@ -589,7 +595,7 @@ Using ``numpy`` array notation we can actually process all spectra at once:: Now, we want to generate a LaTeX table of the observation times, period and equivalent width that we can directly paste into our manuscript. To do so, we first collect all the columns and make an ``astropy.table.Table`` object. (Please -check `astropy.table `_ +check `astropy.table `_ or :ref:`tabular-data` for more details on ``Table``). So, here is the code:: diff --git a/source/astropy/astropy.rst b/source/astropy/astropy.rst index 0cf97ae..399e762 100644 --- a/source/astropy/astropy.rst +++ b/source/astropy/astropy.rst @@ -1,5 +1,5 @@ -Astropy -======= +Astropy I: core functions +========================= `Astropy `_ is a community-developed core Python package for Astronomy (with the term used in the broad sense, from Solar @@ -32,15 +32,20 @@ Please download this the content, either by clicking on the link or by executing this python code:: - import urllib2, tarfile + from astropy.extern.six.moves.urllib import request + import tarfile url = 'http://python4astronomers.github.io/_downloads/astropy_examples.tar' - tarfile.open(fileobj=urllib2.urlopen(url), mode='r|').extractall() + tarfile.open(fileobj=request.urlopen(url), mode='r|').extractall() cd data ls -Then start up IPython with the ``--pylab`` option to enable easy plotting:: +Then start up IPython with the ``--matplotlib`` option to enable interactive +plotting and then import numpy and matplotlib:: - ipython --pylab + $ ipython --matplotlib + + import numpy as np + import matplotlib.pyplot as plt Acknowledgments --------------- diff --git a/source/astropy/coordinates.rst b/source/astropy/coordinates.rst index a3d5f4c..b034072 100644 --- a/source/astropy/coordinates.rst +++ b/source/astropy/coordinates.rst @@ -92,10 +92,10 @@ Practical Exercises >>> from astropy import coordinates as coord >>> crab = coord.ICRSCoordinates.from_name('M1') - >>> print crab + >>> print(crab) >>> crab_gal = crab.transform_to(coord.GalacticCoordinates) - >>> print crab_gal + >>> print(crab_gal) .. raw:: html diff --git a/source/astropy/fits.rst b/source/astropy/fits.rst index 6f49819..5775ace 100644 --- a/source/astropy/fits.rst +++ b/source/astropy/fits.rst @@ -1,9 +1,11 @@ +.. include:: ../references.rst + .. _handling-fits-files: Handling FITS files =================== -.. note:: If you are already familiar with PyFITS, `astropy.io.fits` is in +.. note:: If you are already familiar with PyFITS, `astropy.io.fits`_ is in fact the same code as the latest version of PyFITS, and you can adapt old scripts that use PyFITS to use Astropy by simply doing:: @@ -17,7 +19,7 @@ Documentation ------------- For more information about the features presented below, you can read the -`astropy.io.fits `_ docs. +`astropy.io.fits`_ docs. @@ -108,7 +110,8 @@ header keywords using standard item notation:: >>> hdu.header['INSTRUME'] 'LAT' -Provided that we started up ``ipython`` with the ``--pylab`` flag, we can plot +Provided that we started up ``ipython`` with the ``--matplotlib`` flag and did +``import matplotlib.pyplot as plt``, we can plot one of the slices in photon energy:: >>> plt.imshow(hdu.data[0,:,:], origin='lower') @@ -215,14 +218,14 @@ Accessing Tabular Data In Astropy 0.2, FITS tables cannot be read/written directly from the ``Table`` class. To create a ``Table`` object from a FITS table, you can use -``astropy.io.fits``:: +`astropy.io.fits`_:: >>> from astropy.io import fits >>> from astropy.table import Table >>> data = fits.getdata('catalog.fits', 1) >>> t = Table(data) -and to write out, you can use ``astropy.io.fits``, converting the table to a +and to write out, you can use `astropy.io.fits`_, converting the table to a Numpy array:: >>> fits.writeto('new_catalog.fits', np.array(t)) @@ -285,7 +288,7 @@ Practical Exercises Using Matplotlib, make an all-sky plot of the LAT Background Model in the Plate Carée projection showing the LAT Point Source Catalog overlaid with markers, and with the correct coordinates on the axes. You should do this - using only ``astropy.io.fits``, Numpy, and Matplotlib (no WCS or + using only `astropy.io.fits`_, Numpy, and Matplotlib (no WCS or coordinate conversion library). Hint: the -CAR projection is such that the x pixel position is proportional to longitude, and the y pixel position to latitude. Bonus points for a pretty colormap. diff --git a/source/astropy/tables.rst b/source/astropy/tables.rst index caada95..f787f7a 100644 --- a/source/astropy/tables.rst +++ b/source/astropy/tables.rst @@ -17,7 +17,7 @@ Documentation ------------- For more information about the features presented below, you can read the -`astropy.table `_ docs. +`astropy.table `_ docs. Constructing and Manipulating tables @@ -43,7 +43,7 @@ about the table values and column definitions as follows:: If you print the table (either from the noteboook or in a text console session) then a formatted version appears:: - >>> print t + >>> print(t) a b c --- --- --- 1 2.0 x @@ -79,7 +79,7 @@ arrays:: One can retrieve a subset of a table by rows (using a slice) or columns (using column names), where the subset is returned as a new table:: - >>> print t[0:2] # Table object with rows 0 and 1 + >>> print(t[0:2]) # Table object with rows 0 and 1 a b c --- --- --- 1 2.0 x @@ -99,7 +99,7 @@ Modifying table values in place is flexible and works as one would expect:: >>> t[1] = (8, 9.0, "W") # Set all row values >>> t[1]['b'] = -9 # Set column 'b' of row 1 >>> t[0:2]['b'] = 100.0 # Set column 'c' of rows 0 and 1 - >>> print t + >>> print(t) a b c --- ----- --- -1 100.0 x @@ -132,7 +132,7 @@ Lastly, one can create a table with support for missing values, for example by s fill_value = (999999, 1e+20, 'N'), dtype = [('a', '>> print t + >>> print(t) a b c --- --- --- -- 2.0 x @@ -159,7 +159,7 @@ You can read this in as a ``Table`` object by simply doing:: (just ignore the warnings, which are due to Vizier not complying with the VO standard). We can see a quick overview of the table with:: - >>> print t + >>> print(t) _1RXS RAJ2000 DEJ2000 PosErr NewFlag Count e_Count HR1 e_HR1 HR2 e_HR2 Extent ---------------- --------- --------- ------ ------- --------- --------- ----- ----- ----- ----- ------ J000000.0-392902 0.00000 -39.48403 19 __.. 0.13 0.035 0.69 0.25 0.28 0.24 0 @@ -178,7 +178,8 @@ standard). We can see a quick overview of the table with:: J235944.7+220014 359.93625 22.00389 17 __.. 0.052 0.015 -0.01 0.27 0.37 0.35 0 J235959.1+083355 359.99625 8.56528 10 __.. 0.12 0.018 0.54 0.13 0.10 0.17 9 -Since we are using IPython with the ``--pylab`` option, we can easily make a +Since we are using IPython with the ``--matplotlib`` option along with +``import matplotlib.pyplot as plt``, we can easily make a histogram of the count rates:: >>> plt.hist(t['Count'], range=[0., 2], bins=100) @@ -218,7 +219,7 @@ Practical Exercises :: >>> t.keep_columns(['RAJ2000', 'DEJ2000', 'Count']) - >>> print t + >>> print(t) RAJ2000 DEJ2000 Count --------- --------- --------- 0.00000 -39.48403 0.13 @@ -239,7 +240,7 @@ Practical Exercises Note that you can also do this with:: >>> t_new = t['RAJ2000', 'DEJ2000', 'Count'] - >>> print t_new + >>> print(t_new) RAJ2000 DEJ2000 Count --------- --------- --------- 0.00000 -39.48403 0.13 diff --git a/source/astropy/wcs.rst b/source/astropy/wcs.rst index a97e5f0..875193e 100644 --- a/source/astropy/wcs.rst +++ b/source/astropy/wcs.rst @@ -56,7 +56,7 @@ Once the WCS object has been created, you can use the following methods to convert pixel to world coordinates:: >>> wx, wy = w.wcs_pix2world(250., 100., 1) - >>> print wx, wy + >>> print('{0} {1}'.format(wx, wy)) 352.67460912268814 -15.413728717834152 This converts the pixel coordinates (250, 100) to the native world coordinate @@ -66,7 +66,7 @@ indicates whether the pixel coordinates should be treated as starting from (1, coordinates is similar:: >>> px, py = w.wcs_world2pix(0., 0., 1) - >>> print px, py + >>> print('{0} {1}'.format(px, py)) 240.5 120.5 Working with arrays @@ -78,10 +78,10 @@ If many coordinates need to be transformed, then it is possible to use Numpy arr >>> px = np.linspace(200., 300., 10) >>> py = np.repeat(100., 10) >>> wx, wy = w.wcs_pix2world(px, py, 1) - >>> print wx + >>> print(wx) [ 31.31117136 22.6911179 14.09965438 5.52581152 356.9588445 348.38809541 339.80285857 331.19224432 322.54503641 313.84953796] - >>> print wy + >>> print(wy) [-15.27956026 -15.34691039 -15.39269292 -15.4170814 -15.42016742 -15.40196251 -15.36239844 -15.30132572 -15.21851046 -15.11362923] @@ -160,7 +160,7 @@ image have a valid position on the sky. values = image[py, px] # Print out the values - print values + print(values) which gives:: diff --git a/source/conf.py b/source/conf.py index d49fb49..6c9566d 100644 --- a/source/conf.py +++ b/source/conf.py @@ -28,7 +28,7 @@ extensions = ['sphinx.ext.autodoc', 'sphinx.ext.pngmath'] # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +# templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' @@ -41,16 +41,16 @@ # General information about the project. project = u'Python4Astronomers' -copyright = u'2011, Smithsonian Astrophysical Observatory' +copyright = u'2011-2015, Smithsonian Astrophysical Observatory' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '1.1' +version = '2.0' # The full version, including alpha/beta/rc tags. -release = '1.1' +release = '2.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -92,15 +92,16 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = 'default' -html_theme = 'sphinxdoc' +# html_theme = 'sphinxdoc' +html_theme = 'bootstrap-astropy' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -html_theme_options = {'nosidebar': False} +# html_theme_options = {'nosidebar': False} # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +html_theme_path = [os.path.abspath(os.path.join(os.path.dirname(__file__), 'themes'))] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". @@ -133,6 +134,12 @@ # Custom sidebar templates, maps document names to template names. #html_sidebars = {} +html_sidebars = { + '**': ['localtoc.html', 'relations.html'], + 'search': [], + 'genindex': [], + 'py-modindex': [], +} # Additional templates that should be rendered to pages, maps page names to # template names. @@ -142,7 +149,7 @@ #html_domain_indices = True # If false, no index is generated. -#html_use_index = True +# html_use_index = True # If true, the index is split into individual pages for each letter. #html_split_index = False diff --git a/source/contest/bounce.py b/source/contest/bounce.py index bd244c1..19e5ece 100644 --- a/source/contest/bounce.py +++ b/source/contest/bounce.py @@ -1,23 +1,29 @@ -#!/usr/bin/env python +import numpy as np +import matplotlib.pyplot as plt -from pylab import * - -figure(1) -clf() -axis([-10, 10, -10, 10]) +plt.figure(1) +plt.clf() +plt.axis([-10, 10, -10, 10]) +# Define properties of the "bouncing balls" n = 10 -pos = (20 * random_sample(n*2) - 10).reshape(n, 2) -vel = (0.3 * normal(size=n*2)).reshape(n, 2) -colors = random_sample([n, 4]) -sizes = 100 * random_sample(n) + 100 +pos = (20 * np.random.sample(n*2) - 10).reshape(n, 2) +vel = (0.3 * np.random.normal(size=n*2)).reshape(n, 2) +sizes = 100 * np.random.sample(n) + 100 + +# Colors where each row is (Red, Green, Blue, Alpha). Each can go +# from 0 to 1. Alpha is the transparency. +colors = np.random.sample([n, 4]) + +# Draw all the circles and return an object ``circles`` that allows +# manipulation of the plotted circles. +circles = plt.scatter(pos[:,0], pos[:,1], marker='o', s=sizes, c=colors) -circles = scatter(pos[:,0], pos[:,1], marker='o', s=sizes, c=colors) for i in range(100): pos = pos + vel - bounce = abs(pos) > 10 - vel[bounce] = -vel[bounce] - circles.set_offsets(pos) - draw() + bounce = abs(pos) > 10 # Find balls that are outside walls + vel[bounce] = -vel[bounce] # Bounce if outside the walls + circles.set_offsets(pos) # Change the positions + plt.pause(0.05) diff --git a/source/contest/bounce.rst b/source/contest/bounce.rst index 432e3f4..e0afa66 100644 --- a/source/contest/bounce.rst +++ b/source/contest/bounce.rst @@ -29,39 +29,43 @@ window. :: - figure(1) - clf() - axis([-10, 10, -10, 10]) + import numpy as np + import matplotlib.pyplot as plt + + plt.figure(1) + plt.clf() + plt.axis([-10, 10, -10, 10]) # Define properties of the "bouncing balls" n = 10 - pos = (20 * random_sample(n*2) - 10).reshape(n, 2) - vel = (0.3 * normal(size=n*2)).reshape(n, 2) - sizes = 100 * random_sample(n) + 100 + pos = (20 * np.random.sample(n*2) - 10).reshape(n, 2) + vel = (0.3 * np.random.normal(size=n*2)).reshape(n, 2) + sizes = 100 * np.random.sample(n) + 100 # Colors where each row is (Red, Green, Blue, Alpha). Each can go # from 0 to 1. Alpha is the transparency. - colors = random_sample([n, 4]) + colors = np.random.sample([n, 4]) # Draw all the circles and return an object ``circles`` that allows # manipulation of the plotted circles. - circles = scatter(pos[:,0], pos[:,1], marker='o', s=sizes, c=colors) + circles = plt.scatter(pos[:,0], pos[:,1], marker='o', s=sizes, c=colors) for i in range(100): pos = pos + vel bounce = abs(pos) > 10 # Find balls that are outside walls vel[bounce] = -vel[bounce] # Bounce if outside the walls circles.set_offsets(pos) # Change the positions - draw() + plt.draw() + plt.show() .. image:: bounce.png :scale: 50 In order to run this you should copy the lines above into a file called ``bounce.py`` in your working directory. Then start IPython as usual -with ``ipython --pylab`` or with the Pylab application on Windows and enter the following:: +with ``ipython --matplotlib`` or with the Pylab application on Windows and enter the following:: - execfile("bounce.py") + run -i bounce.py This command essentially runs the lines of the file as if you had entered them by hand, but this now allows for longer scripts. This has the convenient diff --git a/source/core/ipython.rst b/source/core/ipython.rst index 8084493..e4deb31 100644 --- a/source/core/ipython.rst +++ b/source/core/ipython.rst @@ -9,17 +9,23 @@ basic features of IPython and how it benefits interactive analysis. Before going further, open a new terminal window and change to your main Python for Astronomers working directory. Then start IPython by typing "ipython --pylab" at the command prompt:: +--matplotlib" at the command prompt:: - % ipython --pylab + $ ipython --matplotlib As we saw in the Introduction and Installation workshops, for interactive data -analysis IPython has a special ``-pylab`` command line option which -automatically imports elements of the NumPy and the Matplotlib environments. -This is equivalent to:: +analysis IPython has a special ``--matplotlib`` command line option which makes +interactive plotting work better from a terminal window by allowing a plot to +come up without blocking subsequent terminal input. + +In all of the tutorial examples we will start the session by importing the +core modules numpy and matplotlib as follows:: import numpy as np - from matplotlib import pyplot as plt + import matplotlib.pyplot as plt + +The abbreviations ``np`` and ``plt`` provide quick access to numpy and +matplotlib routines and are widely used in scientific code. .. admonition:: Reminder: What does ``import`` do? @@ -29,7 +35,7 @@ This is equivalent to:: `import `_ statement makes the functions in a module available:: - print time.ctime() # will fail + print(time.ctime()) # will fail # need to import the time module first import time time.ctime() # prints the system time @@ -39,12 +45,12 @@ This is equivalent to:: np.sum([2,3]) -IPython with the ``-pylab`` command line option provides a Matlab-like environment +IPython with the ``--matplotlib`` command line option provides a Matlab-like environment allowing very simple and direct commands like the following:: x = np.arange(0, 10, 0.2) y = np.sin(x) - print x + print(x) plt.plot(x, y) Keyboard navigation and history @@ -116,7 +122,7 @@ Try:: y = dict((x, 'value is %d' % x**2) for x in range(10)) y - print y + print(y) Further resources ^^^^^^^^^^^^^^^^^^ diff --git a/source/core/numpy_scipy.rst b/source/core/numpy_scipy.rst index e195a76..abed7bb 100644 --- a/source/core/numpy_scipy.rst +++ b/source/core/numpy_scipy.rst @@ -1,25 +1,20 @@ -:tocdepth: 2 +A Crash Course in Scientific Python: 2D STIS Reduction +------------------------------------------------------ -NumPy ------ +In this tutorial we’ll learn some bread-and-butter scientific Python skills by +performing a very simple reduction of a 2-dimensional long slit spectrum. The +data are HST/STIS observations of the Seyfert galaxy `3C 120 +`_. +We’ll perform the following steps: -`NumPy`_ is at the core of nearly every scientific Python application or -module since it provides a fast N-d array datatype that can be manipulated in a -vectorized form. This will be familiar to users of IDL or Matlab. +- Read in the 2D image. +- Plot the spatial profile and raw spectrum. +- Filter cosmic rays from the background. +- Fit for the background and subtract. +- Sum the source signal. -NumPy has a good and systematic `basic tutorial -`_ available. It is highly -recommended that you read this tutorial to fill in the gaps left by this -workshop, but on its own it's a bit dry for the impatient astronomer. - -Here we'll learn NumPy by performing a very simple reduction of a -2-dimensional long slit spectrum (3C120 from HST/STIS): - -- Read in the 2-d image -- Plot the spatial profile and raw spectrum -- Filter cosmic rays from the background -- Fit for the background and subtract -- Sum the source signal +If you’re not a STIS user or spectroscopist, don’t worry: you don’t need to +know anything about these to do the tutorial. +------------------------------------+-----------------------------------+ | **2-d longslit image** | **Final 1-d spectrum** | @@ -28,123 +23,153 @@ Here we'll learn NumPy by performing a very simple reduction of a | :scale: 70 | :scale: 45 | +------------------------------------+-----------------------------------+ -.. Topics: - - Appending - - Median - - Making arrays - - Broadcasting x = arange(5); y=x.reshape(5,1) ; x + y * 10 - - diff between list and array - - vectorized ops (do a for loop) - - exercise: make a mexican hat or similar - - boolean masking / where - - scipy 2-d median filter Setup -^^^^^^^^ +^^^^^ -Before going further you need to get the example data and script files for -the workshop. Now that you have a working Python installation we can do this -without worrying about details of the platform (e.g. linux has wget, -Mac has curl, Windows might not have tar, etc etc). +We assume that you have already installed Python, `IPython +`_, and `AstroPy `_. **If this +is not the case, talk to the person(s) running your workshop.** -Now start IPython ("ipython --pylab") or use your existing session and enter:: +Next, open up a terminal and ``cd`` to a directory where we can put some +temporary files. Now start up IPython, the enhanced Python user interface +(“shell”), by running the following command in your terminal:: - import urllib2, tarfile - url = 'http://python4astronomers.github.com/core/core_examples.tar' - tarfile.open(fileobj=urllib2.urlopen(url), mode='r|').extractall() - cd py4ast/core - ls + ipython --matplotlib -Leave this IPython session open for the rest of the workshop. +Next we’re going to download some data files that this tutorial needs. Python +comes with enough built-in features that we can actually to this from within +IPython. Type the following lines in your IPython shell, making sure to type +in everything exactly as shown and hitting ``Enter`` after each line:: -.. admonition:: Exercise (for the interested reader): How did that code above work? + from astropy.extern.six.moves.urllib import request + import tarfile + url = 'http://python4astronomers.github.io/_downloads/core_examples.tar' + tarfile.open(fileobj=request.urlopen(url), mode='r|').extractall() + %ls py4ast/core - Explain what's happening in each part of the previous code snippet to grab - the file at a URL and untar it. Google on "python urllib2" and "python - tarfile" to find the relevant module docs. Figure out how you would - use the ``tarfile`` module to create a tarfile. +The first four commands should not print anything. The last command is like an +``ls`` in a regular terminal and should show that you have a file named +``3c120_stis.fits.gz``. **If anything surprising happens here, immediately +flag down an instructor and ask them to check your setup.** -.. raw:: html +(There’s nothing stopping you from using copy/paste to get these commands into +your IPython window, but we recommand that you type them manually to start +developing your “finger memory” for typing Python.) -

Click to Show/Hide Solution

-- ``urllib2.urlopen(url)`` opens the URL as a streaming file-like object -- ``mode='r|' means ``tarfile`` is expecting a streaming file-like object - with no ability to seek in the file -- ``tarfile.open(..).extractall`` then extracts the tar archive +Warming up your IPython session +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Creating a tarfile is left for the reader to solve. +Because Python is a general-purpose language, we need to explicitly load in +the modules that are useful for astronomy. We’ll start with two. -.. raw:: html + - `NumPy `_ is at the core of nearly every scientific + Python application or module. It lets you create variables that represent + multi-dimensional arrays and do fast, vectorized math on them. This will + be familiar to users of IDL or Matlab. + - `Matplotlib `_ is the most popular module for + making plots in Python. Its design is modeled off of Matlab’s plotting + commands. -
+We load these up by typing:: -Read in the 2-d image -^^^^^^^^^^^^^^^^^^^^^^ + import numpy as np + import matplotlib.pyplot as plt + +As above, type these command exactly as written and hit ``Enter`` at the end +of each line. Throughout the rest of this tutorial, when you see Python code +displayed as above, do the same unless instructed otherwise. + +If you need to exit and restart IPython, you will need to rerun these +``import`` commands before you can do anything. (It forgets everything you did +when you exit it.) You do *not* need to rerun the ``tarfile`` commands in the +previous section, since those are only needed to download a couple of files +that will stick around on your hard drive. + +NumPy has a good and systematic `basic tutorial +`_ available. We recommend that +you read this tutorial to fill in the gaps left by this workshop, but on its +own it’s a bit dry for the impatient astronomer. -First read in the long-slit spectrum data. The standard file format available -for download from `MAST `_ is a FITS file with -three identically sized images providing the 2-d spectral intensity, error -values, and data quality for each pixel. The slit direction is along the rows -(up and down) and wavelength is in columns (left to right). :: + +Read in the two-dimensional image +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Let’s get started with the science! First we’ll read in the long-slit spectrum +data. The standard file format available for download from `MAST +`_ is a FITS-format file. It contains three +identically-sized images providing the 2D spectral intensity, error values, +and data quality for each pixel. Open up the FITS file with these commands:: from astropy.io import fits - hdus = fits.open('3c120_stis.fits.gz') + hdus = fits.open('py4ast/core/3c120_stis.fits.gz') hdus -Use the ``?`` to get a little more detail on the ``hdus`` object:: +The second command creates a variable named ``hdus`` that represents the +opened FITS file, and the third command prints out some diagnostic information +about it. + +In IPython, if you just type in a variable’s name as a command, you are shown +its value. If you type a variable’s name with a question mark, you’re shown +more details. Like so:: hdus? -Now give meaningful names to each of the three images that are available in the -FITS HDU list. You can access element ``n`` in a list with the index ``[n]``, -where the count starts from 0:: +You may not be used to understanding the output from these diagnostic +commands, but they’re telling you that the ``hdus`` variable acts like a list +of values, one for each “Header Data Unit” in the FITS file. Let’s give +meaningful names to each of the three images that are available in this FITS +file. As in many other languages, in Python you can access the *n*-th element +of a list by “indexing” it: suffixing its name with brackets, something like +``hdus[n]``. Also as in many other languages, index numbers start at zero +rather than one. So we write:: primary = hdus[0].data # Primary (NULL) header data unit img = hdus[1].data # Intensity data err = hdus[2].data # Error per pixel dq = hdus[3].data # Data quality per pixel +Here we also show how to make a comment in Python: anything between a hash +sign (``#``) and the end of a line is ignored. + Next have a look at the images using one of the standard Matplotlib plotting -functions:: +functions. The slit (spatial) direction is along the rows (up and down) and +wavelength is in columns (left to right). :: plt.imshow(img) -As you can see, it is hard to see things. So, let's set a few option for this -plot. First, we want the origin in the lower left instead of the upper left -corner:: - - plt.clf() - plt.imshow(img, origin = 'lower') - -Second, let's change the scaling to something more sensible. By default, -``plt.imshow()`` scales the colorbar from the minimum to the maximum value. In -our case that is not the best option. We can set a lower and upper bound and -add a colorbar to our plot:: +You should see something resembling a horizontal line, but it will be +difficult to make out much with the default settings. So, let’s set a few +options for this plot. It’s not obvious from the data alone, but we want the +origin in the lower left instead of the upper left corner. We also want to +change the color scaling to something more sensible. By default, +``plt.imshow()`` scales the colors from the minimum to the maximum value in +the data array that we pass it. In our case that is not the best option. We +can set a lower and upper bound and add a colorbar to our plot:: plt.clf() plt.imshow(img, origin = 'lower', vmin = -10, vmax = 65) plt.colorbar() -Your plot should not look like this (it is possible that the colormap differs, -if your matplotlib has different defaults set). +Your plot should now look like something like what we show below. The colors +may vary depending on your system’s settings. .. image:: imgview_img.png :scale: 50 .. admonition:: Exercise: View the error and data quality images - Bring up a viewer window for the other two images. Play with the toolbar - buttons on the lower-left (hint: try the four on the right first, then - imagine a web browser for the three on the left). Does the save button - work for you? + Bring up a viewer window for the other two images. Play with various buttons + on the toolbar buttons and try to determine their functions. (Hint: imagine + a web browser for the three on the left). Does the save button work for you? .. raw:: html -

Click to Show/Hide Solution

+

Click here to show/hide solution

:: - + # Errors plt.clf() plt.imshow(err, origin = 'lower', vmin = 5, vmax = 25) @@ -164,43 +189,65 @@ if your matplotlib has different defaults set).
+ +Digging deeper in the 2D image +############################## + Now discover a little bit about the images you have read in, first with ``?``:: img? -Next use ``help`` and note the slightly different information that you get:: +If you get stuck with a colon (``:``) at the bottom of the screen without +getting your prompt back, hit the ``q`` key. There is also a ``help`` function +that gives you slightly different information:: help(img) -Use tab completion to see all the methods in short form:: +The same goes here: hit ``q`` to exit out of the display if you don’t get your +prompt back. (This is called the “pager” and it follows the keys of the Unix +``more`` command.) - img. +Finally, it is very important to get used to using “tab completion” to learn +what you can do with your variables. At your IPython terminal, type ``img.`` +*without hitting Enter**, then hit the ``Tab`` key. You should see a table of +names representing functions on the ``img`` variable. You can keep hitting +``Tab`` to cycle through the options, or use an arrow key to make the display +go away. IPython is very smart and will give you helpful tab-completion +suggestions for partial variable names, module names, functions, and more. -Finally find the shape of the image and its minimum value:: +Finally let’s find the shape of the image and its minimum value:: + + img.shape # Print the shape of img + img.min() # Call the min() method on the img object. - img.shape # Get the shape of img - img.min() # Call object method min with no arguments NumPy basics ^^^^^^^^^^^^ -Before going further on the spectral extraction project we need to learn about -a few key features of NumPy. +Before going further in our data analysis, we need to learn about a few key +features of NumPy. Making arrays ############# -Arrays can be created in different ways. The ">>>" indicates the input to Python:: +Recall that we said that the key feature of NumPy is that it lets us create +variables containing multi-dimensional arrays of numbers. You can create these +arrays in numerous ways. Below we show some examples. Here, the ``>>>`` prefix +indicates a line that you could type into IPython, and any following lines +without that prefix show what IPython will show you in response. You don’t +have to type in these examples, but make sure to read them carefully. + +:: - >>> a = np.array([10, 20, 30, 40]) # create an array from a list of values + >>> a = np.array([10, 20, 30, 40]) # create an array from a list of values >>> a array([10, 20, 30, 40] - >>> b = np.arange(4) # create an array of 4 integers, from 0 to 3 + >>> b = np.arange(4) # create an array of 4 integers, from 0 to 3 >>> b - array([0, 1, 2, 3]), + array([0, 1, 2, 3]) - >>> np.arange(0.0, 10.0, 0.1) # create a float array from 0 to 100 stepping by 0.1 + >>> np.arange(0.0, 10.0, 0.1) # create an array from 0 to 100 stepping by 0.1 array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, @@ -210,48 +257,63 @@ Arrays can be created in different ways. The ">>>" indicates the input to Python 6.6, 6.7, 6.8, 6.9, 7. , 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9. , 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, - 9.9]), + 9.9]) - >>> np.linspace(-np.pi, np.pi, 5) # create an array of 5 evenly spaced samples from -pi to pi + >>> np.linspace(-np.pi, np.pi, 5) # create an array of 5 evenly spaced samples from -pi to pi array([-3.14159265, -1.57079633, 0. , 1.57079633, 3.14159265])) -New arrays can be obtained by operating with existing arrays:: +New arrays can be obtained by operating with existing arrays. In NumPy, when +you do math with arrays, it will do the math “elementwise,” by performing the +requested operation on each array element separately. Continuing the above +examples:: - >>> a + b**2 # elementwise operations + >>> a + b**2 # elementwise operations array([10, 21, 34, 49]) Arrays may have more than one dimension:: - >>> f = np.ones([3, 4]) # 3 x 4 float array of ones + >>> f = np.ones([3, 4]) # 3 x 4 array of ones >>> f array([[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], - [ 1., 1., 1., 1.]]), - - >>> g = np.zeros([2, 3, 4], dtype=int) # 2 x 3 x 4 int array of zeros + [ 1., 1., 1., 1.]]) + +Every element in an array must have the same “type”, but different arrays can +be filled with different types. As is very common in computing, Python and +NumPy distinguish between integer and “float” values. Integers (or just +“ints”) can only take on integral values (fair enough), while ”floats” can +approximate almost any real number. (“Float” is short for “floating-point,” +which refers to the broad scheme by which non-integral values are encoded in +binary. It is far beyond the purview of this tutorial, but every would-be +scientific programmer *must* learn the basics of floating-point arithmetic.) +In NumPy, each array has a “data type,” or ``dtype`` for short, that specifies +the type of its contents:: + + >>> g = np.zeros([2, 3, 4], dtype=int) # 2 x 3 x 4 integer array of zeros array([[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], - [0, 0, 0, 0]]]), + [0, 0, 0, 0]]]) - >>> i = np.zeros_like(f) # array of zeros with same shape/type as f + >>> i = np.zeros_like(f) # array of zeros with same shape and type as "f" array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.]])) -You can change the dimensions of existing arrays:: +You can change the dimensions of existing arrays, including changing the +number of dimensions that they have:: >>> w = np.arange(12) - >>> w.shape = [3, 4] # does not modify the total number of elements + >>> w.shape = [3, 4] # does not modify the total number of elements array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], - [ 8, 9, 10, 11]]), + [ 8, 9, 10, 11]]) >>> x = np.arange(5) >>> x - array([0, 1, 2, 3, 4]), + array([0, 1, 2, 3, 4]) >>> y = x.reshape(5, 1) >>> y = x.reshape(-1, 1) # Same thing but NumPy figures out correct length @@ -262,12 +324,19 @@ You can change the dimensions of existing arrays:: [3], [4]])) -It is possible to operate with arrays of different dimensions as long -as they fit well (this is known as -`broadcasting -`_ -in NumPy):: +It is possible to operate with arrays of different dimensions as long as they +fit “well”. NumPy does this using a paradigm called `broadcasting +`_. In short, +NumPy will almost always “do what you want” without needing any tricks. But +frequent NumPy users should read the rules of broadcasting to make sure they +understand how the system works. + +:: + >>> x.shape + (5,) + >>> y.shape + (5, 1) >>> x + y * 10 array([[ 0, 1, 2, 3, 4], [10, 11, 12, 13, 14], @@ -277,14 +346,14 @@ in NumPy):: .. admonition:: Exercise: Make a ripple + Set ``x`` to an array that goes from -20 to 20, stepping by 0.25. Make ``y`` + the same as ``x`` but "transposed" using the ``reshape`` trick above. Calculate a surface ``z = cos(r) / (r + 5)`` where ``r = sqrt(x**2 + - y**2)``. Set ``x`` to an array that goes from -20 to 20 stepping by 0.25 - Make ``y`` the same as ``x`` but "transposed" using the ``reshape`` trick above. - Use `plt.imshow` to display the image of ``z``. + y**2)``. Use `plt.imshow` to display the image of ``z``. .. raw:: html -

Click to Show/Hide Solution

+

Click here to show/hide solution

:: @@ -303,11 +372,12 @@ in NumPy):: Array access and slicing -############################ +######################## -NumPy provides powerful methods for accessing array elements or particular subsets of an array, -e.g. the 4th column or every other row. This is called slicing. The outputs -below illustrate basic slicing, but you don't need to type these examples:: +NumPy provides powerful methods for accessing array elements or particular +subsets of an array, e.g. “the fourth column” or “every other row.” This is +called “slicing.” The outputs below illustrate basic slicing. Once again you +don't need to type these examples, but you should read them carefully:: >>> a = np.arange(20).reshape(4,5) @@ -317,47 +387,77 @@ below illustrate basic slicing, but you don't need to type these examples:: [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]]) - >>> a[2, 3] # select element in row 2, col 3 (counting from 0) + >>> a[2, 3] # select element in row 2, column 3 (counting from 0) 13 - >>> a[2, :] # select every element in row 2 + >>> a[2, :] # select every element in row 2 array([10, 11, 12, 13, 14]) - >>> a[:, 0] # select every element in col 0 + >>> a[:, 0] # select every element in column 0 array([ 0, 5, 10, 15]) - >>> a[0:3, 1:3] + >>> a[2, 0:4] # select columns 0 to *3* in row 2 + array([10, 11, 12, 13]) + + >>> a[0:3, 1:3] # select a sub-matrix. array([[ 1, 2], [ 6, 7], [11, 12]]) -As a first practical -example plot column 300 of the longslit image to look at the spatial profile:: +As a first practical example, let’s plot column 300 of the STIS long-slit +image to look at the spatial profile:: - plt.figure() # Clear the existing plot -- by default matplotlib overplots. + plt.figure() # Start a new plot -- by default matplotlib overplots. plt.plot(img[:, 300]) .. image:: img_col300.png :scale: 50 -The full slicing syntax also allows for a step size:: +The formal syntax for array slicing is as follows. For each dimension of an +array, the most general “slice” that you can write has the form:: + + I0:I1:STEP + +Where + +- ``I0`` is the first index value. This can be any Python expression that + works out to an integer, or you can leave it blank to default to ``0``. +- ``I1`` is the index upper bound. Once again this can be any Python + expression. If you leave it blank, the slicing goes until the end of the + axis. +- ``STEP`` is the “step size” between each successive index. The default is + one. When ``step`` is not specified then the final ``:`` is not required. - = i0:i1:step - array[, , ...] +The number one “gotcha” about slicing is that the ``I1``-th index is **not** +included in your slice. For instance, the slice ``1:3`` selects only two +elements. The slice ``3:3`` selects *zero* array elements (which is perfectly +allowed). This definition is counterintuitive for most people, but it has its +merits. For instance, the number of elements in a slice is exactly ``I1 - I0`` +(unless ``STEP`` is not 1). And the slices ``X:Y`` and ``Y:Z`` are +non-overlapping subsets of the slice ``X:Z``. -- ``i0`` is the first index value (default is zero if not provided) -- ``i1`` is the index upper bound (default is last element index + 1) -- ``step`` is the step size (default is one). When ``step`` is not specified then the final ":" is not required. +To slice an array along multiple dimensions at once, you just separate +different slices with commas, writing something along the lines of:: + + array[SLICE0, SLICE1, ...] + +Where ``SLICE0`` stands for one of the expressions described above, and so on. + +There are other special cases to slicing: negative indices have special +meaning, for instance. **TODO**: point to comprehensive documentation! I can‘t +find any! .. admonition:: Exercise: Slice the error array - - For row 254 of the error array ``err`` plot columns 10 to 200 stepping by 3. - - Print a rectangular region slice of the data quality with rows 251 to 253 (inclusive) and columns 101 to - 104 (inclusive). What did you learn about the index upper bound value? + - Starting with column 10 and ending at column 200, plot every third column + of row 254 of the error array ``err``. + - Print out the numbers in a rectangular sub-matrix of the data quality + array ``dq`` with rows 251 to 253 (inclusive) and columns 101 to 104 + (inclusive). What did you learn about the index upper bound value? .. raw:: html -

Click to Show/Hide Solution

+

Click here to show/hide solution

:: @@ -365,9 +465,9 @@ The full slicing syntax also allows for a step size:: plt.plot(err[254, 10:200:3]) dq[251:254, 101:105] -The index upper bound ``i1`` is one more than the final index that gets -included in the slice. In other words the slice includes everything up to, -*but not including*, the index upper bound ``i1``. There are good reasons for +The index upper bound ``I1`` is one more than the final index that gets +included in the slice. In other words the slice includes everything up to, +*but not including*, the index upper bound ``I1``. There are good reasons for this, but for now just accept and learn it. .. image:: err_row254.png @@ -377,6 +477,7 @@ this, but for now just accept and learn it.
+ Plot the spatial profile and raw spectrum ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -404,14 +505,14 @@ cosmic-ray contamination. .. admonition:: Exercise: Use slicing to make a better spectrum plot Use slicing to do the spectrum sum using only the rows in the image where - there is a signal from the source. - Hint: zoom into the profile plot to find the right row range. + there is a signal from the source. Hint: zoom into your profile plot to find + a reasonable range of rows to use. .. raw:: html -

Click to Show/Hide Solution

+

Click here to show/hide solution

-:: +Here’s one suggested row range:: spectrum = img[250:260, :].sum(axis=0) plt.clf() @@ -430,7 +531,9 @@ cosmic-ray contamination. Filter cosmic rays from the background ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Plot five columns (wavelength) from the spectrum image as follows:: +Let’s plot five columns from the spectrum image as follows. Recall that each +column is a cut along the spatial direction; so we’re isolating the data from +five adjacent wavelength bins:: plt.clf() plt.plot(img[:, 254:259]) @@ -438,29 +541,33 @@ Plot five columns (wavelength) from the spectrum image as follows:: .. image:: img_row254_noisy.png :scale: 50 -The basic idea in spectral extraction is to subtract out the background and sum -over rows with the source signal. +The basic goal of two-dimensional spectral extraction is to subtract out the +background and sum over the rows with the source signal. -It's evident that there are significant cosmic ray defects in the data. In -order to do a good job of subtracting the background we need to filter them -out. Doing this correctly in general is difficult and in reality one would -just use the answers already provided by STSci. +The big spikes in the plot you just made are showing that there are +significant cosmic ray defects in the data. In order to do a good job of +subtracting the background we need to filter them out. Doing this correctly in +general is difficult, and for real work we’d just use the answers already +provided by the Hubble data analysts. But let’s pretend that we have to do the +cosmic-ray filtering ourselves. -**Strategy**: Use a median filter to smooth out single-pixel deviations. Then -use sigma-clipping to remove large variations between the actual and smoothed -image. - -:: +A simple strategy to accomplish this is to use a median filter to smooth out +single-pixel deviations. Then we can use sigma-clipping to remove large +variations between the actual and smoothed image. We will leverage existing +routines in the `SciPy signal processing module +`_ to +accomplish this:: import scipy.signal img_sm = scipy.signal.medfilt(img, 5) - sigma = median(err) - bad = np.abs(img - img_sm) / sigma > 8.0 + sigma = np.median(err) + bad = (np.abs(img - img_sm) / sigma) > 8.0 img_cr = img.copy() img_cr[bad] = img_sm[bad] img_cr[230:280,:] = img[230:280,:] # Filter only for background -Check if it worked:: +Let’s check if it worked by making the same plot as before, but using the +filtered data :: plt.clf() plt.plot(img_cr[:, 254:259]) @@ -468,11 +575,11 @@ Check if it worked:: .. image:: img_row254_clean.png :scale: 50 -This introduces the important concept of slicing with a **boolean mask**. Let's -look at a smaller example:: +Above we used an important NumPy tool: indexing an array with a **boolean +mask**. Let's look at a smaller example:: >>> a = np.array([1, 4, -2, 4, -5]) - >>> neg = (a < 0) # Parentheses here for clarity but are not required + >>> neg = (a < 0) # Parentheses here for clarity but are not required >>> neg array([False, False, True, False, True], dtype=bool) @@ -480,12 +587,12 @@ look at a smaller example:: >>> a array([1, 4, 0, 4, 0]) -A slightly more complex example shows that this works the same on N-d arrays -and that you can compose logical expressions:: +A slightly more complex example shows that this works the same on +multi-dimensional arrays, and that you can compose logical expressions:: >>> a = np.arange(25).reshape(5,5) - >>> ok = (a > 6) & (a < 17) # "ok = a > 6 & a < 17" will FAIL! - >>> a[~ok] = 0 # Note the "logical not" operator + >>> ok = (a > 6) & (a < 17) # "ok = a > 6 & a < 17" will FAIL! + >>> a[~ok] = 0 # "~" is the "logical not" operator >>> a array([[ 0, 0, 0, 0, 0], [ 0, 0, 7, 8, 9], @@ -500,7 +607,7 @@ and that you can compose logical expressions:: .. raw:: html -

Click to Show/Hide Solution

+

Click here to show/hide solution

:: @@ -524,20 +631,22 @@ and that you can compose logical expressions:: **Answer** Because the statement ``img_cr = img`` would just create another reference - pointing to the underlying N-d array object that ``img`` references. + pointing to the underlying array object that ``img`` references. In other + words, all it would do is give you another name by which to access for + the same block of data. - Variable names in Python are just pointers to the actual Python - object. To see this clearly do the following:: + Variable names in Python are just “pointers” to actual Python objects. To + see this clearly do the following:: >>> a = np.arange(8) >>> b = a - >>> id(a) # Unique identifier for the object referred to by "a": arange(8) + >>> id(a) # Unique identifier for the object referred to by "a" 122333200 - >>> id(b) # Unique identifier for the object referred to by "b": same ^^ + >>> id(b) # Unique identifier for the object referred to by "b" 122333200 - >>> b[3] = -10 + >>> b[3] = -10 # Modifying "b" modifies "a" too! >>> a array([ 0, 1, 2, -10, 4, 5, 6, 7]) @@ -545,8 +654,8 @@ and that you can compose logical expressions:: thing because it is efficient and consistent within Python. If you really need a copy of an array then use the copy() method as shown. - **BEWARE** of one common pitfall: NumPy "basic" slicing like ``a[3:6]`` - does NOT make a copy:: + **BEWARE** of one common pitfall: "basic" slicing in NumPy, like + ``a[3:6]``, does *not* make copies:: >>> b = a[3:6] >>> b @@ -564,35 +673,39 @@ and that you can compose logical expressions:: >>> a array([ 0, 100, 2, 3]) - >>> b # Still as expected after changing "a" + >>> b # Still as expected after changing "a" array([0, 1, 4, 9]) + Fit the background -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^ To subtract the background signal from the source region we want to fit a -quadratic to the background pixels and subtract that quadratic from the entire -image which includes the source region. +quadratic to the background pixels, then subtract that quadratic from the +entire image — including the source region. -Let's tackle a simpler problem first and fit the background for a single column:: +Let's tackle a simpler problem first and fit the background for a single +column. From visual inspection of the 2D spectrum, we have decided to isolate +rows 10–199 and 300–479 as ones containing pure background signal:: - x = append(np.arange(10, 200), np.arange(300, 480)) # Background rows - y = img_cr[x, 10] # Background rows of column 10 of cleaned image + x = np.append(np.arange(10, 200), np.arange(300, 480)) # Background rows + y = img_cr[x, 10] # Background rows in column 10 of cleaned image plt.figure() plt.plot(x, y) - pfit = np.polyfit(x, y, 2) # Fit a 2nd order polynomial to (x, y) data - yfit = np.polyval(pfit, x) # Evaluate the polynomial at x + pfit = np.polyfit(x, y, 2) # Fit a 2nd order polynomial to (x, y) data + yfit = np.polyval(pfit, x) # Evaluate the polynomial at x plt.plot(x, yfit) plt.grid() .. image:: bkg_fit0.png :scale: 50 -Now do this for every column and store the results in a background image:: +Now let’s do this for every column and store the results in a background +image:: xrows = np.arange(img_cr.shape[0]) # Array from 0 .. N_rows-1 bkg = np.zeros_like(img_cr) # Empty image for background fits - for col in np.arange(img_cr.shape[1]): # Iterate over columns + for col in np.arange(img_cr.shape[1]): # For each column ... pfit = np.polyfit(x, img_cr[x, col], 2) # Fit poly over bkg rows for col bkg[:, col] = np.polyval(pfit, xrows) # Eval poly at ALL row positions @@ -603,7 +716,7 @@ Now do this for every column and store the results in a background image:: .. image:: bkg_fit1.png :scale: 50 -Finally subtract this background and see if it worked:: +Finally let’s subtract this background and see how the results look:: img_bkg = img_cr - bkg plt.clf() @@ -622,32 +735,29 @@ Finally subtract this background and see if it worked:: If you are used to C or Fortran you might be wondering why jump through these hoops with slicing and making sure everything is vectorized. The answer is that pure Python is an interpreted dynamic language and hence doing loops is - *slow*. Try the following:: + *slow*. Try the following:: size = 500000 x = np.arange(size) a = np.zeros(size) - time for i in x: a[i] = x[i] / 2.0 + %time for i in x: a[i] = x[i] / 2.0 Now compare to the vectorized NumPy solution:: x = np.arange(size) - time a = x / 2 + %time a = x / 2 Sometimes doing things in a vectorized way is not possible or just too confusing. There is an art here and the basic answer is that if it runs fast enough then you are good to go. Otherwise things need to be vectorized or maybe coded in C or Fortran. -.. Solution - badimg = np.zeros(bad.shape) - badimg[bad] = 1 - ImgView(badimg) Sum the source signal ^^^^^^^^^^^^^^^^^^^^^^ -Now the final step is easy and is left as an exercise. +The final step in our analysis is to sum up the remaining source signal across +rows to obtain a one-dimensional spectrum. We leave this as an exercise! +------------------------------------+-----------------------------------+ |**Python for Astronomers Spectrum** | **HST official spectrum** | @@ -656,14 +766,20 @@ Now the final step is easy and is left as an exercise. | :scale: 50 | :scale: 45 | +------------------------------------+-----------------------------------+ +The biggest difference between our result and the official HST result is that +they have flux-calibrated the instrument’s response as a function of +wavelength. We haven’t bothered to do that here. + .. admonition:: Exercise: Make the final spectrum - Sum the rows of the background subtracted spectrum and plot. Hint: you - already did it once in a previous exercise. + Take the background-subtracted spectrum, sum up the rows containing the + astronomical signal, and plot the resulting one-dimensional spectrum. + You’ve already done this step in a previous exercise, but it was just using + the un-corrected data. .. raw:: html -

Click to Show/Hide Solution

+

Click here to show/hide solution

:: @@ -676,29 +792,13 @@ Now the final step is easy and is left as an exercise.
-**To do**: flux calibration and wavelength calibration! - -SciPy ------ - -It is impossible to do justice to the full contents of the `SciPy`_ package: is -entirely too large! What is left as homework for the reader is to -click through to the main `SciPy Reference Manual -`_ and skim the `tutorial -`_. Keep -this repository of functionality in mind whenever you need some numerical -functionality that isn't in NumPy: there is a good chance it is in SciPy: - -- Basic functions in Numpy (and top-level scipy) -- Special functions (scipy.special) -- Integration (scipy.integrate) -- Optimization (optimize) -- Interpolation (scipy.interpolate) -- Fourier Transforms (scipy.fftpack) -- Signal Processing (signal) -- Linear Algebra -- Statistics -- Multi-dimensional image processing (ndimage) -- File IO (scipy.io) -- Weave +Next steps +^^^^^^^^^^ +There is much more to do and learn! We have omitted many important details in +this crash course, and there are literally thousands of features in the +astronomical Python toolkit that we haven’t even mentioned. Just take a quick +look at the tables of contents for the `SciPy Reference Manual +`_ or the `AstroPy documentation +`_ to get a sense of how much is +available. diff --git a/source/downloads/fermi_agn.dat b/source/downloads/fermi_agn.dat new file mode 100644 index 0000000..5081908 --- /dev/null +++ b/source/downloads/fermi_agn.dat @@ -0,0 +1,870 @@ +name agn_name ra dec lii bii angular_separation error_radius assoc_probability optical_class sed_class redshift photon_flux_limit photon_flux photon_flux_error spectral_index spectral_index_error detection_significance variability_flag curvature_flag note_flag clean_flag type_flag null +"1FGL J1028.7-8543" "PKS 1029-85" 156.6465 -85.72086 300.17357848 -23.64907111 0.041 0.262 0.95 Unknown -999 -999.0 -999 1.2e-09 4e-10 2.55 0.19 4.7 N N S Y H -999 +"1FGL J0048.0-8412" "PKS 0044-84" 11.11192 -84.37781 303.13544614 -32.7476786 0.191 0.229 0.96 FSRQ -999 1.032 < 1.3e-09 -999.0 2.69 0.17 5.6 N N S Y H -999 +"1FGL J2201.6-8327" "PKS 2155-83" 330.58221 -83.63653 307.96201656 -31.74633189 0.181 0.191 0.85 FSRQ -999 1.865 -999 1.7e-09 4e-10 2.74 0.11 9.3 Y N S Y H -999 +"1FGL J0533.0-8324" "PKS 0541-834" 83.41038 -83.40997 295.8147017 -29.14228495 0.017 0.078 0.99 FSRQ -999 0.774 -999 2.2e-09 4e-10 2.33 0.12 10.5 Y N S Y H -999 +"1FGL J2259.9-8255" "PMN-CA J2257-8246" 344.498 -82.78153 307.03286538 -33.42029117 0.163 0.142 0.0 Unknown -999 -999.0 -999 1.1e-09 4e-10 2.11 0.2 4.3 N N -999 N A -999 +"1FGL J1153.4-8108" "PMN-CA J1149-8112" 177.28579 -81.20531 300.44909521 -18.6353721 0.176 0.248 0.0 Unknown -999 -999.0 -999 1.1e-09 4e-10 2.44 0.16 6.3 N N -999 N A -999 +"1FGL J1153.4-8108" "PKS 1153-807" 178.94242 -81.02178 300.66491953 -18.39604028 0.154 0.248 0.0 Unknown -999 -999.0 -999 1.1e-09 4e-10 2.44 0.16 6.3 N N -999 N A -999 +"1FGL J1927.3-7932" "CRATES J1923-8007" 290.77337 -80.12478 314.02939991 -28.05009344 0.614 0.483 0.0 Unknown -999 -999.0 < 1.3e-09 -999.0 2.8 0.17 5.6 N N -999 N A -999 +"1FGL J1058.1-8006" "PKS 1057-79" 164.68083 -80.06506 298.00951721 -18.28810206 0.055 0.112 1.0 BLL LSP 0.581 -999 2.2e-09 4e-10 2.45 0.1 11.8 Y N S Y H -999 +"1FGL J1927.3-7932" "CRATES J1916-7946" 289.18471 -79.77275 314.43785423 -27.78455408 0.53 0.483 0.0 FSRQ -999 0.204 < 1.3e-09 -999.0 2.8 0.17 5.6 N N -999 N A -999 +"1FGL J1927.3-7932" "CRATES J1913-7920" 288.38792 -79.33733 314.93109185 -27.64390437 0.665 0.483 0.0 Unknown -999 -999.0 < 1.3e-09 -999.0 2.8 0.17 5.6 N N -999 N A -999 +"1FGL J1424.5-7847" "PKS 1418-782" 215.93179 -78.49297 307.60797712 -16.46788993 0.297 0.431 0.92 FSRQ -999 0.789 -999 1.2e-09 4e-10 2.06 0.17 4.6 N N S N H -999 +"1FGL J1617.9-7716" "PKS 1610-77" 244.45583 -77.28844 313.43066823 -18.85383604 0.017 0.087 1.0 FSRQ LSP 1.71 -999 3.7e-09 5e-10 2.53 0.07 17.9 N N S Y H -999 +"1FGL J0734.1-7715" "PKS 0736-770" 113.68133 -77.18692 289.13161773 -24.05235039 0.078 0.151 0.99 Unknown -999 -999.0 -999 1.4e-09 4e-10 2.75 0.13 8.7 Y N S Y H -999 +"1FGL J0940.2-7605" "PKS 0943-76" 145.84887 -76.33603 292.49677697 -17.4410308 0.307 0.349 0.0 Unknown -999 -999.0 -999 1e-09 4e-10 2.78 0.15 6.8 N N -999 N A -999 +"1FGL J0811.1-7527" "CRATES J0811-7530" 122.76321 -75.50772 288.2881987 -21.44773504 0.042 0.053 0.99 Unknown ISP -999.0 -999 2.5e-09 4e-10 1.8 0.11 11.7 N N S Y H -999 +"1FGL J0636.1-7521" "PKS 0637-75" 98.94358 -75.27131 286.36832241 -27.15846645 0.085 0.134 0.99 FSRQ LSP 0.651 -999 1.8e-09 4e-10 2.49 0.13 9.8 Y N S Y H -999 +"1FGL J0559.2-7500" "PKS 0600-749" 89.69192 -74.9848 286.07772566 -29.53399335 0.04 0.14 0.98 BLL -999 -999.0 -999 1.3e-09 3e-10 2.54 0.17 7.4 N N S Y H -999 +"1FGL J0600.7-7037" "PKS 0601-70" 90.29717 -70.60239 281.03511878 -29.62957022 0.043 0.179 0.93 FSRQ -999 2.409 -999 1.7e-09 4e-10 2.52 0.13 8.2 Y N S Y H -999 +"1FGL J1330.7-7006" "PKS 1326-697" 202.54615 -70.05363 306.2504305 -7.43192764 0.072 0.114 0.99 Unknown -999 -999.0 -999 1.5e-09 4e-10 2.46 0.09 8.3 Y N S N L -999 +"1FGL J1902.3-6802" "CGRaBS J1903-6749" 285.75513 -67.82655 327.73927608 -26.05476624 0.221 0.33 0.96 FSRQ -999 0.255 < 1.1e-09 -999.0 2.84 0.15 7.3 Y N S Y H -999 +"1FGL J2140.8-6743" "CRATES J2139-6732" 324.805 -67.5355 324.85993132 -40.44333966 0.246 0.194 0.0 Unknown -999 -999.0 < 6e-10 -999.0 3.06 0.19 6.9 N N -999 N A -999 +"1FGL J1307.3-6701" "PKS 1304-668" 197.0724 -67.11812 304.57340739 -4.30009593 0.129 0.152 0.92 Unknown -999 -999.0 -999 1.4e-09 5e-10 2.57 0.09 5.3 Y N S N L -999 +"1FGL J1610.6-6649" "CRATES J1610-6649" 242.69333 -66.81702 320.78686203 -11.13838644 0.015 0.029 1.0 BLL HSP -999.0 -999 2.9e-09 4e-10 1.6 0.09 15.8 N N S Y H -999 +"1FGL J2108.6-6646" "PKS 2104-668" 317.21612 -66.62302 327.55067289 -38.15853132 0.155 0.165 0.85 Unknown LSP -999.0 -999 9e-10 3e-10 2.21 0.24 4.4 N N S Y H -999 +"1FGL J0217.9-6630" "CRATES J0216-6636" 34.21187 -66.61169 290.36333155 -48.37929395 0.153 0.108 0.0 BLL -999 -999.0 -999 9e-10 3e-10 1.94 0.17 7.0 N N -999 N A -999 +"1FGL J0700.4-6611" "PKS 0700-661" 105.13017 -66.17939 276.76878388 -23.75954654 0.015 0.052 1.0 Unknown LSP -999.0 -999 4.7e-09 5e-10 2.15 0.07 21.6 N N S Y H -999 +"1FGL J1122.9-6415" "PMN J1123-6417" 170.8309 -64.29339 293.55549344 -3.0376516 0.059 0.088 0.99 Unknown -999 -999.0 < 2.4e-09 -999.0 2.48 0.05 4.7 Y N S N L -999 +"1FGL J2134.3-6429" "CRATES J2131-6415" 322.93371 -64.25422 329.17846059 -41.26925454 0.369 0.26 0.0 Unknown -999 -999.0 -999 9e-10 3e-10 2.48 0.18 5.6 N N -999 N A -999 +"1FGL J0051.4-6242" "RBS 119" 12.81952 -62.7012 302.96342254 -54.42704148 0.025 0.067 0.0 Unknown -999 -999.0 -999 1.8e-09 3e-10 1.68 0.12 12.0 N N -999 N A -999 +"1FGL J2103.9-6237" "CRATES J2103-6232" 315.90975 -62.54072 332.72561519 -38.93425212 0.091 0.108 0.94 Unknown HSP -999.0 -999 1.5e-09 3e-10 2.03 0.13 8.9 N N S Y H -999 +"1FGL J1702.7-6217" "CGRaBS J1703-6212" 255.90171 -62.21136 328.11629859 -12.43303607 0.127 0.164 0.96 FSRQ -999 1.75 -999 1.2e-09 4e-10 2.54 0.13 6.9 N N S N H -999 +"1FGL J0303.4-6209" "PKS 0302-623" 45.96092 -62.19044 280.22881086 -48.68944298 0.049 0.139 0.99 FSRQ LSP 1.351 -999 1.3e-09 3e-10 2.59 0.13 10.2 N N S Y H -999 +"1FGL J0516.7-6207" "PKS 0516-621" 79.18754 -62.11806 271.50951024 -34.76108143 0.014 0.066 1.0 Unknown LSP -999.0 -999 3.2e-09 4e-10 2.28 0.09 17.6 Y N S Y H -999 +"1FGL J1629.5-6147" "PMN J1628-6152" 247.22787 -61.87678 325.76061668 -9.07644524 0.107 0.134 0.97 Unknown -999 -999.0 -999 2.4e-09 5e-10 2.5 0.04 9.0 N N S N L -999 +"1FGL J0238.3-6132" "PKS 0235-618" 39.22179 -61.60422 283.19597694 -51.29246822 0.188 0.286 0.94 FSRQ LSP 0.465 < 1e-09 -999.0 2.66 0.23 4.9 N N S Y H -999 +"1FGL J0507.3-6103" "PKS 0506-61" 76.68325 -61.16139 270.55042473 -36.07215145 0.126 0.115 0.95 FSRQ -999 1.093 -999 1.9e-09 3e-10 2.73 0.11 12.2 Y N MM N H -999 +"1FGL J0507.3-6103" "CRATES J0507-6104" 76.97771 -61.07861 270.42279803 -35.94401318 0.072 0.115 0.98 FSRQ -999 1.088 -999 1.9e-09 3e-10 2.73 0.11 12.2 Y N MM N H -999 +"1FGL J0310.1-6058" "PKS 0308-611" 47.48363 -60.97761 278.11767228 -48.94117091 0.025 0.098 1.0 FSRQ LSP 1.48 -999 1.4e-09 3e-10 2.53 0.14 9.6 N N S Y H -999 +"1FGL J0648.6-6052" "CRATES J0647-6058" 101.92029 -60.968 270.86541121 -23.9392891 0.146 0.398 0.77 Unknown -999 -999.0 < 1e-09 -999.0 3.8 0.49 4.7 N N S N H -999 +"1FGL J0445.2-6008" "AT20G J0445-6015" 71.25667 -60.25006 270.06527573 -38.85186786 0.105 0.169 0.0 AGN -999 0.097 -999 8e-10 3e-10 1.98 0.29 4.6 N N -999 N A -999 +"1FGL J1617.7-5843" "PMN J1617-5848" 244.32454 -58.80218 326.97036896 -5.90253086 0.092 0.146 0.98 Unknown -999 -999.0 -999 2.3e-09 5e-10 2.72 0.05 10.2 N N S N L -999 +"1FGL J0049.8-5738" "PKS 0047-579" 12.49775 -57.64067 303.31323139 -59.48650998 0.019 0.07 1.0 FSRQ LSP 1.797 -999 6e-10 2e-10 2.42 0.16 8.3 N N S Y H -999 +"1FGL J0905.1-5736" "PKS 0903-57" 136.22158 -57.58494 276.11660345 -7.04087886 0.041 0.068 1.0 FSRQ -999 0.695 -999 1.8e-09 4e-10 2.36 0.18 7.5 Y N S N L -999 +"1FGL J0537.7-5717" "SUMSS J053748-571828" 84.45325 -57.30806 265.57012579 -32.38004392 0.014 0.073 0.0 Unknown -999 -999.0 < 1e-09 -999.0 1.81 0.42 6.1 N N -999 N A -999 +"1FGL J1832.6-5700" "CRATES J1832-5659" 278.12946 -56.98856 338.23340222 -20.02241689 0.023 0.146 0.99 BLL -999 -999.0 -999 1.7e-09 4e-10 2.28 0.16 7.5 N N S Y H -999 +"1FGL J0325.6-5626" "CRATES J0325-5635" 51.348 -56.59564 270.84432584 -49.83407469 0.156 0.181 0.8 Unknown -999 -999.0 -999 6e-10 3e-10 2.98 0.24 6.1 N N MM N H -999 +"1FGL J0325.6-5626" "CRATES J0325-5629" 51.34437 -56.48486 270.69825196 -49.89246888 0.056 0.181 0.96 Unknown -999 -999.0 -999 6e-10 3e-10 2.98 0.24 6.1 N N MM N H -999 +"1FGL J1329.2-5605" "PMN J1329-5608" 202.25477 -56.13407 308.18359088 6.35399716 0.055 0.095 1.0 Unknown -999 -999.0 -999 4.1e-09 6e-10 2.56 0.15 15.1 Y N S N L -999 +"1FGL J1400.9-5559" "PMN J1400-5605" 210.17407 -56.0821 312.53595475 5.49278392 0.092 0.122 0.99 Unknown -999 -999.0 -999 2.4e-09 5e-10 2.62 0.15 9.1 Y N S N L -999 +"1FGL J0543.8-5531" "BZB J0543-5532" 85.98667 -55.53442 263.51378399 -31.475097 0.021 0.057 1.0 BLL HSP -999.0 -999 1.8e-09 3e-10 2.05 0.14 11.5 N N S Y H -999 +"1FGL J2258.9-5525" "BZB J2258-5525" 344.57921 -55.42681 330.96431701 -55.10572265 0.09 0.093 0.99 BLL HSP 0.479 < 7e-10 -999.0 1.85 0.38 4.3 N N S Y H -999 +"1FGL J0845.0-5459" "PMN J0845-5458" 131.26034 -54.96904 272.31612218 -7.4921166 0.02 0.101 0.99 Unknown -999 -999.0 -999 1.9e-09 4e-10 2.24 0.17 7.7 N N S N L -999 +"1FGL J0625.9-5430" "CGRaBS J0625-5438" 96.46771 -54.64739 263.39017008 -25.41877949 0.133 0.244 0.99 FSRQ LSP 2.051 < 9e-10 -999.0 3.0 0.2 5.8 N N S Y H -999 +"1FGL J0506.9-5435" "RBS 621" 76.74127 -54.58422 262.42055806 -36.77395176 0.014 0.058 0.0 Unknown -999 -999.0 < 1e-09 -999.0 1.42 0.31 6.7 N N -999 N A -999 +"1FGL J1103.9-5355" "PKS 1101-536" 165.96759 -53.95019 287.41769702 5.64962578 0.019 0.041 1.0 Unknown -999 -999.0 -999 6.1e-09 6e-10 2.05 0.19 19.5 Y N S N L -999 +"1FGL J2207.8-5344" "PKS 2204-54" 331.93175 -53.77642 339.89720119 -49.92544662 0.043 0.115 1.0 FSRQ LSP 1.206 -999 1.6e-09 3e-10 2.5 0.1 13.1 Y N S Y H -999 +"1FGL J0413.4-5334" "CRATES J0413-5332" 63.30629 -53.53361 262.77718347 -44.71227012 0.056 0.054 0.94 FSRQ -999 1.027 -999 2.4e-09 4e-10 2.55 0.08 18.3 Y N S Y H -999 +"1FGL J0157.0-5259" "RBS 259" 29.23839 -53.03285 282.19949182 -61.37848029 0.049 0.1 0.0 Unknown -999 -999.0 -999 8e-10 2e-10 1.85 0.2 7.6 N N -999 N A -999 +"1FGL J1327.0-5257" "PMN J1326-5256" 201.70512 -52.9399 308.32436376 9.56098971 0.04 0.061 1.0 Unknown -999 -999.0 -999 5.2e-09 6e-10 2.33 0.11 19.2 Y N S N L -999 +"1FGL J0209.3-5229" "BZB J0209-5229" 32.33983 -52.48978 278.36623496 -60.76238381 0.001 0.053 1.0 BLL HSP -999.0 -999 2.1e-09 3e-10 2.01 0.12 13.3 N N S Y H -999 +"1FGL J2222.5-5218" "BZB J2221-5225" 335.37242 -52.42375 340.37178796 -52.37632555 0.208 0.197 0.96 BLL HSP -999.0 -999 7e-10 2e-10 1.99 0.21 4.4 N N S Y H -999 +"1FGL J0315.6-5109" "AT20G J0314-5104" 48.60733 -51.07547 264.33555339 -53.95632374 0.218 0.314 0.0 BLL -999 -999.0 -999 7e-10 3e-10 2.6 0.2 6.0 N N -999 N A -999 +"1FGL J0210.6-5101" "PKS 0208-512" 32.69254 -51.01733 276.10184086 -61.77801532 0.016 0.041 1.0 BLL LSP 1.003 -999 7.1e-09 6e-10 2.37 0.04 34.0 Y N S Y H -999 +"1FGL J1650.4-5042" "PMN J1650-5044" 252.56928 -50.74673 336.1395857 -3.9598687 0.047 0.062 1.0 Unknown -999 -999.0 -999 4.9e-09 7e-10 2.55 0.18 15.4 N N S N L -999 +"1FGL J0013.7-5022" "BZB J0014-5022" 3.54675 -50.37575 317.44998871 -65.68944942 0.075 0.135 1.0 BLL HSP -999.0 -999 6e-10 2e-10 2.23 0.22 4.4 N N S Y H -999 +"1FGL J2315.9-5014" "PKS 2312-505" 348.93458 -50.31108 334.67137699 -60.5072886 0.081 0.168 0.98 BLL -999 -999.0 -999 9e-10 3e-10 2.31 0.17 6.3 N N S Y H -999 +"1FGL J2135.8-4957" "CRATES J2135-5006" 323.83371 -50.11395 347.51985882 -46.39534835 0.18 0.233 0.97 FSRQ -999 2.181 -999 8e-10 3e-10 2.62 0.15 7.9 N N S Y H -999 +"1FGL J0357.1-4949" "PKS 0355-500" 59.25062 -49.93017 258.69135385 -48.08152702 0.109 0.118 0.87 BLL ISP -999.0 -999 8e-10 2e-10 1.92 0.21 5.1 N N S Y H -999 +"1FGL J2329.2-4954" "PKS 2326-502" 352.33692 -49.92803 331.99179277 -62.31351465 0.028 0.06 1.0 FSRQ -999 0.518 -999 4e-09 5e-10 2.42 0.06 22.2 Y N S Y H -999 +"1FGL J1305.4-4928" "NGC 4945" 196.36446 -49.46806 305.27205932 13.33997529 0.004 0.098 1.0 AGN -999 0.002 -999 1.1e-09 4e-10 2.42 0.14 6.1 N N S Y H -999 +"1FGL J2323.0-4919" "APMUKS(BJ) B232010.42-493502.4" 350.73843 -49.30943 334.50958076 -62.04092991 0.018 0.095 0.0 Unknown -999 -999.0 < 8e-10 -999.0 1.62 0.27 5.3 N N -999 N A -999 +"1FGL J1603.8-4903" "PMN J1603-4904" 240.96119 -49.0682 332.15088824 2.5733813 0.007 0.027 1.0 Unknown -999 -999.0 -999 1.34e-08 1.1e-09 2.12 0.14 26.8 N Y S N L -999 +"1FGL J2009.5-4849" "PKS 2005-489" 302.35579 -48.83128 350.37344607 -32.60072674 0.013 0.031 1.0 BLL HSP 0.071 -999 5e-09 5e-10 1.9 0.06 22.7 N N S Y H -999 +"1FGL J0706.3-4849" "CRATES J0705-4847" 106.49454 -48.79014 259.25512623 -17.81006712 0.076 0.186 0.95 Unknown -999 -999.0 -999 1.1e-09 3e-10 2.38 0.16 5.8 N N S Y H -999 +"1FGL J2235.7-4817" "PKS 2232-488" 338.80517 -48.59969 344.48786909 -56.06441736 0.324 0.288 0.93 FSRQ LSP 0.51 -999 1e-09 3e-10 2.43 0.17 5.7 N Y S Y H -999 +"1FGL J0526.3-4829" "PKS 0524-485" 81.56942 -48.51017 254.99265343 -33.75515016 0.029 0.103 1.0 FSRQ LSP 1.299 -999 1.5e-09 3e-10 2.37 0.11 11.1 N N S Y H -999 +"1FGL J0604.2-4817" "1ES 0602-482" 91.03918 -48.29059 255.69380892 -27.49712264 0.011 0.062 0.0 Unknown -999 -999.0 -999 1.1e-09 3e-10 2.12 0.16 7.2 N N -999 N A -999 +"1FGL J2325.6-4758" "PKS 2322-482" 351.3625 -48.00467 335.92992939 -63.24362514 0.042 0.109 1.0 BLL ISP 0.221 -999 6e-10 3e-10 1.92 0.25 5.9 N N S Y H -999 +"1FGL J1514.1-4745" "PMN J1514-4748" 228.66677 -47.80829 326.33797924 8.44800279 0.106 0.124 0.98 Unknown -999 -999.0 -999 1.2e-09 4e-10 2.29 0.2 5.7 N N S N L -999 +"1FGL J0004.7-4737" "PKS 0002-478" 1.14867 -47.60517 323.94695965 -67.56643315 0.032 0.153 0.99 FSRQ LSP 0.88 -999 8e-10 3e-10 2.56 0.17 6.6 N N S Y H -999 +"1FGL J1328.2-4729" "SUMSS J132840-472748" 202.16983 -47.46294 309.43180422 14.93825484 0.089 0.08 0.0 Unknown ISP -999.0 -999 3e-09 5e-10 2.13 0.1 12.0 N N -999 N A -999 +"1FGL J1959.7-4730" "SUMSS J195945-472519" 299.939 -47.422 351.80483257 -30.83853102 0.078 0.067 0.0 Unknown -999 -999.0 -999 1.7e-09 3e-10 1.63 0.13 9.4 N N -999 N A -999 +"1FGL J1936.9-4720" "BZB J1936-4719" 294.23375 -47.33056 351.16334255 -27.01581254 0.013 0.039 1.0 BLL HSP 0.265 -999 1.1e-09 3e-10 1.68 0.19 8.2 N N S Y H -999 +"1FGL J2056.3-4714" "PKS 2052-47" 314.06862 -47.2465 352.59063942 -40.38166773 0.014 0.041 1.0 FSRQ LSP 1.489 -999 4.6e-09 5e-10 2.54 0.05 32.1 Y N S Y H -999 +"1FGL J1446.8-4702" "AT20G J1446-4709" 221.57067 -47.15458 322.39343298 11.3311652 0.145 0.136 0.0 Unknown -999 -999.0 -999 1.7e-09 4e-10 2.42 0.15 6.4 N N -999 N A -999 +"1FGL J0245.9-4652" "PKS 0244-470" 41.50046 -46.85483 261.82758519 -60.09392022 0.019 0.058 1.0 FSRQ LSP 1.385 -999 2.8e-09 4e-10 2.52 0.06 23.5 Y N S Y H -999 +"1FGL J0702.0-4628" "PKS 0700-465" 105.39392 -46.57683 256.80681566 -17.70568278 0.13 0.121 0.98 FSRQ LSP 0.822 -999 1.3e-09 3e-10 2.35 0.14 6.9 N N S Y H -999 +"1FGL J1304.0-4622" "CGRaBS J1303-4621" 195.91779 -46.35069 305.13269814 16.46877767 0.075 0.219 0.98 FSRQ -999 1.664 < 1.4e-09 -999.0 2.02 0.23 4.4 N N S Y H -999 +"1FGL J0455.6-4618" "PKS 0454-46" 73.96146 -46.26647 251.96838074 -38.81438694 0.051 0.101 1.0 FSRQ LSP 0.858 -999 1.6e-09 3e-10 2.57 0.09 14.1 N N S Y H -999 +"1FGL J0157.5-4613" "CGRaBS J0157-4614" 29.46304 -46.23978 272.80412233 -66.81194692 0.061 0.208 1.0 FSRQ -999 2.287 -999 1.1e-09 3e-10 2.55 0.16 6.6 N N S Y H -999 +"1FGL J2126.1-4603" "PKS 2123-463" 321.62846 -46.09633 353.58667264 -45.64270683 0.076 0.254 0.98 FSRQ -999 1.67 -999 1e-09 3e-10 2.66 0.14 7.8 N N S Y H -999 +"1FGL J2022.5-4532" "CRATES J2024-4544" 306.05479 -45.73361 354.34269631 -34.83422556 0.351 0.328 0.56 Unknown -999 -999.0 -999 9e-10 3e-10 2.48 0.18 5.1 N N mm N H -999 +"1FGL J1322.0-4515" "CRATES J1320-4530" 200.24613 -45.50058 308.3405918 17.06064834 0.302 0.203 0.0 Unknown -999 -999.0 -999 1.3e-09 4e-10 2.78 0.1 10.6 N N -999 N A -999 +"1FGL J2022.5-4532" "CRATES J2022-4513" 305.61 -45.22486 354.92559659 -34.4789929 0.311 0.328 0.64 BLL ISP -999.0 -999 9e-10 3e-10 2.48 0.18 5.1 N N mm N H -999 +"1FGL J1604.7-4443" "PMN J1604-4441" 241.12925 -44.69221 335.15575729 5.76451071 0.046 0.066 1.0 Unknown -999 -999.0 -999 7.7e-09 8e-10 2.46 0.04 22.2 Y N S N L -999 +"1FGL J2007.9-4430" "PKS 2004-447" 301.97992 -44.579 355.33093501 -31.84993134 0.073 0.094 1.0 AGN -999 0.24 -999 6e-10 3e-10 2.35 0.18 5.7 N N S Y H -999 +"1FGL J0538.8-4404" "PKS 0537-441" 84.70979 -44.08575 250.0826959 -31.08967314 0.008 0.022 1.0 BLL LSP 0.892 -999 2.13e-08 9e-10 2.27 0.02 80.4 Y Y S Y H -999 +"1FGL J1304.3-4352" "1RXS J130421.2-435308" 196.08684 -43.88594 305.39030743 18.92417887 0.017 0.044 0.0 Unknown -999 -999.0 -999 3.7e-09 5e-10 2.05 0.08 15.9 N N -999 N A -999 +"1FGL J0449.5-4350" "PKS 0447-439" 72.35367 -43.83603 248.80553244 -39.91823258 0.018 0.021 1.0 BLL HSP 0.205 -999 1.11e-08 7e-10 1.95 0.03 46.9 Y N S Y H -999 +"1FGL J1024.0-4332" "BZB J1023-4336" 155.98379 -43.60069 276.59687231 11.60124043 0.053 0.104 1.0 BLL HSP -999.0 -999 1.2e-09 3e-10 1.93 0.16 8.1 N N S Y H -999 +"1FGL J0718.7-4320" "CRATES J0718-4319" 109.68183 -43.33047 254.92282731 -13.65027429 0.01 0.041 1.0 Unknown ISP -999.0 -999 3e-09 4e-10 1.83 0.09 15.2 N N S Y H -999 +"1FGL J1849.6-4314" "CRATES J1849-4314" 282.35783 -43.23697 352.87277172 -17.85926574 0.033 0.097 0.99 BLL -999 -999.0 -999 1.2e-09 3e-10 2.18 0.13 7.5 N N S Y H -999 +"1FGL J1407.5-4256" "CGRaBS J1407-4302" 211.91587 -43.04217 317.43553394 17.6726029 0.096 0.141 0.99 Unknown LSP -999.0 -999 1e-09 3e-10 2.13 0.16 5.8 N N S Y H -999 +"1FGL J1325.6-4300" "Cen A" 201.36506 -43.01911 309.51589125 19.4172752 0.037 0.066 1.0 AGN -999 0.002 -999 3.5e-09 5e-10 2.71 0.06 24.7 N N S Y H -999 +"1FGL J1307.6-4259" "1RXS J130737.8-425940" 196.90685 -42.99394 306.07682568 19.77892844 0.006 0.054 0.0 Unknown HSP -999.0 -999 1.7e-09 4e-10 1.89 0.14 10.7 N N -999 N A -999 +"1FGL J0626.6-4254" "CRATES J0626-4253" 96.53292 -42.89219 250.93289054 -22.47023456 0.105 0.105 0.89 Unknown -999 -999.0 -999 6e-10 3e-10 1.57 0.31 4.9 N N S Y H -999 +"1FGL J1959.3-4241" "CGRaBS J1959-4246" 299.80579 -42.76886 357.1151424 -30.0042823 0.073 0.106 0.99 FSRQ -999 2.174 -999 1.6e-09 3e-10 2.41 0.12 9.5 Y N S Y H -999 +"1FGL J2139.3-4235" "CRATES J2139-4235" 324.85071 -42.58905 358.31732903 -48.3261796 0.001 0.036 1.0 BLL ISP -999.0 -999 8.3e-09 6e-10 2.08 0.04 35.3 Y N S Y H -999 +"1FGL J0029.9-4221" "PKS 0027-426" 7.57283 -42.41292 317.32658887 -74.11916531 0.079 0.134 0.99 FSRQ LSP 0.495 -999 7e-10 2e-10 2.39 0.17 6.6 N N S Y H -999 +"1FGL J1428.2-4204" "PKS 1424-41" 216.98471 -42.10519 321.44751685 17.27074227 0.072 0.096 1.0 FSRQ LSP 1.522 -999 3.4e-09 5e-10 2.31 0.07 15.0 Y Y S Y H -999 +"1FGL J1501.6-4204" "QSO J150255.20-415430.2" 225.73 -41.90839 327.59970236 14.57987786 0.295 0.35 0.63 AGN -999 1.026 -999 9e-10 3e-10 2.87 0.18 6.0 N N S N H -999 +"1FGL J1918.4-4108" "CRATES J1918-4111" 289.56738 -41.19192 356.77844119 -22.24278746 0.066 0.078 0.97 BLL -999 -999.0 -999 2.9e-09 4e-10 1.84 0.09 12.1 N N S Y H -999 +"1FGL J2325.8-4043" "PKS 2322-411" 351.26409 -40.85835 349.71521866 -67.54433435 0.205 0.14 0.55 Unknown -999 -999.0 -999 2.6e-09 4e-10 2.31 0.08 15.1 N N mm N H -999 +"1FGL J2325.8-4043" "1ES 2322-409" 351.18542 -40.68083 350.19485462 -67.58376559 0.213 0.14 0.7 BLL HSP -999.0 -999 2.6e-09 4e-10 2.31 0.08 15.1 N N mm N H -999 +"1FGL J1307.0-4030" "ESO 323-G77" 196.60888 -40.41458 306.01815091 22.36727959 0.158 0.179 0.78 AGN -999 0.015 -999 1e-09 3e-10 2.72 0.12 8.8 N N S N H -999 +"1FGL J0110.0-4023" "RBS 158" 17.48483 -40.34794 287.96017882 -76.23779312 0.051 0.079 0.0 Unknown HSP -999.0 < 8e-10 -999.0 1.34 0.32 4.2 N N -999 N A -999 +"1FGL J0603.0-4012" "1WGA J0602.8-4018" 90.71162 -40.31417 246.92319271 -25.9647396 0.109 0.143 0.0 Unknown -999 -999.0 -999 1.2e-09 3e-10 2.25 0.16 5.6 N N -999 N A -999 +"1FGL J0334.2-4010" "PKS 0332-403" 53.55692 -40.14034 244.76387827 -54.07492679 0.028 0.053 1.0 BLL LSP -999.0 -999 3.8e-09 4e-10 2.35 0.06 25.6 N N S Y H -999 +"1FGL J1610.8-3955" "VCS2 J1610-3958" 242.59116 -39.98287 339.17055894 8.49880753 0.109 0.183 1.0 FSRQ -999 0.518 -999 1.7e-09 5e-10 2.27 0.19 5.0 N N S N L -999 +"1FGL J1938.2-3957" "PKS 1933-400" 294.31758 -39.96711 359.16273523 -25.36605866 0.191 0.164 0.97 FSRQ LSP 0.965 -999 1.8e-09 4e-10 2.45 0.09 11.5 N N S N H -999 +"1FGL J0013.1-3952" "PKS 0010-401" 3.24962 -39.90717 332.45798985 -74.93922437 0.044 0.104 1.0 BLL -999 -999.0 -999 5e-10 3e-10 2.09 0.22 5.0 N N S Y H -999 +"1FGL J1802.5-3939" "BZU J1802-3940" 270.67783 -39.66886 352.45111511 -8.42532132 0.033 0.034 1.0 Unknown -999 -999.0 -999 1.04e-08 8e-10 2.25 0.13 34.5 Y Y S N L -999 +"1FGL J0158.0-3931" "CGRaBS J0158-3932" 29.65883 -39.53431 258.81030486 -71.32606391 0.117 0.151 0.99 BLL LSP -999.0 -999 9e-10 3e-10 2.4 0.13 8.6 Y N S Y H -999 +"1FGL J2143.1-3927" "CRATES J2143-3929" 325.76192 -39.49022 2.92807984 -49.24819998 0.039 0.072 0.99 BLL -999 -999.0 -999 1.2e-09 3e-10 2.09 0.15 8.5 N N S Y H -999 +"1FGL J2237.2-3919" "CRATES J2237-3921" 339.28379 -39.36061 0.59503039 -59.59720938 0.042 0.187 0.98 FSRQ -999 0.297 -999 7e-10 2e-10 2.38 0.2 5.6 N N S Y H -999 +"1FGL J0538.4-3910" "1RXS J053810.0-390839" 84.54304 -39.14562 244.40549471 -30.31628888 0.059 0.077 0.0 Unknown HSP -999.0 -999 1.3e-09 3e-10 2.16 0.12 9.0 N N -999 N A -999 +"1FGL J1444.0-3906" "PKS 1440-389" 220.98833 -39.14436 325.64107752 18.71501673 0.031 0.04 1.0 BLL HSP -999.0 -999 3.5e-09 5e-10 1.83 0.08 16.5 N N S Y H -999 +"1FGL J1958.4-3847" "PKS 1954-388" 299.49925 -38.75178 1.57888742 -28.95820751 0.097 0.068 0.89 FSRQ LSP 0.63 -999 2.7e-09 4e-10 2.47 0.08 16.0 Y N S Y H -999 +"1FGL J0557.6-3831" "CRATES J0558-3838" 89.52696 -38.64214 244.86248805 -26.42594011 0.15 0.159 0.98 BLL HSP 0.302 -999 9e-10 3e-10 2.32 0.17 5.8 N N S Y H -999 +"1FGL J0407.4-3827" "PKS 0405-385" 61.746 -38.44111 241.28695948 -47.88984739 0.096 0.082 0.93 FSRQ LSP 1.285 -999 2.5e-09 4e-10 2.4 0.08 18.0 Y N S Y H -999 +"1FGL J1146.9-3812" "PKS 1144-379" 176.75571 -38.20306 289.23967804 22.9500023 0.011 0.056 1.0 FSRQ LSP 1.048 -999 2.4e-09 4e-10 2.31 0.08 14.3 Y N S Y H -999 +"1FGL J0428.6-3756" "PKS 0426-380" 67.16842 -37.93878 240.70796293 -43.61817786 0.01 0.02 1.0 BLL LSP 1.111 -999 2.57e-08 1e-09 2.13 0.02 87.9 Y Y S Y H -999 +"1FGL J1347.8-3751" "CRATES J1347-3750" 206.91846 -37.8435 315.02538696 23.70408646 0.04 0.133 1.0 FSRQ LSP 1.3 -999 1.1e-09 3e-10 2.7 0.15 7.8 Y N S Y H -999 +"1FGL J1400.1-3743" "CRATES J1359-3746" 209.95717 -37.76689 317.57334775 23.15270141 0.079 0.151 0.95 BLL -999 -999.0 -999 8e-10 3e-10 1.91 0.19 4.9 N N S Y H -999 +"1FGL J0827.9-3738" "PKS B0826-373" 127.01992 -37.51841 256.56903571 0.64280485 0.134 0.194 0.96 Unknown -999 -999.0 -999 1.7e-09 6e-10 2.68 0.17 5.7 Y N S N L -999 +"1FGL J0334.4-3727" "CRATES J0334-3725" 53.56425 -37.4287 240.15389104 -54.38093694 0.048 0.074 0.99 BLL LSP -999.0 -999 2.6e-09 4e-10 2.1 0.09 14.5 N N S Y H -999 +"1FGL J0229.3-3644" "PKS 0227-369" 37.36854 -36.73245 243.93233652 -67.17812974 0.021 0.067 1.0 FSRQ LSP 2.115 -999 2e-09 3e-10 2.6 0.07 18.9 Y N S Y H -999 +"1FGL J0522.8-3632" "PKS 0521-36" 80.7416 -36.45857 240.6076911 -32.71596944 0.087 0.086 0.97 BLL LSP 0.055 -999 2.9e-09 4e-10 2.6 0.06 24.2 Y N S Y H -999 +"1FGL J2310.0-3627" "SUMSS J231015-361736" 347.56436 -36.29266 3.47477755 -66.70148595 0.167 0.156 0.0 Unknown -999 -999.0 -999 5e-10 3e-10 1.63 0.2 5.7 N N -999 N A -999 +"1FGL J0403.9-3603" "PKS 0402-362" 60.97396 -36.08386 237.7429075 -48.48332341 0.02 0.068 1.0 FSRQ LSP 1.417 -999 2.7e-09 4e-10 2.56 0.06 25.8 Y N S Y H -999 +"1FGL J0237.5-3603" "RBS 334" 39.39169 -36.05899 241.18521068 -65.79773282 0.012 0.034 1.0 Unknown HSP -999.0 -999 6e-10 3e-10 1.21 0.26 7.2 N N S Y H -999 +"1FGL J2325.5-3559" "CTS A13.10" 351.36917 -35.965 1.77375095 -69.72695296 0.031 0.064 0.95 FSRQ -999 0.36 -999 3e-09 4e-10 2.14 0.07 19.4 Y Y S Y H -999 +"1FGL J1125.5-3559" "CRATES J1125-3557" 171.38117 -35.95089 284.03740473 23.74880749 0.048 0.151 0.99 Unknown LSP -999.0 -999 1e-09 3e-10 1.86 0.2 5.1 N N S Y H -999 +"1FGL J0849.6-3540" "VCS2 J0849-3541" 132.4401 -35.68369 257.75250749 5.21390707 0.023 0.152 0.98 Unknown -999 -999.0 -999 1.9e-09 4e-10 2.4 0.16 6.0 N N S N L -999 +"1FGL J1457.5-3540" "PKS 1454-354" 224.36129 -35.65278 329.8940371 20.53710238 0.026 0.028 1.0 FSRQ LSP 1.424 -999 1.69e-08 9e-10 2.27 0.02 60.7 Y Y S Y H -999 +"1FGL J0627.3-3530" "PKS 0625-35" 96.77808 -35.48761 243.45306203 -19.96723909 0.046 0.083 0.99 AGN -999 0.055 -999 8e-10 3e-10 1.86 0.18 6.3 N N S Y H -999 +"1FGL J1505.1-3435" "CRATES J1505-3432" 226.25987 -34.54903 331.92297974 20.69375892 0.052 0.09 0.99 Unknown -999 -999.0 -999 8e-10 3e-10 2.02 0.19 6.2 N N S Y H -999 +"1FGL J2145.4-3358" "CGRaBS J2145-3357" 326.25471 -33.95456 11.44713895 -49.62894251 0.085 0.138 0.99 FSRQ -999 1.36 -999 1.3e-09 3e-10 2.39 0.12 9.4 Y N S Y H -999 +"1FGL J0536.2-3348" "FRBA J0536-3343" 84.12131 -33.71737 238.22266681 -29.40142265 0.099 0.077 0.94 BLL HSP -999.0 -999 2e-09 3e-10 2.42 0.07 18.7 Y N S Y H -999 +"1FGL J1717.9-3343" "TXS 1714-336" 259.40012 -33.70245 352.73501328 2.39216845 0.085 0.074 0.99 BLL -999 -999.0 -999 7.6e-09 1e-09 2.42 0.13 13.9 Y Y S N L -999 +"1FGL J1316.1-3341" "PKS 1313-333" 199.03329 -33.64978 308.80351106 28.94026458 0.043 0.069 0.99 FSRQ LSP 1.21 -999 3.9e-09 5e-10 2.34 0.07 17.5 Y N S Y H -999 +"1FGL J1154.2-3242" "PKS 1151-324" 178.52671 -32.71331 289.20513709 28.62567527 0.041 0.107 1.0 Unknown -999 -999.0 -999 1.3e-09 3e-10 2.0 0.15 7.4 N N S Y H -999 +"1FGL J0058.4-3235" "PKS 0055-328" 14.50925 -32.57286 288.61187653 -84.37078096 0.078 0.132 0.99 BLL -999 -999.0 -999 8e-10 2e-10 2.31 0.15 7.0 N N S Y H -999 +"1FGL J0825.9-3216" "PKS 0823-321" 126.46405 -32.30645 252.05719561 3.29666299 0.036 0.11 1.0 Unknown -999 -999.0 -999 1.4e-09 4e-10 2.68 0.12 8.8 Y N S N L -999 +"1FGL J0401.3-3152" "PKS 0400-319" 60.58863 -31.79053 231.2443671 -48.50811534 0.232 0.155 0.0 FSRQ -999 1.288 -999 6e-10 3e-10 2.37 0.17 6.0 N N -999 N A -999 +"1FGL J0456.4-3132" "CRATES J0456-3136" 74.15283 -31.60347 233.46901324 -37.08782595 0.073 0.136 0.96 FSRQ LSP 0.865 -999 8e-10 3e-10 2.38 0.13 7.6 Y N S Y H -999 +"1FGL J1553.5-3116" "AT20G J1553-3118" 238.38954 -31.30897 342.59304518 17.20092909 0.038 0.065 0.0 BLL HSP -999.0 -999 1.1e-09 4e-10 1.67 0.15 7.0 N N -999 N A -999 +"1FGL J0238.6-3117" "BZB J0238-3116" 39.63533 -31.28283 229.4576556 -66.32213999 0.024 0.114 1.0 BLL HSP -999.0 -999 1e-09 3e-10 2.02 0.17 6.7 N N S Y H -999 +"1FGL J1946.1-3118" "PKS 1942-313" 296.49737 -31.19397 8.99698525 -24.56194481 0.12 0.125 0.95 BLL -999 -999.0 -999 8e-10 3e-10 2.19 0.18 5.8 N N S Y H -999 +"1FGL J1119.5-3044" "BZB J1119-3047" 169.91458 -30.78894 280.62495104 28.07670304 0.044 0.104 1.0 BLL HSP 0.412 < 8e-10 -999.0 1.53 0.44 4.8 N N S Y H -999 +"1FGL J2227.7-3036" "2QZ J222741.5-303809" 336.923 -30.63581 17.87392618 -58.47114272 0.03 0.113 0.0 AGN -999 0.467 < 9e-10 -999.0 2.05 0.26 4.5 N N -999 N A -999 +"1FGL J2359.0-3035" "1H 2351-315" 359.7825 -30.6275 12.8417295 -78.03522036 0.049 0.085 0.99 BLL HSP 0.165 -999 1.1e-09 3e-10 2.1 0.17 7.1 N N S Y H -999 +"1FGL J2158.8-3013" "PKS 2155-304" 329.71696 -30.22558 17.73050588 -52.24586776 0.009 0.015 1.0 BLL HSP 0.116 -999 2.71e-08 1e-09 1.91 0.02 85.3 Y N S Y H -999 +"1FGL J1958.4-3013" "FRBA J1958-3011" 299.56217 -30.18653 10.9487277 -26.76788556 0.064 0.05 0.0 BLL HSP 0.119 -999 8e-10 3e-10 2.33 0.15 8.1 N N -999 N A -999 +"1FGL J2350.1-3005" "2QZ J235021.5-300039" 357.58958 -30.01092 17.20240212 -76.29462511 0.093 0.152 0.0 AGN -999 1.575 -999 6e-10 3e-10 2.35 0.18 5.8 N N -999 N A -999 +"1FGL J2350.1-3005" "FRBA J2349-2959" 357.46321 -29.99726 17.32565864 -76.18830798 0.108 0.152 0.0 Unknown -999 -999.0 -999 6e-10 3e-10 2.35 0.18 5.8 N N -999 N A -999 +"1FGL J1626.2-2956" "PKS 1622-29" 246.52509 -29.85749 348.81717059 13.31553912 0.091 0.144 1.0 FSRQ LSP 0.815 -999 2.2e-09 5e-10 2.36 0.1 8.4 N N S Y H -999 +"1FGL J1925.2-2919" "PKS B1921-293" 291.21275 -29.24169 9.34408614 -19.60679783 0.122 0.111 0.99 FSRQ LSP 0.352 -999 1.4e-09 4e-10 2.4 0.11 8.6 N N S Y H -999 +"1FGL J2025.9-2852" "CGRaBS J2025-2845" 306.47337 -28.76353 14.47098409 -32.13616556 0.117 0.134 0.97 Unknown LSP -999.0 < 1.1e-09 -999.0 2.43 0.21 5.6 N N S Y H -999 +"1FGL J0539.1-2847" "PKS 0537-286" 84.97617 -28.66553 232.93992919 -27.2925382 0.207 0.363 0.98 FSRQ LSP 3.104 < 9e-10 -999.0 2.71 0.16 5.9 N N S Y H -999 +"1FGL J1037.7-2820" "PKS B1035-281" 159.42692 -28.38447 270.32989458 25.89131837 0.04 0.113 1.0 Unknown -999 -999.0 -999 1.1e-09 3e-10 2.64 0.13 9.3 Y N S Y H -999 +"1FGL J0453.2-2805" "PKS 0451-28" 73.31104 -28.12703 229.01863036 -37.01589659 0.04 0.09 1.0 FSRQ LSP 2.56 -999 2.2e-09 4e-10 2.64 0.07 21.3 Y N S Y H -999 +"1FGL J2250.8-2809" "CGRaBS J2250-2806" 342.68521 -28.10981 23.75431615 -63.31446468 0.061 0.063 0.98 AGN -999 0.525 -999 3e-09 4e-10 2.33 0.07 20.9 Y N S Y H -999 +"1FGL J2258.0-2757" "PKS 2255-282" 344.52483 -27.97258 24.38661101 -64.92037822 0.027 0.186 0.98 FSRQ LSP 0.927 -999 9e-10 3e-10 2.67 0.1 10.6 N N MM N H -999 +"1FGL J2258.0-2757" "2QZ J225725.9-275438" 344.35808 -27.91075 24.5021489 -64.76835362 0.135 0.186 0.89 Unknown -999 -999.0 -999 9e-10 3e-10 2.67 0.1 10.6 N N MM N H -999 +"1FGL J0348.5-2751" "PKS 0346-279" 57.15896 -27.82042 224.52664384 -50.90927668 0.041 0.166 0.99 FSRQ LSP 0.987 -999 7e-10 2e-10 2.2 0.18 5.9 N N S Y H -999 +"1FGL J0159.7-2741" "CRATES J0159-2740" 29.93062 -27.67739 218.94318817 -74.84647409 0.018 0.137 0.98 BLL ISP -999.0 -999 1.1e-09 3e-10 2.07 0.14 7.5 N N S Y H -999 +"1FGL J0144.9-2732" "PKS 0142-278" 26.26417 -27.55953 218.08657684 -78.09106769 0.034 0.086 1.0 FSRQ LSP 1.148 -999 2.2e-09 3e-10 2.6 0.06 24.6 Y N S Y H -999 +"1FGL J1522.6-2732" "PKS 1519-273" 230.657 -27.503 339.58403494 24.40627834 0.045 0.078 1.0 BLL LSP 1.294 -999 2.8e-09 4e-10 2.25 0.08 13.1 Y N S Y H -999 +"1FGL J0120.5-2700" "PKS 0118-272" 20.13192 -27.02347 213.66297964 -83.52464195 0.008 0.043 1.0 BLL ISP 0.557 -999 3.7e-09 4e-10 1.99 0.06 22.4 N N S Y H -999 +"1FGL J1205.9-2637" "PKS 1203-26" 181.38842 -26.56792 290.36226634 35.18139623 0.11 0.183 0.98 FSRQ LSP 0.786 -999 7e-10 3e-10 2.72 0.14 7.4 N N S Y H -999 +"1FGL J0402.1-2618" "CRATES J0402-2615" 60.50325 -26.26094 223.0514964 -47.68762489 0.057 0.132 0.97 Unknown -999 -999.0 -999 5e-10 2e-10 2.32 0.24 4.1 N N S Y H -999 +"1FGL J0315.9-2609" "RX J0316.2-2607" 49.0625 -26.13222 219.56393204 -57.73442263 0.067 0.057 0.95 BLL HSP 0.443 -999 8e-10 3e-10 1.84 0.19 6.5 N N S Y H -999 +"1FGL J0622.3-2604" "CRATES J0622-2606" 95.59888 -26.10767 233.81775681 -17.55748414 0.037 0.084 0.99 Unknown -999 -999.0 -999 1.3e-09 3e-10 2.0 0.15 7.1 N N S Y H -999 +"1FGL J0021.7-2556" "CRATES J0021-2550" 5.38563 -25.84703 42.09067036 -83.19024902 0.11 0.116 0.86 BLL LSP -999.0 -999 9e-10 2e-10 1.96 0.17 7.3 N N S Y H -999 +"1FGL J1246.7-2545" "PKS 1244-255" 191.695 -25.79703 301.61802982 37.06283554 0.037 0.041 1.0 FSRQ LSP 0.633 -999 8.1e-09 6e-10 2.31 0.04 37.9 Y Y S Y H -999 +"1FGL J2243.1-2541" "PKS 2240-260" 340.85983 -25.74083 28.35660735 -61.38932157 0.086 0.1 0.98 BLL LSP 0.774 -999 1.8e-09 3e-10 2.32 0.09 12.7 N N S Y H -999 +"1FGL J0343.4-2536" "PKS 0341-256" 55.83138 -25.5048 220.53241417 -51.63519991 0.104 0.269 0.97 FSRQ LSP 1.419 -999 4e-10 2e-10 2.75 0.18 5.0 N N S Y H -999 +"1FGL J2213.1-2529" "PKS 2210-25" 333.26042 -25.49169 26.39873892 -54.61142455 0.023 0.149 1.0 FSRQ -999 1.831 < 1.1e-09 -999.0 2.52 0.18 5.8 N N S Y H -999 +"1FGL J1625.7-2524" "PKS 1622-253" 246.44538 -25.46064 352.14038862 16.31867159 0.047 0.065 1.0 FSRQ LSP 0.786 -999 4.4e-09 6e-10 2.36 0.06 13.5 N Y S Y H -999 +"1FGL J0047.3-2512" "NGC 253" 11.88806 -25.28812 97.37192788 -87.96393181 0.097 0.176 1.0 AGN -999 0.001 -999 7e-10 2e-10 2.15 0.17 6.2 N N S Y H -999 +"1FGL J1406.2-2510" "FRBA J1406-2508" 211.5395 -25.1353 323.58887051 34.72142714 0.043 0.062 0.0 Unknown -999 -999.0 -999 9e-10 3e-10 2.05 0.17 7.7 N N -999 N A -999 +"1FGL J0430.4-2509" "CRATES J0430-2507" 67.56679 -25.1275 223.61503585 -41.23578681 0.056 0.148 0.98 BLL LSP -999.0 -999 1e-09 3e-10 2.29 0.16 6.5 N N S Y H -999 +"1FGL J0038.4-2504" "PKS 0035-252" 9.56137 -24.98394 68.09215376 -86.34286278 0.1 0.128 0.98 FSRQ LSP 1.196 -999 1e-09 3e-10 2.45 0.13 9.3 Y N S Y H -999 +"1FGL J0054.9-2455" "FRBA J0054-2455" 13.6948 -24.92519 141.93118785 -87.67260411 0.035 0.078 0.0 Unknown HSP -999.0 -999 7e-10 2e-10 1.95 0.22 5.2 N N -999 N A -999 +"1FGL J0137.5-2428" "PKS 0135-247" 24.40979 -24.51489 201.39274211 -79.28426141 0.037 0.098 1.0 FSRQ LSP 0.835 -999 8e-10 2e-10 2.45 0.12 9.8 Y N S Y H -999 +"1FGL J1517.8-2423" "AP Lib" 229.42421 -24.37208 340.68061804 27.57803486 0.03 0.043 1.0 BLL LSP 0.048 -999 5.6e-09 5e-10 2.1 0.06 24.2 N N S Y H -999 +"1FGL J1553.4-2425" "PKS 1550-242" 238.38462 -24.36756 347.57239203 22.32399178 0.055 0.159 0.99 Unknown -999 -999.0 -999 1.1e-09 4e-10 2.38 0.17 4.8 N N S Y H -999 +"1FGL J0104.4-2406" "PKS 0102-245" 16.2425 -24.27456 170.56594001 -85.82482659 0.212 0.235 0.94 FSRQ -999 1.747 < 1e-09 -999.0 2.28 0.2 4.5 N N S Y H -999 +"1FGL J0303.5-2406" "PKS 0301-243" 45.86042 -24.11981 214.62132491 -60.17735308 0.027 0.032 1.0 BLL ISP 0.26 -999 4.6e-09 5e-10 1.98 0.05 27.9 Y N S Y H -999 +"1FGL J0630.9-2406" "CRATES J0630-2406" 97.74804 -24.11281 232.68781722 -14.99046068 0.006 0.049 1.0 BLL ISP -999.0 -999 3.1e-09 4e-10 1.87 0.08 17.2 N N S Y H -999 +"1FGL J0846.9-2334" "CRATES J0847-2337" 131.7565 -23.61711 247.77645325 12.20299228 0.042 0.123 0.99 Unknown HSP -999.0 -999 9e-10 3e-10 2.35 0.16 6.0 N N S Y H -999 +"1FGL J1103.7-2329" "CRATES J1103-2329" 165.90671 -23.492 273.18975354 33.07932742 0.035 0.114 1.0 BLL HSP 0.186 < 6e-10 -999.0 1.36 0.58 4.4 N N S Y H -999 +"1FGL J0457.0-2325" "PKS 0454-234" 74.26325 -23.41444 223.71044265 -34.89677345 0.009 0.017 1.0 FSRQ LSP 1.003 -999 3.25e-08 1.1e-09 2.21 0.02 115.4 Y Y S Y H -999 +"1FGL J2006.6-2302" "CRATES J2005-2310" 301.48579 -23.17417 18.98503057 -26.15260724 0.21 0.162 0.91 FSRQ LSP 0.833 -999 1.6e-09 4e-10 2.68 0.1 11.1 N N S Y H -999 +"1FGL J1548.7-2250" "CRATES J1548-2251" 237.20729 -22.85069 347.84558985 24.16832331 0.018 0.069 0.99 BLL HSP -999.0 -999 1.4e-09 4e-10 2.04 0.16 8.0 N N S Y H -999 +"1FGL J0825.8-2230" "PKS 0823-223" 126.50655 -22.50756 243.99025205 8.93022351 0.036 0.038 1.0 BLL -999 -999.0 -999 5.3e-09 5e-10 2.14 0.17 26.5 N N S N L -999 +"1FGL J1258.7-2221" "PKS 1256-220" 194.727 -22.32531 305.20442499 40.51347525 0.054 0.099 1.0 FSRQ -999 1.303 -999 2.5e-09 4e-10 2.39 0.08 13.1 Y N S Y H -999 +"1FGL J0252.8-2219" "PKS 0250-225" 43.19983 -22.32372 209.74892425 -62.09552174 0.009 0.05 1.0 FSRQ LSP 1.427 -999 5.2e-09 5e-10 2.38 0.04 34.5 Y N S Y H -999 +"1FGL J1007.1-2157" "PKS 1004-217" 151.69338 -21.989 259.80066458 26.77679205 0.1 0.06 0.84 FSRQ LSP 0.33 -999 9e-10 3e-10 2.35 0.14 8.7 N N S Y H -999 +"1FGL J1312.4-2156" "CRATES J1312-2156" 198.1315 -21.93983 309.3836256 40.66759592 0.008 0.066 1.0 BLL -999 -999.0 -999 3.1e-09 4e-10 2.15 0.08 14.0 N N S Y H -999 +"1FGL J1159.4-2149" "PKS 1157-215" 179.96629 -21.81492 287.36062951 39.49237193 0.088 0.121 0.98 FSRQ -999 0.927 -999 1.9e-09 4e-10 2.69 0.1 13.2 Y N MM N H -999 +"1FGL J2331.0-2145" "CRATES J2331-2148" 352.76679 -21.80428 44.7983127 -70.97822071 0.05 0.064 0.98 FSRQ -999 0.556 -999 3.5e-09 4e-10 2.39 0.06 24.2 Y N S Y H -999 +"1FGL J1159.4-2149" "CGRaBS J1159-2142" 179.83929 -21.71247 287.17855844 39.56082016 0.113 0.121 0.95 FSRQ -999 0.617 -999 1.9e-09 4e-10 2.69 0.1 13.2 Y N MM N H -999 +"1FGL J0118.7-2137" "PKS 0116-219" 19.73858 -21.69167 173.44696308 -81.70899554 0.083 0.071 0.97 FSRQ LSP 1.165 -999 3.3e-09 4e-10 2.4 0.06 25.7 Y N S Y H -999 +"1FGL J1923.5-2104" "OV -235" 290.88412 -21.07594 17.17837611 -16.25449124 0.001 0.03 1.0 FSRQ LSP 0.874 -999 1.19e-08 7e-10 2.17 0.03 42.6 Y Y S Y H -999 +"1FGL J1833.6-2103" "PKS 1830-21" 278.4162 -21.06105 12.1657618 -5.71153707 0.01 0.036 1.0 FSRQ -999 2.507 -999 1.07e-08 8e-10 2.56 0.17 41.0 Y Y S N L -999 +"1FGL J0349.9-2104" "PKS 0347-211" 57.49096 -21.04658 214.39700964 -49.01275662 0.035 0.083 1.0 FSRQ LSP 2.944 -999 3e-09 4e-10 2.53 0.06 24.7 Y N S Y H -999 +"1FGL J1341.1-2045" "PKS B1339-206" 205.51975 -20.85822 318.55028206 40.4726998 0.23 0.171 0.65 FSRQ LSP 1.582 -999 6e-10 3e-10 2.73 0.14 7.4 N N S N H -999 +"1FGL J1607.5-2030" "CRATES J1607-2039" 241.91872 -20.50393 353.03116673 22.73848408 0.02 0.068 0.0 Unknown -999 -999.0 -999 9e-10 4e-10 2.3 0.16 5.7 N N -999 N A -999 +"1FGL J0434.1-2018" "CRATES J0434-2015" 68.53296 -20.25475 217.86535056 -38.95402089 0.052 0.153 0.97 BLL -999 -999.0 -999 1e-09 3e-10 2.3 0.14 6.5 N N S Y H -999 +"1FGL J2256.3-2009" "PKS 2254-204" 344.17171 -20.19456 41.53852107 -62.89275166 0.082 0.102 0.99 BLL -999 -999.0 -999 9e-10 2e-10 1.95 0.16 7.1 N N S Y H -999 +"1FGL J1911.2-2007" "PKS B1908-201" 287.79021 -20.1153 16.87442355 -13.21743735 0.019 0.074 1.0 FSRQ LSP 1.119 -999 4.5e-09 5e-10 2.42 0.05 20.6 Y Y S Y H -999 +"1FGL J0600.5-2006" "CRATES J0601-2004" 90.47012 -20.07922 226.04317316 -19.62680246 0.303 0.26 0.0 FSRQ -999 1.216 -999 7e-10 3e-10 2.41 0.15 6.2 N N -999 N A -999 +"1FGL J0629.6-2000" "PKS 0627-199" 97.349 -19.98881 228.640287 -13.6616148 0.058 0.102 1.0 BLL LSP -999.0 -999 1.2e-09 3e-10 2.21 0.14 7.1 N N S Y H -999 +"1FGL J0702.2-1954" "TXS 0700-197" 105.67875 -19.85612 231.92768694 -6.52904987 0.12 0.159 0.96 Unknown -999 -999.0 -999 1.7e-09 4e-10 1.92 0.16 4.2 N N S N L -999 +"1FGL J0033.5-1921" "RBS 76" 8.39292 -19.35944 94.17189932 -81.2161506 0.006 0.053 1.0 BLL HSP 0.61 -999 2.8e-09 4e-10 1.89 0.08 17.5 N N S Y H -999 +"1FGL J1917.7-1922" "CGRaBS J1917-1921" 289.43675 -19.35878 18.24019629 -14.31950739 0.008 0.052 1.0 BLL ISP 0.137 -999 3.3e-09 4e-10 1.88 0.08 14.7 N N S Y H -999 +"1FGL J1126.8-1854" "PKS 1124-186" 171.76829 -18.95483 276.72512523 39.58529612 0.066 0.1 0.99 FSRQ LSP 1.048 -999 2.4e-09 4e-10 2.45 0.07 18.4 N N S Y H -999 +"1FGL J0022.2-1850" "1RXS J002209.2-185333" 5.538 -18.89248 82.14130955 -79.36462702 0.054 0.111 0.0 Unknown HSP -999.0 -999 1.1e-09 3e-10 1.56 0.14 9.4 N N -999 N A -999 +"1FGL J0416.5-1851" "PKS 0414-189" 64.15225 -18.85231 214.30747072 -42.37902559 0.014 0.105 1.0 FSRQ LSP 1.536 -999 1.5e-09 3e-10 2.37 0.1 12.3 N N S Y H -999 +"1FGL J1110.2-1839" "CRATES J1110-1835" 167.61571 -18.598 272.0084255 38.13621405 0.086 0.071 0.81 Unknown -999 -999.0 -999 1.1e-09 3e-10 1.92 0.15 8.1 N N S Y H -999 +"1FGL J2358.5-1809" "PKS 2355-183" 359.56144 -18.02898 66.74952261 -74.73621874 0.147 0.13 0.0 Unknown -999 -999.0 -999 5e-10 2e-10 1.82 0.23 4.8 N N -999 N A -999 +"1FGL J1258.4-1802" "PKS B1256-177" 194.65959 -18.00087 305.34651136 44.83711825 0.065 0.075 0.99 FSRQ -999 1.956 -999 1.2e-09 3e-10 2.54 0.1 12.3 Y N S Y H -999 +"1FGL J1027.1-1747" "BZB J1026-1748" 156.74383 -17.81625 260.92170182 33.02217223 0.04 0.139 1.0 BLL HSP 0.114 -999 6e-10 3e-10 2.32 0.29 4.1 N N S Y H -999 +"1FGL J2000.9-1749" "PKS 1958-179" 300.23787 -17.81603 24.00981149 -23.11563693 0.015 0.082 1.0 FSRQ LSP 0.652 -999 2.8e-09 4e-10 2.46 0.07 16.5 Y N S Y H -999 +"1FGL J0648.7-1740" "TXS 0646-176" 102.11874 -17.73484 228.50805825 -8.61865394 0.092 0.107 0.99 FSRQ -999 1.232 -999 2.5e-09 5e-10 2.47 0.15 10.8 Y N S N L -999 +"1FGL J0339.1-1734" "PKS 0336-177" 54.80712 -17.60022 208.07364837 -50.24857859 0.026 0.077 0.99 AGN -999 0.065 -999 5e-10 3e-10 1.95 0.3 5.4 N N S Y H -999 +"1FGL J1344.2-1723" "CGRaBS J1344-1723" 206.06 -17.39456 320.46639127 43.67211459 0.011 0.044 1.0 FSRQ -999 2.49 -999 5.8e-09 5e-10 2.11 0.05 25.7 Y N S Y H -999 +"1FGL J1627.8-1711" "CRATES J1628-1716" 247.11958 -17.27758 359.14209645 21.15935559 0.167 0.134 0.6 Unknown -999 -999.0 -999 1.5e-09 4e-10 2.19 0.17 4.2 N N S N H -999 +"1FGL J0617.7-1718" "CRATES J0617-1715" 94.38925 -17.25697 224.88008001 -15.09742815 0.064 0.074 0.98 BLL LSP 0.32 -999 1.3e-09 3e-10 1.99 0.16 8.2 N N S Y H -999 +"1FGL J0205.0-1702" "PKS 0202-17" 31.24029 -17.02217 185.99286324 -70.23169708 0.026 0.117 1.0 FSRQ LSP 1.74 -999 1.5e-09 3e-10 2.53 0.09 13.7 Y N S Y H -999 +"1FGL J0132.6-1655" "PKS 0130-17" 23.18121 -16.91347 168.12414806 -76.01768038 0.022 0.072 1.0 FSRQ LSP 1.02 -999 2.5e-09 4e-10 2.56 0.06 23.2 Y N S Y H -999 +"1FGL J0325.9-1649" "RBS 421" 51.42167 -16.77111 204.8664362 -52.92845514 0.071 0.096 1.0 BLL HSP 0.291 -999 6e-10 2e-10 1.88 0.28 4.9 N N S Y H -999 +"1FGL J0650.6-1635" "PKS 0648-16" 102.60242 -16.6277 227.70679756 -7.71852092 0.075 0.151 0.98 Unknown -999 -999.0 -999 1.4e-09 4e-10 2.46 0.17 5.8 N N S N L -999 +"1FGL J0448.5-1633" "BZB J0448-1632" 72.15683 -16.54522 215.03489796 -34.43348401 0.022 0.048 1.0 BLL HSP -999.0 -999 1e-09 2e-10 1.98 0.15 9.8 N N S Y H -999 +"1FGL J2348.0-1629" "PKS 2345-16" 357.01087 -16.52 65.5368873 -71.89229669 0.031 0.085 1.0 FSRQ LSP 0.576 -999 1.9e-09 3e-10 2.39 0.1 11.9 N N S Y H -999 +"1FGL J0222.1-1618" "PKS 0219-164" 35.50304 -16.25461 190.19364914 -66.37465852 0.068 0.186 0.99 FSRQ LSP 0.698 -999 7e-10 2e-10 2.65 0.14 7.7 N N S Y H -999 +"1FGL J1922.0-1608" "CRATES J1921-1607" 290.46471 -16.12017 21.69800798 -13.87244129 0.04 0.055 0.99 BLL -999 -999.0 -999 1.6e-09 4e-10 1.48 0.14 9.6 N N S Y H -999 +"1FGL J2344.6-1554" "CGRaBS J2345-1555" 356.30192 -15.91883 65.67275924 -70.98514308 0.13 0.102 0.8 FSRQ LSP 0.621 -999 1.5e-09 3e-10 2.37 0.1 11.4 Y N S Y H -999 +"1FGL J1503.5-1544" "BZB J1503-1541" 225.91917 -15.68719 343.72614769 36.5002996 0.06 0.103 1.0 BLL HSP -999.0 -999 1.2e-09 4e-10 1.74 0.19 8.3 N N S Y H -999 +"1FGL J1441.7-1538" "PKS 1437-153" 219.987 -15.53069 337.85123343 39.87172962 0.458 0.459 0.86 BLL -999 0.636 < 8e-10 -999.0 2.76 0.18 4.4 N N MM N H -999 +"1FGL J1441.7-1538" "CRATES J1441-1523" 220.43925 -15.39342 338.42673214 39.75587649 0.244 0.459 0.81 FSRQ -999 2.638 < 8e-10 -999.0 2.76 0.18 4.4 N N MM N H -999 +"1FGL J0608.0-1521" "CRATES J0608-1520" 92.00638 -15.34361 222.09074943 -16.39518122 0.011 0.074 1.0 Unknown LSP -999.0 -999 3.6e-09 5e-10 2.52 0.06 20.2 Y N S Y H -999 +"1FGL J2157.9-1503" "PKS 2155-152" 329.52617 -15.01925 40.63971936 -48.02228171 0.05 0.162 0.99 FSRQ LSP 0.672 -999 9e-10 3e-10 2.51 0.15 6.9 N N S Y H -999 +"1FGL J1130.2-1447" "PKS 1127-14" 172.52937 -14.82428 275.28078938 43.63832432 0.04 0.089 0.99 FSRQ LSP 1.184 -999 2.4e-09 4e-10 2.73 0.06 23.2 Y N MM N H -999 +"1FGL J1130.2-1447" "CXOCY J113008.8-144737" 172.5365 -14.79369 275.27133764 43.66892657 0.02 0.089 0.96 AGN -999 0.353 -999 2.4e-09 4e-10 2.73 0.06 23.2 Y N MM N H -999 +"1FGL J2236.4-1432" "PKS 2233-148" 339.14204 -14.55617 47.87845073 -56.21387623 0.024 0.07 1.0 BLL LSP -999.0 -999 3.2e-09 4e-10 2.34 0.07 20.0 Y N S Y H -999 +"1FGL J2150.3-1410" "BZB J2150-1410" 327.56458 -14.18058 40.61524256 -45.94710954 0.015 0.098 1.0 BLL HSP 0.229 -999 8e-10 3e-10 2.05 0.25 5.4 N N S Y H -999 +"1FGL J1151.4-1345" "CRATES J1151-1347" 177.87488 -13.79744 281.51042585 46.56621028 0.042 0.088 0.99 Unknown -999 -999.0 < 9e-10 -999.0 2.21 0.21 5.5 N N S Y H -999 +"1FGL J2146.6-1345" "FRBA J2146-1344" 326.6543 -13.73368 40.66870826 -44.95781062 0.026 0.07 0.0 Unknown HSP -999.0 -999 1.5e-09 3e-10 1.82 0.16 9.8 N N -999 N A -999 +"1FGL J1226.7-1332" "CGRaBS J1226-1328" 186.72675 -13.47753 293.82785651 48.96010371 0.076 0.061 0.98 BLL -999 0.456 -999 1.6e-09 3e-10 1.82 0.14 8.9 N Y S Y H -999 +"1FGL J0405.6-1309" "1WGA J0405.6-1313" 61.40111 -13.21577 205.86615848 -42.67824363 0.058 0.074 0.7 AGN -999 0.226 < 7e-10 -999.0 2.33 0.25 4.6 N N Mm N H -999 +"1FGL J0816.4-1311" "BZB J0816-1311" 124.11336 -13.19794 234.79755167 12.12188245 0.005 0.051 1.0 BLL HSP -999.0 -999 2e-09 3e-10 1.83 0.1 14.3 N N S Y H -999 +"1FGL J0405.6-1309" "PKS 0403-13" 61.39154 -13.13739 205.76414072 -42.65368884 0.039 0.074 1.0 FSRQ LSP 0.571 < 7e-10 -999.0 2.33 0.25 4.6 N N Mm N H -999 +"1FGL J1733.0-1308" "PKS 1730-13" 263.26129 -13.08042 12.03232998 10.81148741 0.06 0.087 1.0 FSRQ LSP 0.902 -999 3.6e-09 5e-10 2.34 0.07 13.7 N N S Y H -999 +"1FGL J1337.7-1255" "PKS 1335-127" 204.41575 -12.95686 320.0239832 48.37485592 0.033 0.093 0.99 FSRQ LSP 0.539 -999 2.1e-09 4e-10 2.5 0.09 13.6 N N S Y H -999 +"1FGL J1332.6-1255" "CRATES J1332-1256" 203.16354 -12.93758 318.24903939 48.70453409 0.005 0.064 1.0 FSRQ -999 1.498 -999 3.8e-09 4e-10 2.45 0.06 22.0 Y N S Y H -999 +"1FGL J2120.2-1259" "NVSS J212035-125443" 320.1492 -12.91213 38.11901526 -38.86251704 0.124 0.227 0.0 Unknown -999 -999.0 -999 1e-09 3e-10 2.54 0.15 7.0 N N -999 N A -999 +"1FGL J0438.8-1250" "PKS 0436-129" 69.64592 -12.85097 209.73451091 -35.21933592 0.054 0.195 1.0 FSRQ -999 1.286 -999 5e-10 3e-10 2.39 0.18 4.9 N N S Y H -999 +"1FGL J1921.1-1234" "CRATES J1921-1231" 290.34967 -12.53178 24.98624116 -12.25081343 0.081 0.098 0.96 Unknown -999 -999.0 -999 1e-09 4e-10 1.89 0.18 5.6 N N S Y H -999 +"1FGL J0850.0-1213" "CGRaBS J0850-1213" 132.54012 -12.22656 238.6595804 19.51951758 0.023 0.08 1.0 FSRQ LSP 0.566 -999 3.1e-09 4e-10 2.27 0.07 16.9 Y N S Y H -999 +"1FGL J0257.8-1204" "CGRaBS J0257-1212" 44.42083 -12.20042 192.39252562 -56.88519188 0.137 0.18 0.97 FSRQ -999 1.391 -999 1.1e-09 3e-10 2.39 0.14 7.4 Y N S Y H -999 +"1FGL J0754.4-1147" "OI -187" 118.61024 -11.78804 230.7590687 8.24123796 0.009 0.068 1.0 Unknown -999 -999.0 -999 1.9e-09 4e-10 2.1 0.13 10.5 N N S N L -999 +"1FGL J1256.5-1148" "CRATES J1256-1146" 194.06646 -11.77706 304.81277704 51.07705647 0.075 0.071 0.87 Unknown HSP -999.0 -999 1e-09 3e-10 2.12 0.18 6.3 N N S Y H -999 +"1FGL J0730.3-1141" "PKS 0727-11" 112.57963 -11.68683 227.76790505 3.14034535 0.013 0.022 1.0 FSRQ -999 1.591 -999 2.07e-08 1e-09 2.33 0.14 67.6 Y N S N L -999 +"1FGL J2023.7-1141" "CRATES J2023-1139" 305.90292 -11.66619 32.60349198 -25.68192583 0.04 0.109 0.99 FSRQ -999 0.698 -999 1.5e-09 3e-10 2.14 0.13 7.8 N N S Y H -999 +"1FGL J0115.5-1132" "PKS 0113-118" 19.05217 -11.60428 144.66873569 -73.42183885 0.182 0.235 0.96 FSRQ LSP 0.672 -999 7e-10 2e-10 2.49 0.17 5.0 N N S Y H -999 +"1FGL J1059.3-1132" "PKS B1056-113" 164.80179 -11.57297 264.11443246 42.68343539 0.056 0.072 1.0 BLL LSP -999.0 -999 2.4e-09 4e-10 2.18 0.08 16.8 N N S Y H -999 +"1FGL J1954.8-1124" "CGRaBS J1954-1123" 298.67146 -11.38964 29.65799517 -19.1339191 0.043 0.073 1.0 FSRQ -999 0.683 -999 3.7e-09 5e-10 2.27 0.06 17.1 Y N S Y H -999 +"1FGL J1735.4-1118" "CRATES J1735-1117" 263.86325 -11.29292 13.90089817 11.23272235 0.022 0.063 1.0 Unknown -999 -999.0 < 1.6e-09 -999.0 2.0 0.18 5.8 N N S Y H -999 +"1FGL J0856.6-1105" "CGRaBS J0856-1105" 134.17417 -11.08736 238.64486872 21.48384868 0.007 0.077 1.0 Unknown LSP -999.0 -999 3e-09 4e-10 2.3 0.07 17.7 N N S Y H -999 +"1FGL J2039.0-1047" "CRATES J2039-1046" 309.75292 -10.77831 35.29674852 -28.7338601 0.02 0.093 1.0 BLL -999 -999.0 -999 1.7e-09 3e-10 2.1 0.1 11.0 N N S Y H -999 +"1FGL J1354.9-1041" "PKS 1352-104" 208.69383 -10.68408 327.15113754 49.18619184 0.032 0.106 0.99 FSRQ LSP 0.332 -999 2e-09 3e-10 2.44 0.08 15.0 Y N S Y H -999 +"1FGL J0315.9-1033" "PKS 0313-107" 48.98696 -10.52761 193.94076003 -52.19129313 0.027 0.128 0.99 FSRQ -999 1.565 -999 1.4e-09 3e-10 2.28 0.13 8.7 N N S Y H -999 +"1FGL J1656.9-1033" "CRATES J1657-1021" 254.38637 -10.35433 9.553674 19.5988422 0.239 0.207 0.62 Unknown -999 -999.0 < 1.5e-09 -999.0 2.11 0.18 5.1 N N S N H -999 +"1FGL J1925.1-1018" "CRATES J1925-1018" 291.26333 -10.30344 27.43785752 -12.09490759 0.019 0.054 1.0 BLL -999 -999.0 -999 1.3e-09 4e-10 2.22 0.12 7.7 N N S Y H -999 +"1FGL J0814.5-1011" "AT20G J0814-1012" 123.54879 -10.203 231.88588654 13.21992573 0.095 0.108 0.0 Unknown HSP -999.0 -999 1.1e-09 3e-10 2.08 0.21 4.9 N N -999 N A -999 +"1FGL J1416.2-1001" "PKS B1412-096" 213.83683 -9.93283 334.54525416 47.72213523 0.252 0.218 0.7 FSRQ -999 2.001 -999 7e-10 3e-10 2.59 0.15 5.4 N N S N H -999 +"1FGL J1322.7-0943" "OP -034" 200.65379 -9.62717 315.61245402 52.47528513 0.098 0.178 0.97 FSRQ -999 1.864 -999 7e-10 3e-10 2.71 0.13 8.1 Y N S Y H -999 +"1FGL J0818.0-0938" "CGRaBS J0817-0933" 124.45729 -9.55847 231.79721209 14.3194985 0.113 0.131 0.99 BLL -999 -999.0 -999 1.1e-09 3e-10 2.19 0.15 7.5 N N S Y H -999 +"1FGL J0050.6-0928" "PKS 0048-09" 12.67217 -9.48478 122.32238742 -72.35564201 0.008 0.064 1.0 BLL LSP -999.0 -999 4.5e-09 5e-10 2.2 0.05 27.4 Y N S Y H -999 +"1FGL J0141.7-0929" "PKS 0139-09" 25.35762 -9.47881 159.04897722 -68.76889291 0.068 0.056 0.97 BLL LSP 0.733 -999 1.3e-09 3e-10 2.11 0.12 10.8 N N S Y H -999 +"1FGL J2131.7-0914" "RBS 1752" 322.89792 -9.25611 43.89396255 -39.67408676 0.035 0.035 0.99 BLL HSP 0.449 -999 9e-10 3e-10 1.82 0.19 8.0 N N S Y H -999 +"1FGL J1512.8-0906" "PKS 1510-08" 228.21056 -9.09995 351.28925788 40.13874077 0.005 0.015 1.0 FSRQ LSP 0.36 -999 4.86e-08 1.4e-09 2.41 0.01 101.4 Y Y S Y H -999 +"1FGL J0906.4-0903" "CRATES-Va J0906-0905" 136.57523 -9.0958 238.36686879 24.56415997 0.057 0.149 0.0 Unknown -999 -999.0 -999 5e-10 2e-10 2.24 0.23 4.8 N N -999 N A -999 +"1FGL J2016.2-0903" "FRBA J2016-0903" 304.10023 -9.05898 34.36377134 -22.96725535 0.028 0.069 0.0 Unknown ISP -999.0 -999 1.6e-09 3e-10 2.2 0.12 9.4 N N -999 N A -999 +"1FGL J1152.2-0836" "PKS B1149-084" 178.06858 -8.68425 279.0581055 51.42416885 0.07 0.267 0.98 FSRQ -999 2.367 -999 1e-09 3e-10 2.18 0.22 4.6 N N S Y H -999 +"1FGL J0953.0-0838" "CRATES J0953-0840" 148.26133 -8.67178 246.1867551 33.89826173 0.026 0.045 1.0 BLL HSP -999.0 -999 3e-09 4e-10 1.9 0.08 16.0 Y N S Y H -999 +"1FGL J0608.2-0837" "PKS 0605-08" 91.99875 -8.58056 215.7516777 -13.52380931 0.065 0.085 1.0 FSRQ LSP 0.872 -999 1.9e-09 4e-10 2.43 0.11 8.8 N N S Y H -999 +"1FGL J2229.7-0832" "PKS 2227-08" 337.417 -8.54844 55.2219247 -51.70184859 0.031 0.056 1.0 FSRQ LSP 1.559 -999 4.6e-09 5e-10 2.65 0.04 38.9 Y N S Y H -999 +"1FGL J0217.0-0829" "PKS 0214-085" 34.26108 -8.34786 174.07876131 -62.37991782 0.141 0.178 0.96 FSRQ LSP 0.607 -999 5e-10 2e-10 2.47 0.21 4.6 N N S Y H -999 +"1FGL J1745.6-0751" "CGRaBS J1745-0753" 266.36292 -7.88439 18.1658022 10.82329279 0.068 0.073 0.99 BLL LSP -999.0 -999 1.5e-09 5e-10 1.81 0.18 6.5 N N S Y H -999 +"1FGL J1408.9-0751" "PKS 1406-076" 212.23534 -7.87407 333.88177862 50.28186945 0.024 0.061 1.0 FSRQ LSP 1.494 -999 1.8e-09 3e-10 2.42 0.08 13.7 Y N S Y H -999 +"1FGL J0808.2-0750" "PKS 0805-07" 122.06475 -7.85275 229.04166386 13.16283325 0.017 0.026 1.0 FSRQ LSP 1.837 -999 1e-08 7e-10 2.14 0.04 38.8 Y N S Y H -999 +"1FGL J0000.9-0745" "CRATES J0001-0746" 0.32512 -7.77417 89.08473826 -67.29012607 0.089 0.153 0.96 BLL ISP -999.0 < 1e-09 -999.0 2.41 0.2 5.6 N N S Y H -999 +"1FGL J1126.0-0741" "BZB J1125-0742" 171.46662 -7.70586 269.13764133 49.46807548 0.036 0.089 1.0 BLL HSP 0.279 -999 7e-10 2e-10 1.59 0.25 4.4 N N S Y H -999 +"1FGL J2025.6-0735" "PKS 2023-07" 306.41942 -7.59797 36.8973895 -24.38732937 0.002 0.031 1.0 FSRQ LSP 1.388 -999 1.25e-08 7e-10 2.35 0.03 54.9 Y Y S Y H -999 +"1FGL J1147.7-0722" "PKS 1145-071" 176.96479 -7.41142 276.63954024 52.18466167 0.048 0.092 0.99 FSRQ LSP 1.342 -999 2e-09 4e-10 2.39 0.09 13.2 N N S Y H -999 +"1FGL J1204.3-0714" "CRATES J1204-0710" 181.06942 -7.16917 282.83063538 53.85182891 0.072 0.154 0.99 BLL ISP 0.185 -999 7e-10 2e-10 2.59 0.23 4.8 N N S Y H -999 +"1FGL J0051.1-0649" "PKS 0048-071" 12.78421 -6.83394 122.7164431 -69.70556277 0.016 0.105 1.0 FSRQ LSP 1.975 -999 1.9e-09 3e-10 2.36 0.09 12.8 Y N S Y H -999 +"1FGL J1624.7-0642" "4C -06.46" 246.13717 -6.83047 7.61048757 28.3039541 0.13 0.106 0.94 Unknown -999 -999.0 < 1e-09 -999.0 2.05 0.3 4.4 N N S Y H -999 +"1FGL J1643.5-0646" "FRBA J1643-0646" 250.87056 -6.77205 10.66706951 24.48261055 0.02 0.076 0.0 Unknown HSP -999.0 -999 2.3e-09 4e-10 2.21 0.1 10.1 N N -999 N A -999 +"1FGL J0422.0-0647" "CRATES J0422-0643" 65.545 -6.72925 200.76991389 -36.10138371 0.068 0.146 0.99 FSRQ ISP 0.242 < 1.1e-09 -999.0 2.35 0.17 5.6 N N S Y H -999 +"1FGL J0124.6-0616" "AT20G J0124-0625" 21.21033 -6.41722 145.40748044 -67.81944963 0.146 0.163 0.0 BLL -999 -999.0 -999 6e-10 3e-10 2.2 0.17 5.5 N N -999 N A -999 +"1FGL J2030.3-0617" "CRATES J2030-0622" 307.56304 -6.37083 38.66428723 -24.85020248 0.077 0.102 0.98 FSRQ -999 0.667 -999 1.1e-09 3e-10 2.41 0.12 8.6 Y N S Y H -999 +"1FGL J0608.1-0630" "CRATES J0609-0615" 92.41654 -6.25161 213.7967311 -12.12298883 0.457 0.306 0.0 Unknown -999 -999.0 -999 1.8e-09 5e-10 2.54 0.1 8.1 N Y -999 N A -999 +"1FGL J0305.0-0601" "CRATES J0305-0607" 46.25238 -6.12819 185.54303518 -51.95220505 0.108 0.185 0.95 BLL -999 -999.0 -999 1e-09 3e-10 2.05 0.17 4.7 N N S Y H -999 +"1FGL J1121.5-0554" "PKS 1118-05" 170.35462 -5.899 266.21590242 50.44333396 0.027 0.056 1.0 FSRQ LSP 1.297 -999 4e-09 4e-10 2.28 0.06 23.0 Y Y S Y H -999 +"1FGL J1256.2-0547" "3C 279" 194.04654 -5.78931 305.10434457 57.06240889 0.007 0.016 1.0 FSRQ LSP 0.536 -999 3.24e-08 1.1e-09 2.32 0.02 121.1 Y N S Y H -999 +"1FGL J1511.1-0545" "PKS 1508-05" 227.7233 -5.71873 353.90940623 42.93559855 0.078 0.102 0.99 FSRQ LSP 1.185 -999 2.1e-09 4e-10 2.39 0.1 8.7 N N S Y H -999 +"1FGL J0540.9-0547" "PKS 0539-057" 85.40867 -5.69706 210.05403604 -18.11000498 0.199 0.387 0.96 FSRQ LSP 0.839 -999 1.4e-09 4e-10 2.37 0.12 6.3 N N S N H -999 +"1FGL J0807.0-0544" "PKS 0804-05" 121.79008 -5.68719 226.97301102 14.01195287 0.058 0.057 0.98 Unknown -999 -999.0 -999 1.4e-09 3e-10 2.06 0.14 10.5 N N S Y H -999 +"1FGL J0017.4-0510" "CGRaBS J0017-0512" 4.39925 -5.21158 101.23946168 -66.64742912 0.04 0.079 1.0 FSRQ LSP 0.227 -999 1.5e-09 3e-10 2.6 0.07 20.2 Y Y S Y H -999 +"1FGL J1928.7-0506" "CRATES J1927-0510" 291.93396 -5.16917 32.43320462 -10.42096962 0.251 0.22 0.71 BLL -999 -999.0 -999 1.7e-09 4e-10 2.76 0.09 13.1 N N Mm N H -999 +"1FGL J1331.9-0506" "PKS 1329-049" 203.01858 -5.16203 321.36397536 56.24855642 0.059 0.063 0.98 FSRQ LSP 2.15 -999 3.9e-09 4e-10 2.65 0.05 33.3 Y N S Y H -999 +"1FGL J2225.8-0457" "3C 446" 336.44692 -4.95039 58.95966951 -48.84279387 0.026 0.083 1.0 FSRQ LSP 1.404 -999 2.1e-09 4e-10 2.53 0.07 17.4 N N S Y H -999 +"1FGL J1928.7-0506" "CRATES J1928-0456" 292.09367 -4.94061 32.71350973 -10.4604439 0.185 0.22 0.89 Unknown -999 -999.0 -999 1.7e-09 4e-10 2.76 0.09 13.1 N N Mm N H -999 +"1FGL J0050.0-0446" "PKS 0047-051" 12.58971 -4.87242 122.22224144 -67.74268181 0.119 0.184 0.98 FSRQ -999 0.92 -999 7e-10 3e-10 2.34 0.18 5.6 N N S Y H -999 +"1FGL J0505.8-0416" "CRATES J0505-0419" 76.46346 -4.32408 204.33473041 -25.39895012 0.057 0.261 0.98 FSRQ LSP 1.481 -999 7e-10 3e-10 2.37 0.17 5.1 N N S Y H -999 +"1FGL J2008.6-0419" "3C 407" 302.10161 -4.30814 37.96971968 -19.07043499 0.059 0.208 0.99 AGN -999 0.589 -999 1.1e-09 3e-10 2.36 0.18 4.3 N N S Y H -999 +"1FGL J0539.4-0400" "CRATES J0539-0356" 84.81454 -3.94892 208.13383163 -17.84439928 0.087 0.248 0.88 Unknown -999 -999.0 -999 1.1e-09 4e-10 2.46 0.14 4.1 N N S N H -999 +"1FGL J1521.0-0350" "FRBA J1520-0348" 230.20385 -3.81434 358.11633723 42.50410631 0.055 0.064 0.0 Unknown HSP -999.0 -999 1.7e-09 3e-10 1.97 0.12 9.4 N N -999 N A -999 +"1FGL J1709.1-0343" "CRATES-Va J1709-0336" 257.2916 -3.60794 17.27024997 20.7717111 0.121 0.149 0.0 Unknown -999 -999.0 -999 1.1e-09 4e-10 2.5 0.13 6.2 N N -999 N A -999 +"1FGL J0656.2-0321" "OH -090" 104.04634 -3.38522 216.48558351 -0.48834162 0.034 0.077 1.0 Unknown -999 -999.0 -999 3.9e-09 6e-10 2.59 0.11 16.1 Y N S N L -999 +"1FGL J2323.5-0315" "PKS 2320-035" 350.88313 -3.28472 77.74368385 -58.22157756 0.029 0.092 1.0 FSRQ LSP 1.41 -999 2.4e-09 4e-10 2.45 0.08 15.3 Y N S Y H -999 +"1FGL J1219.8-0309" "FRBA J1219-0314" 184.94041 -3.24 287.58542039 58.68472291 0.077 0.128 0.98 BLL HSP 0.299 -999 9e-10 3e-10 1.86 0.21 5.4 N N S Y H -999 +"1FGL J2108.5-0249" "CRATES J2108-0250" 317.18637 -2.84286 47.3906374 -31.59248482 0.055 0.127 0.98 Unknown -999 -999.0 -999 6e-10 3e-10 1.8 0.24 4.3 N N S Y H -999 +"1FGL J0609.3-0244" "NVSS J060915-024754" 92.31252 -2.7984 210.60424834 -10.6595205 0.065 0.096 0.0 Unknown HSP -999.0 -999 1.2e-09 3e-10 2.02 0.2 5.9 N N -999 N A -999 +"1FGL J1418.3-0235" "SDSS J141826.33-023334.1" 214.60959 -2.55944 341.58535582 53.65294987 0.032 0.069 1.0 BLL -999 -999.0 -999 1.9e-09 3e-10 1.86 0.11 12.1 N N S Y H -999 +"1FGL J0909.6-0229" "PKS 0907-023" 137.43717 -2.52511 232.83060471 28.98031126 0.044 0.079 0.99 FSRQ -999 0.957 -999 2.2e-09 3e-10 2.33 0.07 17.0 Y Y S Y H -999 +"1FGL J2338.3-0231" "PKS 2335-027" 354.48892 -2.516 84.24992402 -59.74997541 0.106 0.122 0.97 FSRQ -999 1.072 -999 1.5e-09 3e-10 2.59 0.1 13.1 Y N S Y H -999 +"1FGL J0541.9-0204" "CRATES J0541-0154" 85.478 -2.078 206.71703999 -16.3931856 0.011 0.075 0.0 Unknown -999 -999.0 -999 1.5e-09 6e-10 2.3 0.12 6.0 N N -999 N A -999 +"1FGL J1011.0-0156" "CRATES J1010-0200" 152.71529 -2.00544 243.42951532 41.60220665 0.083 0.165 0.98 FSRQ -999 0.887 -999 7e-10 2e-10 2.23 0.16 5.5 N N S Y H -999 +"1FGL J0501.0-0200" "PKS 0458-02" 75.30338 -1.98731 201.45104726 -25.29560838 0.033 0.147 1.0 FSRQ LSP 2.291 -999 1.1e-09 3e-10 2.5 0.11 9.4 N N S Y H -999 +"1FGL J2134.0-0203" "4C -02.81" 323.54296 -1.88811 52.38971402 -36.50364245 0.172 0.201 0.92 FSRQ LSP 1.284 -999 8e-10 3e-10 2.31 0.14 5.7 N N S Y H -999 +"1FGL J2322.3-0153" "PKS 2320-021" 350.76929 -1.84669 79.25272428 -57.02652667 0.181 0.179 0.84 FSRQ -999 1.774 -999 1.1e-09 3e-10 2.27 0.19 5.9 N N S Y H -999 +"1FGL J0339.2-0143" "PKS 0336-01" 54.87892 -1.77661 188.00121974 -42.45468288 0.095 0.157 0.99 FSRQ LSP 0.852 -999 1.2e-09 3e-10 2.5 0.1 9.5 Y N Mm N H -999 +"1FGL J1233.6-0146" "BZB J1233-0144" 188.42221 -1.73993 293.80646986 60.81695304 0.04 0.156 0.98 BLL -999 -999.0 -999 8e-10 3e-10 2.13 0.16 6.1 N N S Y H -999 +"1FGL J2015.3-0129" "PKS 2012-017" 303.81317 -1.62569 41.32621195 -19.33431584 0.133 0.111 0.96 BLL -999 -999.0 -999 1.4e-09 3e-10 2.27 0.14 7.4 N N S Y H -999 +"1FGL J0339.2-0143" "PKS 0336-017" 54.75413 -1.55489 187.65900098 -42.42409847 0.171 0.157 0.77 FSRQ -999 3.197 -999 1.2e-09 3e-10 2.5 0.1 9.5 Y N Mm N H -999 +"1FGL J0423.2-0118" "PKS 0420-01" 65.81583 -1.34253 195.29011931 -33.13994134 0.037 0.045 1.0 FSRQ LSP 0.915 -999 5.6e-09 5e-10 2.42 0.04 32.4 Y N S Y H -999 +"1FGL J1218.4-0128" "PKS 1216-010" 184.64554 -1.33178 286.09125756 60.46122864 0.142 0.111 0.66 BLL -999 -999.0 -999 1.6e-09 3e-10 2.14 0.12 9.6 N N S N H -999 +"1FGL J1022.8-0115" "BZB J1022-0113" 155.68219 -1.21736 245.24643034 44.3682857 0.052 0.093 1.0 BLL HSP -999.0 -999 7e-10 3e-10 1.93 0.18 6.3 N N S Y H -999 +"1FGL J0323.7-0106" "BZB J0323-0111" 50.93174 -1.19616 184.0339727 -45.23448924 0.093 0.104 0.98 BLL -999 -999.0 -999 8e-10 3e-10 1.47 0.19 8.6 N N MM N H -999 +"1FGL J0323.7-0106" "BZB J0323-0108" 50.98597 -1.14156 184.0218087 -45.15802124 0.055 0.104 0.99 BLL HSP 0.392 -999 8e-10 3e-10 1.47 0.19 8.6 N N MM N H -999 +"1FGL J0725.9-0053" "PKS 0723-008" 111.461 -0.91571 217.69709923 7.22717138 0.043 0.077 1.0 BLL -999 0.128 -999 6e-10 3e-10 2.3 0.08 6.1 N N S N L -999 +"1FGL J2014.5-0047" "AT20G J2014-0047" 303.61925 -0.78969 42.00692965 -18.76644378 0.021 0.08 0.0 BLL HSP 0.231 < 9e-10 -999.0 1.66 0.45 4.7 N N -999 N A -999 +"1FGL J2207.1-0021" "CGRaBS J2206-0031" 331.68038 -0.51736 59.91000488 -42.37220609 0.194 0.479 0.92 BLL -999 -999.0 -999 6e-10 3e-10 2.59 0.18 4.2 N N Mm N H -999 +"1FGL J2055.5-0023" "SDSS J205528.20-002117.2" 313.86749 -0.35472 47.9154286 -27.47093454 0.043 0.058 1.0 BLL HSP -999.0 < 9e-10 -999.0 1.46 0.28 5.8 N N S Y H -999 +"1FGL J0442.7-0019" "BZB J0442-0018" 70.62542 -0.30853 197.19082822 -28.49940712 0.065 0.048 0.94 BLL -999 0.449 -999 6.3e-09 5e-10 2.44 0.04 39.4 Y N MM N H -999 +"1FGL J0442.7-0019" "PKS 0440-00" 70.66108 -0.29539 197.19895243 -28.46208064 0.037 0.048 1.0 FSRQ LSP 0.844 -999 6.3e-09 5e-10 2.44 0.04 39.4 Y N MM N H -999 +"1FGL J0017.7-0019" "PKS 0013-00" 4.04621 -0.25347 103.99886959 -61.82244788 0.39 0.315 0.57 FSRQ LSP 1.574 -999 5e-10 2e-10 2.88 0.18 5.1 N N S N H -999 +"1FGL J1154.0-0008" "BZB J1154-0010" 178.51898 -0.1694 273.79943435 59.41833956 0.024 0.061 1.0 BLL HSP 0.254 -999 6e-10 3e-10 1.54 0.3 7.6 N N S Y H -999 +"1FGL J2207.1-0021" "CRATES J2207-0002" 331.98021 -0.03753 60.67163587 -42.31529137 0.373 0.479 0.56 Unknown -999 -999.0 -999 6e-10 3e-10 2.59 0.18 4.2 N N Mm N H -999 +"1FGL J2247.3+0000" "PKS 2244-002" 341.87583 0.00167 70.14588508 -49.72816236 0.049 0.089 0.99 BLL -999 -999.0 -999 1.1e-09 3e-10 2.12 0.15 7.6 N N S Y H -999 +"1FGL J0605.1+0005" "CLASS J0604+0000" 91.24341 0.01204 207.566196 -10.31767123 0.1 0.129 0.0 Unknown -999 -999.0 -999 1.1e-09 3e-10 1.94 0.23 5.4 N N -999 N A -999 +"1FGL J0242.7+0007" "RX J0241.9+0009" 40.48901 0.16224 171.69550762 -51.92495327 0.191 0.168 0.67 Unknown -999 -999.0 -999 9e-10 2e-10 2.12 0.2 5.2 N N S N H -999 +"1FGL J2117.8+0016" "CRATES J2118+0013" 319.5725 0.22133 51.93202707 -32.02410363 0.115 0.134 0.91 FSRQ -999 0.463 -999 9e-10 3e-10 1.89 0.18 5.0 N N S Y H -999 +"1FGL J0949.0+0021" "CGRaBS J0948+0022" 147.23883 0.37378 236.58951667 38.71333203 0.015 0.094 1.0 FSRQ HSP 0.585 -999 2.5e-09 4e-10 2.66 0.06 24.9 Y N S Y H -999 +"1FGL J1730.4+0008" "PKS 1728+004" 262.64583 0.41075 23.78055735 18.10571655 0.272 0.247 0.91 FSRQ -999 1.335 -999 1e-09 4e-10 2.22 0.15 5.3 Y N S Y H -999 +"1FGL J1133.1+0033" "PKS B1130+008" 173.19008 0.57439 264.25312978 57.41428632 0.09 0.103 0.98 BLL LSP -999.0 -999 2.1e-09 3e-10 2.18 0.11 12.2 N N MM N H -999 +"1FGL J0424.8+0036" "PKS 0422+00" 66.19517 0.60175 193.5861896 -31.77712752 0.011 0.145 1.0 BLL LSP -999.0 -999 1e-09 3e-10 2.38 0.16 6.2 N N S Y H -999 +"1FGL J1133.1+0033" "PKS 1130+009" 173.33358 0.68133 264.364606 57.58292242 0.13 0.103 0.92 FSRQ -999 1.633 -999 2.1e-09 3e-10 2.18 0.11 12.2 N N MM N H -999 +"1FGL J0011.1+0050" "CGRaBS J0011+0057" 2.87667 0.96439 102.44847216 -60.3096174 0.153 0.42 0.96 FSRQ LSP 1.492 -999 6e-10 2e-10 2.51 0.15 5.8 N N S Y H -999 +"1FGL J1051.9+0106" "BZB J1051+0103" 162.96598 1.053 250.18003988 51.24478695 0.058 0.129 0.99 BLL ISP 0.265 -999 7e-10 3e-10 1.98 0.23 4.6 N N S Y H -999 +"1FGL J0839.5+0059" "PKS 0837+012" 129.95671 1.07408 225.04211822 24.44801571 0.105 0.103 0.95 FSRQ LSP 1.123 -999 1.6e-09 3e-10 2.28 0.12 10.0 Y N S Y H -999 +"1FGL J0416.8+0107" "CRATES J0416+0105" 64.21871 1.08997 191.81448874 -33.15909747 0.036 0.081 1.0 BLL HSP 0.287 -999 7e-10 3e-10 1.94 0.22 6.0 N N S Y H -999 +"1FGL J0909.0+0126" "PKS 0906+01" 137.29204 1.35989 228.94454509 30.92468819 0.086 0.078 0.96 FSRQ LSP 1.024 -999 2.4e-09 4e-10 2.74 0.06 25.8 Y N S Y H -999 +"1FGL J0312.6+0131" "PKS 0310+013" 48.18167 1.55486 178.51049593 -45.52150114 0.035 0.068 1.0 FSRQ -999 0.664 -999 1.8e-09 3e-10 2.31 0.09 12.8 Y N S Y H -999 +"1FGL J1058.4+0134" "PKS 1055+01" 164.62333 1.56633 251.51058686 52.77395824 0.016 0.035 1.0 FSRQ LSP 0.888 -999 7.1e-09 6e-10 2.29 0.04 35.5 Y N S Y H -999 +"1FGL J0108.6+0135" "4C +01.02" 17.16154 1.58342 131.82702251 -60.99078045 0.013 0.047 1.0 FSRQ LSP 2.107 -999 5.6e-09 5e-10 2.54 0.04 42.1 Y N S Y H -999 +"1FGL J0739.1+0138" "PKS 0736+01" 114.82512 1.61794 216.98966747 11.38015431 0.045 0.082 1.0 FSRQ LSP 0.191 -999 2.3e-09 4e-10 2.63 0.06 21.2 Y N S Y H -999 +"1FGL J0217.9+0144" "PKS 0215+015" 34.454 1.74714 162.14000665 -54.41314622 0.026 0.038 1.0 FSRQ LSP 1.715 -999 6e-09 5e-10 2.18 0.05 31.9 Y N S Y H -999 +"1FGL J0811.2+0148" "PKS 0808+019" 122.86129 1.78117 220.70633335 18.56898251 0.061 0.117 1.0 BLL LSP 1.148 -999 1.1e-09 3e-10 2.45 0.12 8.9 N N S Y H -999 +"1FGL J1159.8+0200" "CLASS J1200+0202" 180.05146 2.03571 274.70667131 62.06670937 0.085 0.15 0.0 Unknown -999 -999.0 -999 9e-10 2e-10 2.37 0.16 7.1 N N -999 N A -999 +"1FGL J1108.3+0210" "PKS 1106+023" 167.18954 2.04469 254.13043232 54.87597075 0.16 0.23 0.94 AGN -999 0.157 -999 8e-10 3e-10 2.22 0.24 4.5 N N Mm N H -999 +"1FGL J1229.1+0203" "3C 273" 187.27792 2.05239 289.95088978 64.35997796 0.002 0.036 1.0 FSRQ LSP 0.158 -999 9.6e-09 6e-10 2.75 0.03 73.8 Y Y S Y H -999 +"1FGL J1512.3+0201" "PKS 1509+022" 228.0656 2.05472 2.35446021 47.99408002 0.036 0.076 1.0 FSRQ LSP 0.219 -999 2.3e-09 4e-10 2.29 0.09 13.4 N N S Y H -999 +"1FGL J2310.9+0204" "FRBA J2311+0205" 347.75541 2.0852 79.31870344 -52.07292505 0.008 0.084 0.0 Unknown -999 -999.0 -999 9e-10 3e-10 2.27 0.15 7.9 N N -999 N A -999 +"1FGL J0422.1+0211" "PKS 0420+022" 65.71754 2.32414 191.59151965 -31.22726153 0.228 0.25 0.86 FSRQ LSP 2.277 -999 1e-09 3e-10 2.54 0.18 4.4 N N S Y H -999 +"1FGL J1108.3+0210" "BZB J1107+0222" 166.89958 2.37333 253.37296712 54.92345113 0.278 0.23 0.59 BLL -999 -999.0 -999 8e-10 3e-10 2.22 0.24 4.5 N N Mm N H -999 +"1FGL J0326.2+0222" "1ES 0323+022" 51.55812 2.42076 180.74699024 -42.4314346 0.045 0.085 1.0 BLL HSP 0.147 -999 1.1e-09 3e-10 2.14 0.13 7.8 N N S Y H -999 +"1FGL J1549.3+0235" "PKS 1546+027" 237.37267 2.617 10.84581541 40.90439851 0.037 0.083 1.0 FSRQ LSP 0.414 -999 2.4e-09 4e-10 2.46 0.09 14.3 Y N S Y H -999 +"1FGL J0050.2+0235" "PKS 0047+023" 12.43017 2.61772 122.06759729 -60.25114681 0.125 0.116 0.98 BLL -999 -999.0 -999 5e-10 3e-10 2.27 0.19 5.6 N N S Y H -999 +"1FGL J0318.1+0254" "CLASS J0317+0248" 49.44965 2.81183 178.42206445 -43.73785622 0.135 0.165 0.0 FSRQ -999 0.748 -999 8e-10 3e-10 2.2 0.18 4.1 N N -999 N A -999 +"1FGL J1627.9+0254" "CLASS J1627+0251" 246.97557 2.85262 17.54785596 32.93645082 0.063 0.145 0.0 BLL -999 -999.0 -999 9e-10 3e-10 2.04 0.2 5.7 N N -999 N A -999 +"1FGL J0842.2+0251" "BZB J0842+0252" 130.6063 2.88131 223.64888461 25.89637252 0.058 0.07 0.99 BLL HSP 0.425 -999 6e-10 3e-10 1.81 0.25 5.8 N N S Y H -999 +"1FGL J0825.9+0309" "PKS 0823+033" 126.45975 3.15681 221.21887322 22.38817295 0.027 0.085 1.0 BLL LSP 0.506 -999 6e-10 2e-10 1.83 0.23 6.5 N N S Y H -999 +"1FGL J2149.7+0327" "PKS B2147+031" 327.42446 3.38094 60.53743262 -36.62264278 0.076 0.165 0.95 BLL -999 -999.0 -999 1e-09 3e-10 2.62 0.16 7.7 N N S Y H -999 +"1FGL J1253.7+0326" "CRATES J1253+0326" 193.44588 3.44178 304.3887111 66.3068938 0.016 0.105 0.99 BLL HSP 0.065 < 9e-10 -999.0 1.48 0.32 4.8 N N S Y H -999 +"1FGL J1505.0+0328" "PKS 1502+036" 226.277 3.44189 2.22659669 50.2543501 0.032 0.115 1.0 AGN -999 0.409 -999 1.1e-09 3e-10 2.69 0.11 10.6 N N S Y H -999 +"1FGL J1804.1+0336" "CRATES J1803+0341" 270.9845 3.68544 30.79558036 12.2437044 0.097 0.147 0.95 FSRQ -999 1.42 -999 1.1e-09 4e-10 2.43 0.16 6.0 N N S Y H -999 +"1FGL J1811.3+0340" "NVSS J181118+034113" 272.82474 3.68699 31.64605099 10.60736002 0.029 0.067 0.0 Unknown HSP -999.0 -999 1.5e-09 4e-10 1.8 0.18 7.3 N N -999 N A -999 +"1FGL J0024.6+0346" "CLASS J0024+0349" 6.18841 3.81766 110.15521528 -58.39057994 0.045 0.099 0.0 FSRQ -999 0.545 -999 9e-10 3e-10 2.33 0.12 8.9 Y N -999 N A -999 +"1FGL J0115.7+0357" "CLASS J0115+0356" 18.9188 3.94536 134.51923004 -58.38005075 0.021 0.076 0.0 BLL -999 -999.0 -999 1.4e-09 3e-10 2.07 0.15 8.7 N N -999 N A -999 +"1FGL J0308.3+0403" "NGC 1218" 47.10927 4.11092 174.8580867 -44.51337651 0.056 0.073 0.98 AGN -999 0.029 -999 9e-10 3e-10 1.86 0.21 5.2 N N S Y H -999 +"1FGL J0721.4+0401" "RX J0721.3+0406" 110.34963 4.11228 212.66916728 8.53511427 0.083 0.125 0.98 Unknown -999 -999.0 -999 8e-10 3e-10 2.68 0.17 6.8 N N S N L -999 +"1FGL J2050.1+0407" "PKS 2047+039" 312.526 4.13025 51.38566474 -23.98607855 0.018 0.117 1.0 BLL -999 -999.0 -999 1.2e-09 3e-10 2.04 0.18 5.8 N N S Y H -999 +"1FGL J1222.5+0415" "4C +04.42" 185.59396 4.22106 284.81916925 66.06552076 0.063 0.093 0.99 FSRQ LSP 0.965 -999 9e-10 3e-10 2.66 0.1 11.4 N N S Y H -999 +"1FGL J0505.2+0420" "CRATES J0505+0415" 76.39487 4.26517 196.17289238 -21.19895816 0.118 0.123 0.96 BLL HSP -999.0 -999 1.3e-09 3e-10 2.38 0.14 8.1 N N S Y H -999 +"1FGL J1728.2+0431" "PKS 1725+044" 262.10396 4.45136 27.29422171 20.47714931 0.08 0.16 0.99 FSRQ LSP 0.293 -999 1.3e-09 3e-10 2.65 0.11 9.8 N N S Y H -999 +"1FGL J0831.6+0429" "PKS 0829+046" 127.95367 4.49419 220.69341252 24.33179852 0.039 0.105 1.0 BLL LSP 0.174 -999 2.5e-09 4e-10 2.5 0.07 18.3 Y N S Y H -999 +"1FGL J2204.6+0442" "4C +04.77" 331.07358 4.66722 64.70107784 -38.6313861 0.096 0.143 0.99 AGN -999 0.027 -999 1.3e-09 3e-10 2.43 0.14 7.9 N N S Y H -999 +"1FGL J1239.5+0443" "CRATES J1239+0443" 189.8865 4.71811 295.19834691 67.41112204 0.006 0.049 1.0 FSRQ -999 1.761 -999 3.8e-09 4e-10 2.35 0.06 24.9 Y N S Y H -999 +"1FGL J2357.2+0445" "CLASS J2357+0448" 359.27794 4.81576 98.55423081 -55.46361971 0.07 0.196 0.0 FSRQ -999 1.251 < 7e-10 -999.0 2.92 0.17 6.7 N N -999 N A -999 +"1FGL J2357.2+0445" "RX J2357.4+0458" 359.37 4.96972 98.80403322 -55.35405207 0.215 0.196 0.0 AGN -999 0.285 < 7e-10 -999.0 2.92 0.17 6.7 N N -999 N A -999 +"1FGL J1016.1+0514" "CRATES J1016+0513" 154.01308 5.21731 236.51929698 47.03263838 0.026 0.035 1.0 FSRQ -999 1.713 -999 6.1e-09 5e-10 2.28 0.04 34.8 Y N S Y H -999 +"1FGL J0427.5+0515" "PKS 0423+051" 66.65254 5.30553 189.36302142 -28.77056327 0.228 0.197 0.56 FSRQ -999 1.333 -999 1e-09 3e-10 2.72 0.12 8.3 N N S N H -999 +"1FGL J1550.7+0527" "4C +05.64" 237.64696 5.45292 14.21646026 42.23083886 0.036 0.148 0.99 FSRQ LSP 1.422 -999 1.3e-09 3e-10 2.36 0.15 6.5 N N S Y H -999 +"1FGL J0509.3+0540" "CGRaBS J0509+0541" 77.35817 5.69314 195.40538685 -19.63605123 0.023 0.037 1.0 BLL LSP -999.0 -999 3.9e-09 4e-10 2.16 0.07 21.4 Y N S Y H -999 +"1FGL J2017.3+0603" "CLASS J2017+0603" 304.30593 6.05194 48.60079625 -15.99298691 0.034 0.038 0.0 FSRQ ISP 1.743 -999 6.9e-09 6e-10 1.88 0.05 24.5 N Y -999 N A -999 +"1FGL J0022.5+0607" "PKS 0019+058" 5.63517 6.1345 110.0079554 -56.01042847 0.009 0.09 1.0 BLL LSP -999.0 -999 1.5e-09 3e-10 2.15 0.11 10.1 N N S Y H -999 +"1FGL J1440.9+0613" "CRATES J1440+0610" 220.22058 6.17117 359.04008225 56.60131502 0.058 0.088 0.99 BLL ISP -999.0 -999 1.2e-09 3e-10 2.43 0.1 12.1 N N S Y H -999 +"1FGL J1830.1+0618" "TXS 1827+062" 277.52475 6.3211 36.16209963 7.61100658 0.025 0.055 1.0 Unknown -999 -999.0 -999 4.8e-09 6e-10 2.35 0.12 17.1 Y N S N L -999 +"1FGL J1736.3+0628" "PKS 1734+063" 264.30721 6.351 30.15265276 19.38230827 0.253 0.225 0.7 FSRQ -999 1.207 -999 8e-10 3e-10 2.7 0.17 4.6 N N Mm N H -999 +"1FGL J1007.9+0619" "CGRaBS J1008+0621" 152.00342 6.35589 233.52181908 46.01229607 0.032 0.134 1.0 BLL LSP -999.0 -999 1.2e-09 3e-10 2.33 0.12 8.8 N N S Y H -999 +"1FGL J0008.9+0635" "CRATES J0009+0628" 2.26638 6.47256 104.42449003 -54.8693948 0.119 0.117 0.93 BLL LSP -999.0 < 8e-10 -999.0 2.28 0.22 5.0 N N S Y H -999 +"1FGL J1012.2+0634" "CRATES J1012+0630" 153.05562 6.51589 234.15926125 46.97471727 0.056 0.104 1.0 BLL LSP 0.727 -999 8e-10 2e-10 2.3 0.2 6.1 N N S Y H -999 +"1FGL J1736.3+0628" "CGRaBS J1736+0631" 264.11912 6.52986 30.23380768 19.62943531 0.061 0.225 0.99 FSRQ -999 2.388 -999 8e-10 3e-10 2.7 0.17 4.6 N N Mm N H -999 +"1FGL J1226.8+0638" "BZB J1226+0638" 186.68428 6.64811 285.82946859 68.69573507 0.024 0.142 0.99 BLL HSP -999.0 < 6e-10 -999.0 2.26 0.26 4.5 N N S Y H -999 +"1FGL J0457.9+0649" "4C +06.21" 74.28212 6.75203 192.70996211 -21.66366096 0.207 0.188 0.84 FSRQ LSP 0.405 -999 1.4e-09 3e-10 2.47 0.13 8.2 N N S Y H -999 +"1FGL J2212.9+0654" "CRATES J2212+0646" 333.21183 6.76908 68.52763751 -38.81094996 0.147 0.194 0.94 FSRQ -999 1.121 -999 1.2e-09 3e-10 2.33 0.11 9.0 N N S N H -999 +"1FGL J2148.5+0654" "4C +06.69" 327.02275 6.96072 63.65601763 -34.07164605 0.124 0.267 0.96 FSRQ LSP 0.999 -999 7e-10 3e-10 2.56 0.21 4.3 N N S Y H -999 +"1FGL J1120.4+0710" "CRATES J1120+0704" 170.16017 7.07978 251.71948002 60.57417976 0.1 0.096 0.91 Unknown -999 -999.0 -999 8e-10 2e-10 2.03 0.17 6.7 N N Mm N H -999 +"1FGL J1346.0+0703" "CRATES J1345+0706" 206.45546 7.10864 338.21491137 66.18124338 0.066 0.117 0.99 Unknown LSP -999.0 -999 9e-10 2e-10 2.15 0.16 7.3 Y N S Y H -999 +"1FGL J1120.4+0710" "SDSS J112042.47+071311.5" 170.17696 7.21985 251.54381392 60.68586905 0.072 0.096 0.59 AGN -999 0.288 -999 8e-10 2e-10 2.03 0.17 6.7 N N Mm N H -999 +"1FGL J1104.4+0734" "CRATES J1104+0730" 166.10029 7.51478 245.6947971 57.93921627 0.067 0.093 0.99 BLL -999 -999.0 -999 1e-09 3e-10 2.22 0.13 8.7 N N S Y H -999 +"1FGL J0532.9+0733" "OG 050" 83.1625 7.54536 196.84165141 -13.73865465 0.082 0.058 0.92 FSRQ LSP 1.254 -999 3.3e-09 5e-10 2.47 0.06 18.0 N N S Y H -999 +"1FGL J2334.3+0735" "CGRaBS J2334+0736" 353.55342 7.60764 91.88487514 -50.55007381 0.039 0.141 0.99 FSRQ LSP 0.401 -999 1.2e-09 3e-10 2.44 0.13 8.0 N N S Y H -999 +"1FGL J0407.5+0749" "CGRaBS J0407+0742" 61.87121 7.70208 183.87220211 -31.15592717 0.123 0.176 0.97 FSRQ ISP 1.133 -999 8e-10 3e-10 2.37 0.18 4.6 N N S N H -999 +"1FGL J0100.2+0747" "CRATES J0100+0745" 15.08662 7.76428 126.7850712 -55.04080587 0.048 0.047 0.97 Unknown -999 -999.0 -999 2.6e-09 4e-10 1.86 0.09 15.9 Y N S Y H -999 +"1FGL J0259.5+0743" "PKS 0256+075" 44.86283 7.79433 169.11594437 -43.30745392 0.08 0.163 0.98 FSRQ LSP 0.893 -999 1e-09 3e-10 2.52 0.14 6.8 N N S Y H -999 +"1FGL J2110.0+0811" "CRATES J2110+0809" 317.54033 8.16539 58.14311486 -25.88139691 0.052 0.138 0.98 FSRQ -999 1.58 -999 1.6e-09 3e-10 2.29 0.11 9.4 N N S Y H -999 +"1FGL J0154.1+0823" "CRATES J0154+0823" 28.51154 8.39753 148.24346838 -51.37106271 0.02 0.071 1.0 BLL -999 -999.0 -999 2.1e-09 3e-10 1.96 0.1 11.9 N N S Y H -999 +"1FGL J0217.2+0834" "CGRaBS J0217+0837" 34.32138 8.61775 156.12630877 -48.64243563 0.039 0.117 1.0 Unknown ISP -999.0 -999 8e-10 3e-10 2.22 0.16 6.3 N N S Y H -999 +"1FGL J0202.1+0849" "RX J0202.4+0849" 30.61 8.82028 150.97367705 -50.14566105 0.083 0.115 0.99 BLL LSP -999.0 -999 9e-10 3e-10 1.97 0.22 4.5 N N S Y H -999 +"1FGL J1551.7+0851" "CRATES J1552+0850" 238.01358 8.84647 18.45594655 43.65228308 0.067 0.163 0.99 BLL -999 -999.0 -999 6e-10 3e-10 2.21 0.19 4.4 N N Mm N H -999 +"1FGL J1551.7+0851" "SDSS J155140.52+085226.1" 237.91882 8.87393 18.42569461 43.74737322 0.034 0.163 0.71 AGN -999 0.071 -999 6e-10 3e-10 2.21 0.19 4.4 N N Mm N H -999 +"1FGL J0643.2+0859" "TXS 0640+090" 100.86019 8.96056 204.04647885 2.31258988 0.069 0.068 0.97 Unknown -999 -999.0 -999 4.2e-09 6e-10 2.4 0.07 13.2 Y N S N L -999 +"1FGL J0517.6+0857" "CLASS J0517+0858" 79.41693 8.97661 193.59288364 -16.17542153 0.025 0.109 0.0 FSRQ -999 0.328 -999 1.1e-09 4e-10 2.58 0.12 8.5 N N -999 N A -999 +"1FGL J1818.1+0905" "CRATES J1818+0903" 274.66692 9.06283 37.37924272 11.36542997 0.128 0.124 0.88 FSRQ -999 0.354 -999 2.2e-09 4e-10 2.42 0.1 9.8 N N S Y H -999 +"1FGL J0316.1+0904" "BZB J0316+0904" 49.05306 9.0787 172.10492964 -39.59048714 0.007 0.055 1.0 BLL HSP -999.0 -999 2.6e-09 4e-10 1.72 0.1 15.7 N N S Y H -999 +"1FGL J2147.2+0929" "PKS 2144+092" 326.79237 9.49631 65.79571053 -32.26225474 0.026 0.064 1.0 FSRQ LSP 1.113 -999 4.1e-09 4e-10 2.64 0.05 34.2 Y N S Y H -999 +"1FGL J1931.2+0939" "RX J1931.1+0937" 292.78846 9.62122 46.04689786 -4.30635894 0.039 0.085 1.0 BLL -999 -999.0 -999 1.7e-09 4e-10 2.08 0.06 6.3 N N S N L -999 +"1FGL J0835.4+0936" "CRATES J0835+0937" 128.93008 9.62167 216.08730085 27.50604875 0.063 0.08 0.96 BLL -999 -999.0 < 6e-10 -999.0 1.41 0.52 5.0 N N S Y H -999 +"1FGL J0226.3+0937" "FRBA J0226+0937" 36.55704 9.62398 158.19328244 -46.65572878 0.034 0.133 0.0 Unknown -999 -999.0 -999 9e-10 3e-10 1.99 0.17 6.4 N N -999 N A -999 +"1FGL J1751.5+0937" "4C +09.57" 267.88675 9.65019 34.9194442 17.64513334 0.023 0.042 1.0 BLL LSP 0.322 -999 6.4e-09 6e-10 2.29 0.05 26.5 Y N S Y H -999 +"1FGL J2327.7+0943" "PKS 2325+093" 351.88992 9.66931 91.14231028 -47.95772702 0.069 0.081 0.99 FSRQ LSP 1.843 -999 3e-09 4e-10 2.76 0.05 28.8 Y N S Y H -999 +"1FGL J2049.7+1003" "CRATES J2049+0954" 312.34571 9.91042 56.51177392 -20.67395299 0.17 0.161 0.84 Unknown -999 -999.0 -999 9e-10 3e-10 2.51 0.13 6.9 N N MM N H -999 +"1FGL J0757.2+0956" "PKS 0754+100" 119.27767 9.94303 211.31156108 19.05692824 0.029 0.061 1.0 BLL LSP 0.266 -999 2e-09 3e-10 2.39 0.08 15.6 Y N S Y H -999 +"1FGL J2049.7+1003" "PKS 2047+098" 312.44108 10.054 56.69512904 -20.67110306 0.005 0.161 1.0 Unknown -999 -999.0 -999 9e-10 3e-10 2.51 0.13 6.9 N N MM N H -999 +"1FGL J0509.2+1015" "PKS 0506+101" 77.36442 10.19572 191.38886686 -17.23652491 0.083 0.135 0.98 FSRQ -999 0.621 -999 2.2e-09 4e-10 2.42 0.11 9.3 N N S Y H -999 +"1FGL J1722.5+1012" "CRATES J1722+1013" 260.68575 10.22661 32.21827827 24.30009457 0.038 0.079 0.99 FSRQ LSP 0.732 -999 1.2e-09 3e-10 2.33 0.13 7.9 N N S Y H -999 +"1FGL J1745.5+1018" "CLASS J1746+1015" 266.52829 10.26608 34.89998527 19.11794901 0.155 0.107 0.0 Unknown -999 -999.0 -999 1.6e-09 3e-10 2.23 0.13 7.3 N N -999 N A -999 +"1FGL J0946.6+1012" "CRATES J0946+1017" 146.64613 10.28503 224.97611862 43.42208527 0.082 0.183 0.99 FSRQ -999 1.007 -999 9e-10 3e-10 2.5 0.13 7.1 N N S Y H -999 +"1FGL J1609.0+1031" "4C +10.45" 242.1925 10.4855 23.02830698 40.78851954 0.073 0.152 0.99 FSRQ LSP 1.226 -999 1.1e-09 3e-10 2.72 0.1 10.9 Y N S Y H -999 +"1FGL J1504.4+1029" "PKS 1502+106" 226.10408 10.49422 11.38195405 54.58061049 0.002 0.012 1.0 FSRQ LSP 1.839 -999 6.7e-08 1.6e-09 2.22 0.01 188.7 Y Y S Y H -999 +"1FGL J1251.3+1044" "SDSS J125117.88+103907.2" 192.82452 10.65202 302.8107744 73.52373585 0.092 0.106 0.0 BLL -999 -999.0 < 9e-10 -999.0 2.04 0.31 4.2 N N -999 N A -999 +"1FGL J0159.5+1047" "BZB J0159+1047" 29.89292 10.78472 148.74839399 -48.6418845 0.011 0.084 1.0 BLL HSP 0.195 -999 1.6e-09 3e-10 1.97 0.12 9.8 N N S Y H -999 +"1FGL J0211.2+1049" "CGRaBS J0211+1051" 32.80492 10.85967 152.57791382 -47.36751287 0.028 0.06 1.0 BLL -999 -999.0 -999 2.2e-09 4e-10 2.27 0.09 14.1 Y N S Y H -999 +"1FGL J2035.4+1100" "PKS 2032+107" 308.84308 10.93522 55.39819533 -17.23769332 0.07 0.133 0.99 FSRQ LSP 0.601 -999 1.9e-09 4e-10 2.68 0.1 11.7 N N S Y H -999 +"1FGL J1555.7+1111" "PG 1553+113" 238.92933 11.19011 21.90891348 43.96418394 0.009 0.011 1.0 BLL HSP -999.0 -999 1.37e-08 7e-10 1.66 0.03 53.2 Y N S Y H -999 +"1FGL J1351.5+1115" "BZB J1351+1114" 207.83685 11.24804 347.37672911 68.77753313 0.044 0.067 1.0 BLL HSP -999.0 -999 4e-10 2e-10 1.37 0.23 7.0 N N S Y H -999 +"1FGL J0448.6+1118" "PKS 0446+11" 72.28196 11.35794 187.42726626 -20.7366632 0.123 0.137 0.99 BLL LSP -999.0 -999 1.8e-09 4e-10 2.51 0.09 10.1 N N MM N H -999 +"1FGL J0448.6+1118" "CRATES J0448+1127" 72.21004 11.46511 187.29016234 -20.73290561 0.162 0.137 0.92 FSRQ -999 1.369 -999 1.8e-09 4e-10 2.51 0.09 10.1 N N MM N H -999 +"1FGL J0847.2+1134" "BZB J0847+1133" 131.80388 11.56396 215.45583446 30.88947079 0.021 0.067 1.0 BLL HSP 0.198 -999 7e-10 2e-10 1.4 0.19 9.1 N N S Y H -999 +"1FGL J2232.5+1144" "CTA 102" 338.15171 11.7308 77.43789745 -38.58250032 0.022 0.057 1.0 FSRQ LSP 1.037 -999 4.1e-09 4e-10 2.56 0.05 28.8 Y N S Y H -999 +"1FGL J1641.0+1143" "CRATES J1640+1144" 250.24537 11.7345 28.79669527 34.22163425 0.011 0.071 1.0 AGN -999 0.078 -999 8e-10 2e-10 2.4 0.17 7.1 N N S Y H -999 +"1FGL J1204.4+1139" "BZB J1204+1145" 181.05049 11.76539 264.82834162 71.05430568 0.124 0.133 0.97 BLL HSP 0.296 -999 8e-10 2e-10 2.15 0.17 6.2 N N S Y H -999 +"1FGL J1725.0+1151" "CGRaBS J1725+1152" 261.26808 11.87097 34.12000621 24.47510183 0.014 0.048 1.0 BLL HSP -999.0 -999 3.4e-09 4e-10 1.89 0.09 15.8 N N S Y H -999 +"1FGL J1338.9+1153" "FRBA J1338+1153" 204.74545 11.88822 341.44102768 71.11329948 0.012 0.057 1.0 BLL -999 -999.0 -999 1e-09 3e-10 2.03 0.15 8.6 N N S Y H -999 +"1FGL J1309.2+1156" "4C +12.46" 197.39138 11.90683 319.42313208 74.19531376 0.085 0.139 0.98 BLL LSP -999.0 -999 7e-10 3e-10 2.25 0.18 6.0 N N S Y H -999 +"1FGL J1442.8+1158" "1ES 1440+122" 220.70116 12.01122 8.32970834 59.8401359 0.041 0.082 1.0 BLL HSP 0.163 -999 8e-10 2e-10 1.77 0.25 6.8 N N S Y H -999 +"1FGL J2031.5+1219" "PKS 2029+121" 307.97917 12.32814 56.13255332 -15.76784445 0.092 0.139 0.99 BLL -999 -999.0 -999 1.5e-09 3e-10 2.41 0.12 9.3 N N S Y H -999 +"1FGL J1230.8+1223" "M 87" 187.70593 12.39112 283.7777367 74.49115139 0.015 0.077 1.0 AGN -999 0.004 -999 1.4e-09 3e-10 2.33 0.12 10.8 N N S Y H -999 +"1FGL J0750.6+1235" "PKS 0748+126" 117.71688 12.518 208.16056477 18.76052897 0.086 0.161 0.99 FSRQ LSP 0.889 -999 1.5e-09 3e-10 2.44 0.1 11.3 Y N S Y H -999 +"1FGL J0038.0+1236" "FRBA J0037+1238" 9.4618 12.63863 117.75976082 -50.09658411 0.06 0.098 0.0 Unknown -999 -999.0 -999 7e-10 3e-10 2.3 0.18 7.0 N N -999 N A -999 +"1FGL J1553.4+1255" "PKS 1551+130" 238.38625 12.94769 23.78962068 45.22027426 0.031 0.044 1.0 FSRQ -999 1.308 -999 7e-09 6e-10 2.3 0.04 31.7 Y Y S Y H -999 +"1FGL J0840.8+1310" "3C 207" 130.19828 13.20655 212.96796986 30.13859628 0.032 0.137 0.99 AGN -999 0.681 -999 1.1e-09 3e-10 2.44 0.13 8.2 Y N Mm N H -999 +"1FGL J0840.8+1310" "CXOMP J084054.3+131456" 130.22625 13.24889 212.93595917 30.18064384 0.074 0.137 0.71 AGN -999 0.31 -999 1.1e-09 3e-10 2.44 0.13 8.2 Y N Mm N H -999 +"1FGL J0840.8+1310" "CXOMP J084045.2+131617" 130.18847 13.2715 212.89482498 30.15617461 0.097 0.137 0.58 AGN -999 0.573 -999 1.1e-09 3e-10 2.44 0.13 8.2 Y N Mm N H -999 +"1FGL J0114.4+1327" "CRATES J0113+1324" 18.47713 13.41458 131.2927282 -49.09204238 0.13 0.163 0.93 FSRQ -999 0.685 -999 1.1e-09 3e-10 2.67 0.13 8.9 N N MM N H -999 +"1FGL J0114.4+1327" "BZB J0114+1325" 18.71991 13.42709 131.64725115 -49.04756883 0.121 0.163 0.97 BLL -999 -999.0 -999 1.1e-09 3e-10 2.67 0.13 8.9 N N MM N H -999 +"1FGL J0531.0+1331" "PKS 0528+134" 82.73508 13.53197 191.36767218 -11.01195121 0.019 0.075 1.0 FSRQ LSP 2.07 -999 4e-09 5e-10 2.64 0.06 20.5 Y N S Y H -999 +"1FGL J0905.5+1356" "CRATES J0905+1358" 136.39579 13.96842 215.03005584 35.95972336 0.021 0.058 1.0 Unknown -999 -999.0 -999 1e-09 2e-10 1.95 0.16 9.1 N N S Y H -999 +"1FGL J1954.8+1402" "VCS1 J1955+1358" 298.79821 13.97118 52.75615016 -7.30083525 0.108 0.121 0.97 Unknown -999 -999.0 -999 1.3e-09 4e-10 2.34 0.16 7.2 N N S N L -999 +"1FGL J0725.3+1431" "4C +14.23" 111.32004 14.42047 203.64395522 13.90858931 0.107 0.073 0.92 FSRQ -999 1.038 -999 2.7e-09 4e-10 2.39 0.07 17.0 Y N S Y H -999 +"1FGL J2334.7+1429" "BZB J2334+1408" 353.72432 14.53743 96.57444378 -44.3818656 0.05 0.078 0.99 BLL -999 -999.0 -999 9e-10 3e-10 1.96 0.21 6.5 N N S Y H -999 +"1FGL J1353.3+1434" "PKS 1350+148" 208.34517 14.59425 355.05208421 70.89157364 0.013 0.069 1.0 BLL -999 -999.0 -999 5e-10 2e-10 2.37 0.19 6.0 N N S Y H -999 +"1FGL J2314.1+1444" "BZU J2313+1444" 348.48899 14.73994 90.50366724 -41.91217594 0.058 0.254 0.96 Unknown HSP -999.0 < 9e-10 -999.0 2.12 0.26 4.3 N N S Y H -999 +"1FGL J2307.3+1452" "CGRaBS J2307+1450" 346.89167 14.83833 88.79092022 -41.04703352 0.063 0.146 0.99 BLL -999 -999.0 -999 1.9e-09 4e-10 2.09 0.13 7.9 N N S Y H -999 +"1FGL J0008.3+1452" "RX J0008.0+1450" 2.02345 14.83982 107.55625302 -46.73384231 0.072 0.143 0.7 AGN -999 0.045 -999 8e-10 2e-10 2.0 0.21 4.7 N N S N H -999 +"1FGL J0926.9+1452" "CLASS J0926+1451" 141.54794 14.85628 216.52021373 40.89191029 0.187 0.311 0.0 Unknown -999 -999.0 < 8e-10 -999.0 2.73 0.21 4.7 N N -999 N A -999 +"1FGL J1548.6+1451" "4C +15.51" 237.123 14.872 25.56776187 47.14155026 0.034 0.142 0.0 Unknown -999 -999.0 -999 1.3e-09 3e-10 2.18 0.15 6.9 N N -999 N A -999 +"1FGL J1107.8+1502" "BZB J1107+1502" 166.95027 15.03626 234.31361073 63.05228156 0.023 0.134 1.0 BLL HSP 0.259 -999 1.1e-09 3e-10 1.95 0.16 6.7 N N S Y H -999 +"1FGL J0204.5+1516" "4C +15.05" 31.21004 15.23639 147.93022051 -44.04351569 0.086 0.265 0.97 AGN -999 0.405 -999 7e-10 2e-10 2.47 0.18 4.5 N N S Y H -999 +"1FGL J0035.1+1516" "RX J0035.2+1515" 8.81125 15.25111 117.15253841 -47.43884717 0.026 0.072 1.0 BLL HSP -999.0 -999 1.5e-09 3e-10 1.64 0.14 10.9 N N S Y H -999 +"1FGL J0515.9+1528" "CLASS J0515+1527" 78.94732 15.45461 187.69559302 -13.07297086 0.032 0.069 0.0 BLL -999 -999.0 -999 1.2e-09 4e-10 2.01 0.18 8.4 N N -999 N A -999 +"1FGL J1141.8+1549" "CRATES J1142+1547" 175.53225 15.79839 244.5669823 70.33049254 0.063 0.121 0.99 Unknown -999 -999.0 -999 1e-09 3e-10 2.06 0.2 4.3 N N S Y H -999 +"1FGL J1607.1+1552" "4C +15.54" 241.77679 15.85958 29.3784957 43.40904661 0.019 0.068 1.0 AGN -999 0.496 -999 2.4e-09 4e-10 2.25 0.08 14.7 Y N S Y H -999 +"1FGL J1811.0+1607" "CLASS J1810+1608" 272.70905 16.13911 43.13577341 16.10593173 0.057 0.126 0.0 BLL -999 -999.0 -999 1.9e-09 4e-10 2.2 0.1 9.6 Y N -999 N A -999 +"1FGL J2253.9+1608" "3C 454.3" 343.49063 16.14822 86.11107799 -38.18381704 0.004 0.016 1.0 FSRQ LSP 0.859 -999 4.62e-08 1.3e-09 2.47 0.01 154.1 Y Y S Y H -999 +"1FGL J0238.6+1637" "PKS 0235+164" 39.66221 16.61647 156.7707247 -39.10947386 0.008 0.017 1.0 BLL LSP 0.94 -999 3.27e-08 1.1e-09 2.14 0.02 98.5 Y Y S Y H -999 +"1FGL J0016.6+1706" "CRATES J0015+1700" 3.91662 17.01128 110.79329046 -45.01569987 0.247 0.193 0.0 FSRQ -999 1.716 -999 5e-10 3e-10 2.57 0.2 4.7 N N -999 N A -999 +"1FGL J0250.4+1715" "CRATES J0250+1708" 42.57254 17.13564 159.4077567 -37.17922247 0.129 0.096 0.66 Unknown -999 -999.0 -999 6e-10 3e-10 2.03 0.23 6.7 N N Mm N H -999 +"1FGL J0250.4+1715" "CLASS J0250+1712" 42.65817 17.20247 159.4467467 -37.07825978 0.07 0.096 0.95 FSRQ HSP 1.1 -999 6e-10 3e-10 2.03 0.23 6.7 N N Mm N H -999 +"1FGL J2203.5+1726" "PKS 2201+171" 330.86204 17.43008 75.67207691 -29.63416993 0.021 0.062 1.0 FSRQ LSP 1.076 -999 4.3e-09 5e-10 2.39 0.05 26.9 Y N S Y H -999 +"1FGL J2152.5+1734" "PKS 2149+17" 328.10342 17.57717 73.63738265 -27.69603117 0.032 0.077 1.0 BLL LSP 0.871 -999 8e-10 3e-10 2.12 0.2 5.5 N N S Y H -999 +"1FGL J0738.2+1741" "PKS 0735+17" 114.53079 17.70528 201.84645923 18.07056476 0.032 0.036 1.0 BLL LSP 0.424 -999 4.4e-09 5e-10 2.02 0.06 23.6 N Y S Y H -999 +"1FGL J2143.4+1742" "OX 169" 325.89808 17.73019 72.11545355 -26.08439246 0.032 0.056 1.0 FSRQ LSP 0.211 -999 4.9e-09 5e-10 2.69 0.05 31.5 Y N S Y H -999 +"1FGL J1719.2+1745" "PKS 1717+177" 259.80437 17.75178 39.52483266 28.09699256 0.005 0.036 1.0 BLL LSP 0.137 -999 4.7e-09 5e-10 2.01 0.06 21.9 Y N S Y H -999 +"1FGL J2352.1+1752" "CLASS J2352+1749" 358.02432 17.82049 103.52740021 -42.80427365 0.049 0.085 0.0 BLL -999 -999.0 -999 1.1e-09 3e-10 2.09 0.17 7.8 N N -999 N A -999 +"1FGL J0949.8+1757" "CRATES J0949+1752" 147.41567 17.88039 215.56744912 47.24508766 0.082 0.151 0.98 FSRQ LSP 0.693 < 9e-10 -999.0 2.44 0.2 5.0 N N MM N H -999 +"1FGL J0510.0+1800" "PKS 0507+17" 77.50987 18.01155 184.7303451 -12.78966733 0.009 0.116 1.0 FSRQ LSP 0.416 -999 1.3e-09 3e-10 2.39 0.16 5.7 Y N MM N H -999 +"1FGL J0949.8+1757" "CRATES J0950+1804" 147.50129 18.07186 215.34612805 47.38924272 0.126 0.151 0.94 Unknown -999 -999.0 < 9e-10 -999.0 2.44 0.2 5.0 N N MM N H -999 +"1FGL J0510.0+1800" "CRATES J0509+1806" 77.42879 18.10842 184.60371201 -12.79840774 0.115 0.116 0.91 Unknown -999 -999.0 -999 1.3e-09 3e-10 2.39 0.16 5.7 Y N MM N H -999 +"1FGL J2219.3+1804" "CGRaBS J2219+1806" 334.80871 18.10989 79.4595135 -31.626398 0.043 0.108 0.99 FSRQ -999 1.071 -999 6e-10 2e-10 2.63 0.18 6.2 N N S Y H -999 +"1FGL J1209.7+1806" "CRATES J1209+1810" 182.46567 18.16856 253.85927726 76.88646663 0.071 0.138 0.97 FSRQ -999 0.845 -999 8e-10 2e-10 2.29 0.16 6.7 N N S Y H -999 +"1FGL J0109.0+1816" "CRATES J0109+1816" 17.28408 18.26875 128.81716349 -44.40066211 0.023 0.088 1.0 BLL HSP 0.145 -999 9e-10 2e-10 2.0 0.19 6.9 N N S Y H -999 +"1FGL J0319.7+1847" "BZB J0319+1845" 49.96583 18.7595 165.10679782 -31.69733714 0.053 0.05 1.0 BLL HSP 0.19 -999 1e-09 3e-10 1.47 0.18 9.8 N N S Y H -999 +"1FGL J2120.9+1901" "OX 131" 320.25254 19.02453 69.24005811 -21.24226328 0.024 0.044 1.0 FSRQ LSP 2.18 -999 2.2e-09 4e-10 2.27 0.09 14.7 N N S Y H -999 +"1FGL J1516.9+1928" "PKS 1514+197" 229.23667 19.53695 27.98662039 55.87225893 0.055 0.144 1.0 BLL -999 -999.0 -999 6e-10 3e-10 2.37 0.16 5.9 N N S Y H -999 +"1FGL J0714.0+1935" "CLASS J0713+1935" 108.482 19.58344 197.64835229 13.59092487 0.031 0.039 1.0 FSRQ -999 0.534 -999 6.4e-09 5e-10 2.35 0.04 35.2 Y N S Y H -999 +"1FGL J1744.2+1934" "1ES 1741+196" 265.99096 19.58583 43.83554119 23.33867562 0.077 0.072 0.99 BLL HSP 0.083 -999 1.1e-09 3e-10 1.8 0.17 7.4 N N S Y H -999 +"1FGL J0854.8+2006" "OJ 287" 133.70362 20.1085 206.8121215 35.82086501 0.006 0.055 1.0 BLL LSP 0.306 -999 2.7e-09 4e-10 2.38 0.07 19.0 Y N S Y H -999 +"1FGL J1117.1+2013" "CRATES J1117+2014" 169.27608 20.23539 225.58564987 67.37272656 0.025 0.037 1.0 BLL HSP 0.138 -999 2.4e-09 3e-10 1.71 0.09 16.0 N N S Y H -999 +"1FGL J2244.0+2021" "CRATES J2243+2021" 340.97808 20.35106 86.56747585 -33.36538394 0.034 0.044 1.0 BLL HSP -999.0 -999 4.3e-09 4e-10 1.85 0.07 22.1 N N S Y H -999 +"1FGL J0019.3+2017" "PKS 0017+200" 4.90771 20.36267 112.89885174 -41.88859849 0.1 0.177 0.99 BLL LSP -999.0 -999 7e-10 2e-10 2.38 0.15 5.9 N N S Y H -999 +"1FGL J0258.0+2033" "CRATES J0258+2030" 44.53046 20.50044 159.00058711 -33.35238496 0.056 0.092 0.98 BLL LSP -999.0 -999 1.2e-09 4e-10 1.96 0.18 5.2 N N S N H -999 +"1FGL J1934.9+2031" "JVAS J1935+2031" 293.79364 20.53171 56.08191902 0.10513235 0.05 0.208 0.97 Unknown -999 -999.0 -999 6.1e-09 9e-10 2.3 0.06 8.2 N Y S N L -999 +"1FGL J1735.7+2031" "NVSS J173605+203301" 264.02191 20.55026 44.07437221 25.41311757 0.08 0.145 0.0 Unknown HSP -999.0 -999 7e-10 3e-10 1.71 0.21 5.2 N N -999 N A -999 +"1FGL J0902.4+2050" "SDSS J090226.91+205046.4" 135.61206 20.8462 206.67537104 37.75179922 0.011 0.101 0.0 BLL -999 -999.0 -999 1.4e-09 3e-10 2.09 0.13 9.0 N N -999 N A -999 +"1FGL J0856.6+2103" "CRATES J0856+2057" 134.16558 20.96206 205.99025371 36.51041833 0.1 0.192 0.94 BLL -999 -999.0 -999 1e-09 3e-10 2.22 0.19 5.0 N N MM N H -999 +"1FGL J0856.6+2103" "OJ 290" 134.2385 21.19544 205.74248148 36.65008953 0.153 0.192 0.96 FSRQ -999 2.098 -999 1e-09 3e-10 2.22 0.19 5.0 N N MM N H -999 +"1FGL J0521.7+2114" "RX J0521.7+2112" 80.44152 21.21429 183.60415777 -8.70834075 0.021 0.03 1.0 Unknown -999 -999.0 -999 5.5e-09 6e-10 1.94 0.18 21.1 N N S N L -999 +"1FGL J1224.7+2121" "4C +21.35" 186.22692 21.37955 255.07344025 81.65979141 0.031 0.078 1.0 FSRQ LSP 0.435 -999 2.4e-09 3e-10 2.55 0.07 20.8 Y N S Y H -999 +"1FGL J2339.0+2123" "BZB J2338+2124" 354.73495 21.41147 101.24774963 -38.3884304 0.042 0.055 1.0 BLL HSP 0.291 -999 5e-10 2e-10 1.59 0.33 7.7 N N S Y H -999 +"1FGL J0045.3+2127" "BZB J0045+2127" 11.33042 21.46113 121.03503185 -41.38809091 0.009 0.029 1.0 BLL HSP -999.0 -999 2.1e-09 3e-10 1.84 0.12 14.6 N N S Y H -999 +"1FGL J1326.6+2213" "B2 1324+22" 201.75358 22.18061 3.38099477 80.52741082 0.104 0.099 0.97 FSRQ LSP 1.4 -999 2.3e-09 3e-10 2.44 0.08 15.6 Y N S Y H -999 +"1FGL J1054.5+2212" "CLASS J1054+2210" 163.6276 22.18189 217.03660578 63.04016615 0.028 0.082 1.0 BLL LSP -999.0 -999 2e-09 3e-10 2.28 0.09 13.8 N N S Y H -999 +"1FGL J1254.4+2209" "FRBA J1254+2211" 193.6382 22.18453 311.24396525 85.00592963 0.039 0.088 0.0 BLL -999 -999.0 < 1.1e-09 -999.0 2.14 0.22 4.7 N N -999 N A -999 +"1FGL J1321.1+2214" "CGRaBS J1321+2216" 200.29667 22.27003 358.81861897 81.68130861 0.022 0.214 0.99 FSRQ -999 0.943 -999 1.1e-09 3e-10 2.21 0.15 6.7 Y N S Y H -999 +"1FGL J0325.9+2219" "CGRaBS J0325+2224" 51.40337 22.40011 163.66983854 -28.02141532 0.119 0.323 0.98 FSRQ LSP 2.066 -999 1.2e-09 3e-10 2.75 0.13 7.4 Y N S Y H -999 +"1FGL J0048.0+2232" "CLASS J0048+2235" 12.01092 22.59006 121.90502432 -40.27492096 0.05 0.089 0.0 FSRQ -999 1.156 -999 1.5e-09 3e-10 2.39 0.09 13.5 Y N -999 N A -999 +"1FGL J1501.1+2237" "MS 14588+2249" 225.25792 22.635 31.44563006 60.35002362 0.025 0.04 1.0 BLL HSP 0.235 -999 2.1e-09 3e-10 1.86 0.1 14.9 N N S Y H -999 +"1FGL J0112.0+2247" "CGRaBS J0112+2244" 18.02425 22.74411 129.1424936 -39.87838075 0.051 0.052 0.99 BLL ISP 0.265 -999 5.3e-09 5e-10 2.23 0.05 27.6 Y Y S Y H -999 +"1FGL J0213.2+2244" "CLASS J0212+2244" 33.22015 22.74784 146.41943433 -36.38175054 0.094 0.09 0.98 BLL HSP 0.459 -999 1.7e-09 3e-10 1.96 0.14 8.7 N Y S Y H -999 +"1FGL J0911.0+2247" "CGRaBS J0910+2248" 137.67554 22.80989 205.02955054 40.17831434 0.086 0.077 0.98 FSRQ -999 2.661 -999 2e-09 3e-10 2.21 0.09 11.1 Y N S Y H -999 +"1FGL J0909.2+2310" "RX J0909.0+2311" 137.2525 23.18722 204.41017655 39.91523378 0.046 0.089 1.0 BLL ISP 0.223 -999 6e-10 2e-10 1.46 0.23 7.4 N N S Y H -999 +"1FGL J0041.9+2318" "PKS 0039+230" 10.51896 23.33367 120.14693792 -39.48744806 0.043 0.201 0.98 FSRQ -999 1.426 -999 8e-10 3e-10 2.52 0.17 5.0 N N S Y H -999 +"1FGL J1436.9+2314" "PKS 1434+235" 219.17079 23.35092 29.76612545 65.94799604 0.118 0.129 0.96 FSRQ -999 1.545 -999 5e-10 2e-10 2.17 0.24 4.8 N N S Y H -999 +"1FGL J0322.1+2336" "BZB J0321+2326" 50.49987 23.60313 162.08838514 -27.59453354 0.037 0.055 1.0 BLL ISP -999.0 -999 1.5e-09 3e-10 2.01 0.15 9.6 N N S Y H -999 +"1FGL J1123.9+2339" "OM 235" 171.01129 23.61275 218.17797202 69.97535405 0.052 0.149 1.0 BLL -999 -999.0 < 9e-10 -999.0 2.41 0.15 6.1 N N S Y H -999 +"1FGL J1048.7+2335" "CLASS J1049+2338" 162.25104 23.63886 213.25880196 62.19576604 0.072 0.13 0.0 Unknown -999 -999.0 -999 1.1e-09 3e-10 2.07 0.15 6.4 N N -999 N A -999 +"1FGL J1426.9+2347" "PKS 1424+240" 216.75162 23.8 29.48731441 68.20763257 0.002 0.019 1.0 BLL HSP -999.0 -999 1.02e-08 6e-10 1.83 0.03 45.7 Y N S Y H -999 +"1FGL J1314.7+2346" "CRATES J1314+2348" 198.6825 23.80742 1.93157549 83.78321394 0.033 0.091 1.0 BLL ISP -999.0 -999 1.4e-09 3e-10 2.09 0.11 10.8 N N S Y H -999 +"1FGL J2212.1+2358" "PKS 2209+236" 333.02488 23.92794 82.24411722 -26.08743205 0.042 0.115 1.0 FSRQ LSP 1.125 -999 1e-09 3e-10 2.13 0.19 5.9 N N S Y H -999 +"1FGL J0245.4+2413" "B2 0242+23" 41.32025 24.09311 153.75001975 -31.87870855 0.14 0.155 0.95 FSRQ -999 2.243 -999 7e-10 3e-10 2.51 0.14 6.2 N N S Y H -999 +"1FGL J1043.1+2404" "B2 1040+24A" 160.78762 24.14317 211.58086075 61.00913328 0.067 0.1 0.99 BLL ISP 0.56 -999 1.5e-09 3e-10 2.02 0.12 9.3 N N S Y H -999 +"1FGL J2256.1+2414" "BZB J2255+2410" 343.81392 24.17011 91.61725058 -31.54359469 0.211 0.161 0.79 BLL ISP -999.0 -999 1.2e-09 3e-10 2.22 0.18 6.3 N N S N H -999 +"1FGL J0830.5+2407" "B2 0827+24" 127.71704 24.18328 200.02153297 31.87601485 0.097 0.125 0.98 FSRQ LSP 0.94 -999 1.3e-09 3e-10 2.79 0.09 16.1 Y N S Y H -999 +"1FGL J1150.2+2419" "B2 1147+24" 177.58004 24.29831 221.14841728 75.95561247 0.026 0.098 1.0 BLL LSP 0.2 -999 1e-09 3e-10 2.25 0.12 9.5 N N S Y H -999 +"1FGL J2217.1+2423" "B2 2214+24B" 334.25346 24.36278 83.52181389 -26.45243411 0.038 0.151 0.99 BLL LSP 0.505 -999 1.4e-09 3e-10 2.63 0.12 9.1 N N S Y H -999 +"1FGL J2042.2+2427" "CLASS J2042+2426" 310.52522 24.44788 67.76570681 -10.80491208 0.032 0.095 0.0 BLL HSP 0.103 -999 1e-09 3e-10 1.92 0.18 6.2 N N -999 N A -999 +"1FGL J1303.0+2433" "CRATES J1303+2433" 195.76337 24.56547 349.13389746 86.34002145 0.006 0.048 1.0 BLL -999 -999.0 -999 3.5e-09 4e-10 2.14 0.06 22.2 Y N S Y H -999 +"1FGL J1012.7+2440" "CRATES J1012+2439" 153.17242 24.6565 207.77513953 54.35728788 0.015 0.064 1.0 FSRQ -999 1.805 -999 3.1e-09 4e-10 2.27 0.06 20.7 Y N S Y H -999 +"1FGL J1443.8+2457" "PKS 1441+25" 220.98704 25.02903 34.56309836 64.70123354 0.073 0.131 0.98 FSRQ LSP 0.939 -999 6e-10 2e-10 2.17 0.2 4.9 N N S Y H -999 +"1FGL J0650.7+2503" "1ES 0647+250" 102.69371 25.04989 190.28245249 10.99562847 0.017 0.036 1.0 BLL HSP -999.0 -999 1.8e-09 3e-10 2.04 0.11 11.7 N N S Y H -999 +"1FGL J0956.9+2513" "B2 0954+25A" 149.20779 25.25444 205.51131818 50.98155327 0.041 0.155 0.99 FSRQ LSP 0.712 -999 7e-10 2e-10 2.41 0.14 7.3 N N S Y H -999 +"1FGL J1230.4+2520" "ON 246" 187.55871 25.30197 232.75420755 84.90647059 0.058 0.133 0.99 BLL ISP 0.135 -999 1.4e-09 3e-10 2.16 0.12 9.2 N N S Y H -999 +"1FGL J0115.5+2519" "BZB J0115+2519" 18.94208 25.33139 129.83906352 -37.2138324 0.048 0.079 1.0 BLL HSP -999.0 -999 1.4e-09 3e-10 1.96 0.12 10.2 N N S Y H -999 +"1FGL J2133.4+2532" "87GB 213100.1+251534" 323.30978 25.48302 76.34793545 -18.96888904 0.08 0.127 0.0 Unknown HSP -999.0 -999 6e-10 3e-10 2.21 0.21 4.8 N N -999 N A -999 +"1FGL J1417.8+2541" "2E 1415+2557" 214.48601 25.72346 33.69145316 70.60613318 0.044 0.136 0.99 BLL HSP 0.237 -999 8e-10 2e-10 2.12 0.17 6.4 N N S Y H -999 +"1FGL J0746.6+2548" "B2 0743+25" 116.60783 25.81725 194.5810721 22.89123647 0.049 0.149 0.98 FSRQ LSP 2.979 -999 7e-10 2e-10 2.74 0.12 10.0 N N S Y H -999 +"1FGL J1136.9+2551" "BZB J1136+2550" 174.20879 25.84788 213.09016122 73.27343648 0.028 0.101 1.0 BLL HSP 0.156 -999 5e-10 2e-10 1.53 0.29 5.4 N N S Y H -999 +"1FGL J0134.4+2632" "RX J0134.4+2638" 23.61779 26.64588 134.71894863 -35.23899235 0.103 0.155 0.0 Unknown HSP -999.0 -999 9e-10 3e-10 2.26 0.16 6.6 N N -999 N A -999 +"1FGL J0144.6+2703" "CRATES J0144+2705" 26.13983 27.08419 137.26702759 -34.30451961 0.037 0.067 1.0 BLL -999 -999.0 -999 2.8e-09 4e-10 2.23 0.07 17.7 N N S Y H -999 +"1FGL J0941.2+2722" "CGRaBS J0941+2728" 145.45046 27.47744 201.09757572 48.13798624 0.168 0.228 0.97 FSRQ -999 1.306 < 9e-10 -999.0 2.48 0.17 5.2 N N S Y H -999 +"1FGL J2321.6+2726" "4C +27.50" 350.49942 27.54622 99.69236472 -31.25783213 0.131 0.178 0.96 FSRQ LSP 1.253 -999 7e-10 3e-10 2.54 0.18 5.6 N N S Y H -999 +"1FGL J1539.7+2747" "CGRaBS J1539+2744" 234.91308 27.74397 43.87820742 52.8570293 0.061 0.162 1.0 FSRQ -999 2.19 -999 1e-09 2e-10 2.05 0.14 7.1 N N S Y H -999 +"1FGL J0440.6+2748" "B2 0437+27B" 70.20987 27.84633 172.54869588 -12.21368637 0.045 0.121 0.98 BLL -999 -999.0 < 1e-09 -999.0 1.73 0.26 4.7 N N S Y H -999 +"1FGL J0912.6+2756" "B2 0909+28" 138.08663 27.92975 198.59385955 41.84708807 0.06 0.153 0.0 AGN -999 0.158 < 8e-10 -999.0 1.33 0.54 4.1 N N -999 N A -999 +"1FGL J1106.5+2809" "CRATES J1106+2812" 166.53025 28.21305 204.11596719 66.70233447 0.108 0.178 0.97 Unknown -999 -999.0 -999 9e-10 2e-10 2.42 0.14 7.7 N N S Y H -999 +"1FGL J1221.5+2814" "W Com" 185.38204 28.23292 201.73521549 83.28801858 0.015 0.038 1.0 BLL LSP 0.102 -999 6.9e-09 5e-10 2.06 0.04 34.7 Y N S Y H -999 +"1FGL J0924.2+2812" "B2 0920+28" 140.96467 28.25694 198.87949324 44.39847367 0.098 0.139 0.97 FSRQ -999 0.744 -999 1.3e-09 3e-10 2.49 0.12 9.9 Y N S Y H -999 +"1FGL J2236.2+2828" "B2 2234+28A" 339.09362 28.48261 90.11701522 -25.64886474 0.037 0.054 1.0 FSRQ LSP 0.795 -999 4.9e-09 5e-10 2.37 0.05 28.0 Y N S Y H -999 +"1FGL J1231.6+2850" "B2 1229+29" 187.93158 28.79717 190.80997532 85.3389671 0.045 0.044 0.99 BLL ISP 0.236 -999 3.1e-09 4e-10 1.93 0.07 18.3 Y N S Y H -999 +"1FGL J0237.9+2848" "4C +28.07" 39.46838 28.8025 149.46584498 -28.5283046 0.023 0.062 1.0 FSRQ LSP 1.213 -999 3.7e-09 4e-10 2.52 0.05 28.3 Y N S Y H -999 +"1FGL J0723.6+2908" "CLASS J0723+2859" 110.9785 28.99163 189.51443265 19.32641317 0.165 0.215 0.0 Unknown -999 -999.0 -999 9e-10 3e-10 2.1 0.17 5.8 Y N -999 N A -999 +"1FGL J0433.5+2905" "CGRaBS J0433+2905" 68.40762 29.09875 170.51953345 -12.60206426 0.019 0.047 1.0 BLL LSP -999.0 -999 4.5e-09 6e-10 2.13 0.06 17.9 Y Y S Y H -999 +"1FGL J1809.6+2908" "CRATES J1809+2910" 272.43912 29.17219 55.77790618 21.2732418 0.034 0.097 0.99 BLL -999 -999.0 -999 9e-10 3e-10 2.01 0.16 7.5 N N S Y H -999 +"1FGL J1000.9+2915" "CGRaBS J1001+2911" 150.29254 29.19375 199.50864751 52.61914436 0.076 0.093 0.99 BLL ISP -999.0 -999 1.4e-09 3e-10 2.15 0.11 11.4 Y N S Y H -999 +"1FGL J1159.4+2914" "4C +29.45" 179.88262 29.2455 199.41367897 78.37431176 0.026 0.049 1.0 FSRQ LSP 0.729 -999 5.3e-09 5e-10 2.37 0.04 35.7 Y N S Y H -999 +"1FGL J0333.7+2919" "FRBA J0333+2916" 53.4542 29.27542 160.52463605 -21.5000917 0.057 0.044 0.0 Unknown ISP -999.0 -999 1e-09 3e-10 1.57 0.21 6.5 N N -999 N A -999 +"1FGL J0256.9+2920" "FRBA J0256+2924" 44.22623 29.415 153.22129148 -25.97673114 0.066 0.105 0.0 AGN -999 0.19 -999 6e-10 3e-10 1.69 0.3 4.2 N N -999 N A -999 +"1FGL J0915.7+2931" "B2 0912+29" 138.96833 29.55667 196.6497776 42.93480373 0.034 0.058 1.0 BLL ISP -999.0 -999 2.1e-09 3e-10 1.94 0.1 13.7 N N S Y H -999 +"1FGL J2115.5+2937" "B2 2113+29" 318.87258 29.56067 76.62805714 -13.30972808 0.067 0.12 1.0 FSRQ LSP 1.514 -999 1.9e-09 4e-10 2.46 0.1 9.8 N N S Y H -999 +"1FGL J1323.1+2942" "4C +29.48" 200.75984 29.69295 55.04131973 82.59516194 0.019 0.041 0.0 Unknown LSP -999.0 -999 1.4e-09 3e-10 1.97 0.12 11.9 N N -999 N A -999 +"1FGL J0018.6+2945" "BZB J0018+2947" 4.61562 29.79178 114.44396089 -32.53590495 0.044 0.062 1.0 BLL HSP -999.0 < 8e-10 -999.0 1.48 0.35 6.0 N N S Y H -999 +"1FGL J1217.7+3007" "B2 1215+30" 184.467 30.11683 188.87496083 82.05287282 0.018 0.032 1.0 BLL HSP 0.13 -999 6.7e-09 6e-10 1.98 0.05 27.4 Y N S Y H -999 +"1FGL J1221.3+3008" "B2 1218+30" 185.34144 30.17699 186.35851605 82.73455469 0.034 0.041 1.0 BLL HSP 0.182 -999 3.3e-09 4e-10 1.7 0.08 18.3 N N S Y H -999 +"1FGL J1531.8+3018" "BZU J1532+3016" 233.00929 30.27468 47.78530055 54.82318862 0.059 0.124 0.99 BLL HSP 0.065 -999 5e-10 2e-10 1.78 0.23 4.3 N N S Y H -999 +"1FGL J1351.0+3035" "B2 1348+30B" 207.71971 30.58156 51.31266568 76.54630856 0.028 0.113 1.0 FSRQ LSP 0.714 -999 6e-10 2e-10 2.24 0.15 6.2 N N S Y H -999 +"1FGL J0203.5+3044" "B2 0200+30" 30.93898 30.69142 140.81611703 -29.65650627 0.074 0.213 0.98 Unknown -999 -999.0 -999 8e-10 3e-10 2.55 0.16 6.3 N N S Y H -999 +"1FGL J2157.4+3129" "B2 2155+31" 329.37008 31.45039 84.75008685 -18.23512028 0.048 0.101 1.0 FSRQ LSP 1.486 -999 2.7e-09 4e-10 2.48 0.08 15.7 N N S Y H -999 +"1FGL J1836.3+3135" "RX J1836.2+3136" 279.08836 31.6072 60.3527154 16.78793395 0.021 0.054 0.0 Unknown HSP -999.0 -999 1e-09 3e-10 2.21 0.16 7.3 N N -999 N A -999 +"1FGL J2300.4+3138" "CLASS J2300+3137" 345.09516 31.61788 96.84393944 -25.56768518 0.03 0.12 0.0 BLL -999 -999.0 -999 1.1e-09 3e-10 2.02 0.17 5.9 N N -999 N A -999 +"1FGL J1522.1+3143" "B2 1520+31" 230.54163 31.73733 50.16392889 57.02266967 0.006 0.026 1.0 FSRQ LSP 1.487 -999 1.59e-08 8e-10 2.42 0.02 85.9 Y Y S Y H -999 +"1FGL J1813.4+3141" "B2 1811+31" 273.39671 31.73822 58.66976811 21.36479744 0.056 0.068 1.0 BLL ISP 0.117 -999 2.6e-09 4e-10 2.07 0.09 12.7 N N S Y H -999 +"1FGL J2322.0+3208" "B2 2319+31" 350.47896 32.06878 101.68463513 -27.08286854 0.08 0.145 0.98 FSRQ LSP 1.489 -999 1.6e-09 3e-10 2.35 0.14 7.6 N N S Y H -999 +"1FGL J0112.9+3207" "4C +31.03" 18.20971 32.13822 128.19041017 -30.51492345 0.028 0.04 1.0 FSRQ LSP 0.603 -999 7.1e-09 6e-10 2.36 0.04 39.0 Y N S Y H -999 +"1FGL J1754.3+3212" "CLASS J1754+3212" 268.54918 32.20641 57.73970813 25.41423835 0.028 0.065 0.0 BLL HSP -999.0 -999 2.7e-09 4e-10 2.09 0.09 15.6 N N -999 N A -999 +"1FGL J0205.3+3217" "B2 0202+31" 31.27054 32.20836 140.57094763 -28.12842507 0.096 0.166 1.0 FSRQ LSP 1.466 -999 1.2e-09 3e-10 2.75 0.13 8.1 N N S Y H -999 +"1FGL J0334.2+3233" "NRAO 140" 54.12546 32.30814 158.99965386 -18.76508975 0.534 0.417 0.57 FSRQ LSP 1.263 -999 1e-09 4e-10 2.81 0.14 6.3 N N S N H -999 +"1FGL J1841.9+3220" "RX J1841.7+3218" 280.44574 32.31099 61.48451823 15.98634596 0.04 0.073 0.0 Unknown HSP -999.0 -999 1.4e-09 3e-10 2.14 0.14 7.9 N N -999 N A -999 +"1FGL J1848.5+3224" "B2 1846+32A" 282.09208 32.31739 62.04745521 14.70524245 0.092 0.07 0.96 FSRQ LSP 0.798 -999 3.8e-09 5e-10 2.39 0.06 20.7 Y Y S Y H -999 +"1FGL J1310.6+3222" "B2 1308+32" 197.61942 32.3455 85.70214579 83.3459389 0.036 0.035 0.99 FSRQ LSP 0.997 -999 6.8e-09 5e-10 2.3 0.04 39.9 Y N S Y H -999 +"1FGL J1258.3+3227" "B2 1255+32" 194.48846 32.49148 108.5670711 84.45391277 0.099 0.198 0.98 FSRQ LSP 0.806 < 8e-10 -999.0 2.55 0.22 4.2 N N S Y H -999 +"1FGL J0433.5+3230" "CRATES J0433+3237" 68.41954 32.62 167.83594601 -10.26076458 0.106 0.157 0.94 FSRQ -999 2.011 -999 9e-10 4e-10 1.76 0.27 4.7 N N S N H -999 +"1FGL J0719.3+3306" "B2 0716+33" 109.83092 33.11936 185.04537848 19.8534038 0.015 0.038 1.0 FSRQ LSP 0.779 -999 6.7e-09 5e-10 2.15 0.04 30.9 Y Y S Y H -999 +"1FGL J0730.0+3305" "BZB J0730+3307" 112.60854 33.12297 185.87177 22.04791559 0.084 0.064 0.84 BLL HSP 0.112 -999 7e-10 2e-10 2.09 0.21 5.6 N N S Y H -999 +"1FGL J0058.0+3314" "CRATES J0058+3311" 14.63363 33.18811 124.64051341 -29.66009465 0.104 0.11 0.95 BLL -999 1.371 -999 1.7e-09 3e-10 2.33 0.11 10.5 Y N S Y H -999 +"1FGL J0910.7+3332" "Ton 1015" 137.65433 33.49011 191.1204842 42.46630116 0.05 0.15 1.0 BLL ISP 0.354 -999 8e-10 3e-10 2.32 0.14 7.8 N N S Y H -999 +"1FGL J2116.1+3338" "B2 2114+33" 319.0605 33.65567 79.81672215 -10.65130147 0.019 0.077 1.0 BLL ISP -999.0 -999 1.8e-09 3e-10 2.15 0.11 10.5 N N S Y H -999 +"1FGL J1426.0+3403" "BZB J1426+3404" 216.53214 34.07397 57.59524035 68.53319593 0.02 0.107 1.0 BLL ISP -999.0 -999 7e-10 2e-10 1.99 0.21 6.0 N N S Y H -999 +"1FGL J0325.0+3403" "B2 0321+33B" 51.1715 34.17939 155.72678825 -18.75654894 0.146 0.297 0.96 AGN -999 0.061 -999 1e-09 3e-10 2.7 0.13 6.7 Y N S Y H -999 +"1FGL J1613.5+3411" "B2 1611+34" 243.42108 34.21331 55.15109514 46.37872632 0.034 0.137 0.99 FSRQ LSP 1.397 -999 5e-10 2e-10 2.29 0.22 4.6 N N S Y H -999 +"1FGL J2311.0+3425" "B2 2308+34" 347.77221 34.41969 100.41572491 -24.02680785 0.006 0.079 1.0 FSRQ LSP 1.817 -999 2.4e-09 4e-10 2.49 0.08 15.8 Y N S Y H -999 +"1FGL J1317.8+3425" "B2 1315+34A" 199.40204 34.42108 86.93675101 80.797448 0.047 0.2 0.98 FSRQ LSP 1.05 -999 5e-10 2e-10 2.37 0.19 4.6 N N S Y H -999 +"1FGL J0043.6+3424" "CLASS J0043+3426" 10.95352 34.44059 121.14494811 -28.40470502 0.042 0.063 0.0 Unknown -999 -999.0 -999 1.7e-09 3e-10 2.09 0.1 12.4 N N -999 N A -999 +"1FGL J1220.2+3432" "CGRaBS J1220+3431" 185.03454 34.52269 163.24704332 80.01593397 0.023 0.13 1.0 BLL ISP -999.0 -999 6e-10 2e-10 1.97 0.23 4.7 N N S Y H -999 +"1FGL J2322.6+3435" "CRATES J2322+3436" 350.68338 34.60386 102.91870028 -24.79713871 0.031 0.049 1.0 BLL ISP 0.098 < 8e-10 -999.0 1.82 0.62 4.7 N N S Y H -999 +"1FGL J2343.6+3437" "BZB J2343+3439" 355.89083 34.66789 107.42182064 -26.15129488 0.044 0.122 1.0 BLL HSP 0.366 -999 6e-10 2e-10 1.67 0.25 6.7 N N S N H -999 +"1FGL J1112.8+3444" "CRATES J1112+3446" 168.16154 34.77753 186.93446408 67.55264553 0.054 0.122 0.99 FSRQ -999 1.949 -999 9e-10 3e-10 2.43 0.13 8.8 N N S Y H -999 +"1FGL J1007.0+3454" "BZB J1006+3454" 151.73527 34.91255 190.04319432 54.16725418 0.029 0.06 1.0 BLL HSP -999.0 < 8e-10 -999.0 1.77 0.31 4.2 N N S Y H -999 +"1FGL J0850.2+3457" "RX J0850.6+3455" 132.65083 34.92305 188.46764265 38.57922187 0.079 0.141 0.99 BLL ISP 0.149 -999 4e-10 2e-10 2.03 0.25 4.6 N N S Y H -999 +"1FGL J0809.4+3455" "B2 0806+35" 122.41204 34.927 186.47808182 30.34929652 0.048 0.116 0.99 BLL HSP 0.082 -999 7e-10 3e-10 1.77 0.2 4.8 N N S Y H -999 +"1FGL J0208.6+3522" "BZB J0208+3523" 32.15913 35.38686 140.21059863 -24.88129385 0.011 0.045 1.0 BLL HSP 0.318 -999 6e-10 3e-10 1.68 0.32 6.3 N N S Y H -999 +"1FGL J1016.2+3548" "B2 1015+35B" 154.54579 35.71095 188.4727601 56.42515169 0.405 0.294 0.0 FSRQ LSP 1.226 -999 5e-10 2e-10 2.71 0.15 6.5 N N -999 N A -999 +"1FGL J1308.5+3550" "CGRaBS J1308+3546" 197.09879 35.777 101.32075663 80.62849742 0.073 0.107 0.99 FSRQ LSP 1.055 -999 2.2e-09 3e-10 2.3 0.09 14.0 Y N S Y H -999 +"1FGL J0221.0+3555" "B2 0218+35" 35.27279 35.93714 142.60168553 -23.48682646 0.007 0.036 1.0 FSRQ LSP 0.944 -999 6.4e-09 5e-10 2.33 0.04 37.0 Y N S Y H -999 +"1FGL J1447.9+3608" "RX J1448.0+3608" 222.0025 36.14194 60.26670629 63.72326023 0.014 0.055 1.0 BLL HSP -999.0 -999 1.8e-09 3e-10 1.9 0.11 11.9 N N S Y H -999 +"1FGL J1425.0+3614" "CLASS J1424+3615" 216.23131 36.26002 63.49227362 68.19353733 0.033 0.093 0.98 BLL ISP -999.0 -999 7e-10 2e-10 2.06 0.21 6.9 N N S Y H -999 +"1FGL J1243.1+3627" "B2 1240+36" 190.80308 36.46222 133.00687801 80.5045718 0.015 0.048 1.0 BLL HSP -999.0 -999 1.8e-09 3e-10 1.74 0.1 15.6 N N S Y H -999 +"1FGL J1256.9+3650" "RX J1257.3+3647" 194.31907 36.78754 116.00487446 80.2620582 0.077 0.127 0.0 BLL -999 0.531 -999 7e-10 2e-10 2.04 0.21 5.4 N N -999 N A -999 +"1FGL J2304.3+3709" "FRBA J2304+3705" 346.1525 37.08556 100.33939084 -21.05546262 0.088 0.1 0.98 BLL HSP -999.0 -999 7e-10 3e-10 1.96 0.2 4.9 N N S Y H -999 +"1FGL J1249.8+3706" "RX J1249.8+3708" 192.44464 37.12988 124.83544486 79.99223751 0.028 0.131 0.0 BLL HSP -999.0 -999 8e-10 2e-10 1.79 0.17 7.8 N N -999 N A -999 +"1FGL J1438.7+3711" "B2 1436+37B" 219.72338 37.1765 63.6211402 65.24879435 0.033 0.109 0.99 FSRQ LSP 2.401 -999 7e-10 2e-10 2.34 0.18 6.5 Y N Mm N H -999 +"1FGL J1438.7+3711" "CRATES J1439+3712" 219.83575 37.20078 63.61752378 65.15605297 0.123 0.109 0.8 FSRQ -999 1.021 -999 7e-10 2e-10 2.34 0.18 6.5 Y N Mm N H -999 +"1FGL J1438.7+3711" "SDSS J143847.94+371342.7" 219.69977 37.22854 63.75304281 65.25232031 0.045 0.109 0.6 AGN -999 0.272 -999 7e-10 2e-10 2.34 0.18 6.5 Y N Mm N H -999 +"1FGL J1730.8+3716" "CRATES J1730+3714" 262.69604 37.24864 61.89524495 31.34541024 0.03 0.194 0.99 BLL ISP -999.0 -999 1e-09 3e-10 2.24 0.16 5.3 N N S Y H -999 +"1FGL J1505.8+3725" "B2 1504+37" 226.53971 37.51419 61.64829034 59.89645895 0.108 0.201 0.98 FSRQ -999 0.674 -999 7e-10 2e-10 2.59 0.13 8.0 Y N S Y H -999 +"1FGL J1422.7+3743" "CLASS J1423+3737" 215.76921 37.62516 67.27622537 68.07333207 0.119 0.189 0.9 BLL -999 -999.0 -999 7e-10 2e-10 2.63 0.19 5.6 N N S Y H -999 +"1FGL J1032.7+3737" "TXS 1029+378" 158.16959 37.64056 184.24236507 59.08647262 0.013 0.178 0.99 BLL -999 -999.0 -999 9e-10 2e-10 2.19 0.16 6.4 N N S Y H -999 +"1FGL J0706.5+3744" "CLASS J0706+3744" 106.63207 37.74344 179.49241237 18.99134271 0.007 0.063 0.0 BLL HSP -999.0 -999 1.1e-09 3e-10 2.01 0.15 8.2 N N -999 N A -999 +"1FGL J0622.2+3751" "CLASS J0621+3750" 95.49016 37.84916 175.8315907 10.93209461 0.058 0.131 0.0 Unknown -999 -999.0 -999 2e-09 4e-10 2.36 0.09 10.2 N Y -999 N A -999 +"1FGL J2329.2+3755" "NVSS J232914+375414" 352.30917 37.90419 105.528576 -22.17382681 0.028 0.03 0.0 Unknown HSP -999.0 -999 1.3e-09 3e-10 1.61 0.17 10.4 N N -999 N A -999 +"1FGL J0419.0+3811" "3C 111" 64.58866 38.02661 161.67552988 -8.81978182 0.214 0.255 0.87 AGN -999 0.049 -999 1.5e-09 5e-10 2.61 0.22 4.3 N N S N L -999 +"1FGL J1635.0+3808" "4C +38.41" 248.81454 38.13458 61.08557688 42.33641497 0.036 0.046 0.99 FSRQ LSP 1.814 -999 6.8e-09 5e-10 2.47 0.04 34.0 Y Y S Y H -999 +"1FGL J1104.4+3812" "Mkn 421" 166.11379 38.20883 179.83168465 65.03146492 0.009 0.009 1.0 BLL HSP 0.03 -999 2.61e-08 1e-09 1.81 0.02 88.1 Y N S Y H -999 +"1FGL J0310.6+3812" "B3 0307+380" 47.70783 38.24828 150.90721306 -16.93643237 0.06 0.125 0.99 FSRQ LSP 0.816 -999 6e-10 3e-10 2.49 0.15 6.0 Y N S Y H -999 +"1FGL J0005.7+3815" "B2 0003+38A" 1.48825 38.33755 113.2103172 -23.67406158 0.088 0.2 0.99 FSRQ LSP 0.229 -999 6e-10 3e-10 2.86 0.13 8.4 N N S Y H -999 +"1FGL J2250.1+3825" "B3 2247+381" 342.52396 38.41033 98.25415547 -18.5781109 0.023 0.038 1.0 BLL HSP 0.119 -999 1.4e-09 3e-10 1.68 0.15 10.5 N N S Y H -999 +"1FGL J1734.4+3859" "B2 1732+38A" 263.58575 38.96428 64.02477685 31.00783697 0.026 0.033 1.0 FSRQ LSP 0.976 -999 6e-09 5e-10 2.22 0.05 32.2 Y N S Y H -999 +"1FGL J0342.2+3859" "CLASS J0342+3859" 55.56779 38.98507 155.65979191 -12.79572856 0.012 0.102 0.0 FSRQ -999 0.945 < 1.1e-09 -999.0 2.17 0.29 4.7 N N -999 N A -999 +"1FGL J2208.6+3903" "CLASS J2208+3904" 332.01633 39.07086 91.43813221 -13.61008808 0.114 0.079 0.0 Unknown -999 -999.0 < 8e-10 -999.0 1.31 0.43 4.4 N N -999 N A -999 +"1FGL J0136.5+3905" "B3 0133+388" 24.13581 39.09977 132.4164417 -22.93985739 0.015 0.021 1.0 BLL HSP -999.0 -999 4.5e-09 4e-10 1.73 0.06 25.7 N N S Y H -999 +"1FGL J0934.5+3929" "CGRaBS J0934+3926" 143.52779 39.44225 183.09808393 47.52652684 0.09 0.267 0.93 BLL -999 -999.0 -999 6e-10 2e-10 2.48 0.2 4.4 N N S Y H -999 +"1FGL J0105.7+3930" "CLASS J0105+3928" 16.28833 39.47091 125.81385732 -23.32407842 0.119 0.13 0.5 Unknown -999 -999.0 -999 1.2e-09 3e-10 2.5 0.14 8.9 N N S N H -999 +"1FGL J0226.0+3922" "B2 0224+39" 36.78093 39.52811 142.33557777 -19.71122044 0.257 0.317 0.55 FSRQ -999 1.571 < 1e-09 -999.0 2.88 0.18 5.3 N N S N H -999 +"1FGL J1023.6+3937" "B3 1019+397" 155.65591 39.5307 181.38137813 56.82138242 0.218 0.233 0.71 FSRQ -999 0.604 -999 6e-10 2e-10 2.45 0.17 5.1 N N Mm N H -999 +"1FGL J1439.2+3930" "PG 1437+398" 219.82292 39.545 68.84726027 64.42312181 0.041 0.188 0.98 BLL HSP 0.349 -999 7e-10 2e-10 1.85 0.23 4.1 N N S Y H -999 +"1FGL J0952.2+3926" "BZB J0952+3936" 148.06129 39.60442 182.56691817 51.00972281 0.167 0.122 0.82 BLL HSP -999.0 < 8e-10 -999.0 2.5 0.22 4.4 N N S Y H -999 +"1FGL J1653.9+3945" "Mkn 501" 253.46758 39.76017 63.60003513 38.85914948 0.019 0.015 0.99 BLL HSP 0.034 -999 8.3e-09 6e-10 1.85 0.04 40.2 Y N S Y H -999 +"1FGL J1023.6+3937" "4C +40.25" 155.79821 39.80428 180.85251366 56.87800873 0.203 0.233 0.89 FSRQ LSP 1.254 -999 6e-10 2e-10 2.45 0.17 5.1 N N Mm N H -999 +"1FGL J1642.5+3947" "3C 345" 250.74504 39.81028 63.45502196 40.94884284 0.082 0.052 0.0 FSRQ LSP 0.593 -999 5.6e-09 5e-10 2.49 0.04 34.8 Y N -999 N A -999 +"1FGL J2325.2+3957" "B3 2322+396" 351.32446 39.96014 105.51187883 -19.97991558 0.007 0.049 1.0 BLL LSP -999.0 -999 3.3e-09 4e-10 1.99 0.07 17.1 Y N S Y H -999 +"1FGL J1146.8+4004" "B2 1144+40" 176.74292 39.9762 164.95057331 71.47046826 0.105 0.121 0.98 FSRQ -999 1.089 -999 1e-09 3e-10 2.47 0.13 8.6 N N S Y H -999 +"1FGL J1341.3+3951" "BZB J1341+3959" 205.27127 39.99595 87.43419615 73.52663617 0.149 0.174 0.93 BLL HSP 0.172 < 9e-10 -999.0 2.45 0.21 4.5 N N S Y H -999 +"1FGL J1724.0+4002" "B2 1722+40" 261.02263 40.07681 64.89555462 33.1530891 0.037 0.083 1.0 AGN -999 1.049 -999 2.9e-09 4e-10 2.37 0.07 17.8 Y N S Y H -999 +"1FGL J2251.7+4030" "CRATES J2251+4030" 342.99904 40.51617 99.63044734 -16.88968782 0.055 0.076 0.98 BLL -999 -999.0 -999 1.5e-09 3e-10 2.2 0.14 8.6 N N S Y H -999 +"1FGL J0230.8+4031" "B3 0227+403" 37.69046 40.54808 142.59496729 -18.50079544 0.028 0.15 1.0 FSRQ -999 1.019 -999 1.4e-09 3e-10 2.43 0.13 7.8 Y N S Y H -999 +"1FGL J2356.1+4037" "2MASX J23561272+4036472" 359.05292 40.61311 111.7385335 -21.05523208 0.019 0.162 0.0 Unknown HSP -999.0 -999 9e-10 3e-10 1.87 0.23 4.1 N N -999 N A -999 +"1FGL J2243.4+4104" "CRATES J2244+4057" 341.05304 40.95378 98.49526935 -15.80378433 0.185 0.175 0.79 BLL -999 -999.0 -999 6e-10 3e-10 2.6 0.16 5.6 N N S N H -999 +"1FGL J1033.2+4116" "B3 1030+415" 158.26546 41.26839 177.38763162 58.3675 0.041 0.112 0.99 FSRQ LSP 1.117 -999 1.1e-09 3e-10 2.48 0.12 9.8 N N S Y H -999 +"1FGL J1209.4+4119" "B3 1206+416" 182.34492 41.32817 151.55926867 73.38014643 0.021 0.072 1.0 BLL LSP -999.0 -999 5e-10 2e-10 1.85 0.22 6.7 N N S Y H -999 +"1FGL J0612.7+4120" "B3 0609+413" 93.21329 41.37706 171.81932524 10.92403153 0.034 0.046 1.0 BLL -999 -999.0 -999 3.6e-09 4e-10 2.04 0.07 17.0 N N S Y H -999 +"1FGL J0923.2+4121" "B3 0920+416" 140.88042 41.42428 180.29953195 45.4583186 0.087 0.144 0.97 AGN -999 0.028 -999 1.2e-09 3e-10 2.39 0.14 8.6 N N S Y H -999 +"1FGL J0912.3+4127" "B3 0908+416B" 138.04842 41.43594 180.32227724 43.33511337 0.035 0.128 0.98 FSRQ -999 2.563 -999 6e-10 2e-10 2.21 0.19 6.1 N N S Y H -999 +"1FGL J0319.7+4130" "NGC 1275" 49.95067 41.5117 150.57580905 -13.26121343 0.008 0.025 1.0 AGN -999 0.018 -999 1.73e-08 8e-10 2.13 0.02 59.3 Y N S Y H -999 +"1FGL J0423.8+4148" "4C +41.11" 65.98337 41.83409 159.70548071 -5.38193052 0.025 0.031 1.0 Unknown -999 -999.0 -999 3.5e-09 5e-10 1.87 0.07 15.2 N N S N L -999 +"1FGL J1150.5+4152" "BZB J1150+4154" 177.64437 41.91133 159.11104696 70.67956517 0.029 0.045 1.0 BLL HSP -999.0 -999 2.2e-09 3e-10 1.93 0.1 15.3 N N S Y H -999 +"1FGL J1433.9+4204" "B3 1432+422" 218.52375 42.05444 75.07183296 64.29859369 0.036 0.107 1.0 FSRQ -999 1.24 -999 7e-10 2e-10 2.25 0.2 6.3 N N S Y H -999 +"1FGL J2323.5+4211" "1ES 2321+419" 350.96707 42.18297 106.06261413 -17.80228675 0.057 0.065 0.99 BLL HSP -999.0 -999 2e-09 3e-10 2.0 0.11 13.6 N N S Y H -999 +"1FGL J1519.7+4216" "B3 1518+423" 230.1655 42.18653 69.15278908 56.17539764 0.193 0.241 0.88 FSRQ -999 0.484 -999 4e-10 2e-10 2.56 0.2 4.3 N N S Y H -999 +"1FGL J1121.0+4209" "1ES 1118+424" 170.20025 42.20346 167.85373562 66.16283737 0.058 0.062 0.99 BLL HSP 0.124 -999 1.1e-09 2e-10 1.63 0.16 9.3 N N S Y H -999 +"1FGL J0102.2+4223" "CRATES J0102+4214" 15.61313 42.23861 125.10933868 -20.58656642 0.154 0.192 0.93 FSRQ -999 0.874 -999 6e-10 3e-10 2.74 0.15 7.8 N N S Y H -999 +"1FGL J2202.8+4216" "BL Lac" 330.68038 42.27777 92.58957227 -10.44115884 0.026 0.043 1.0 BLL LSP 0.069 -999 7.1e-09 6e-10 2.38 0.04 32.1 Y N S Y H -999 +"1FGL J0818.2+4222" "B3 0814+425" 124.56667 42.37928 178.22777801 33.40198701 0.011 0.03 1.0 BLL LSP -999.0 -999 8.7e-09 6e-10 2.15 0.04 40.8 Y N S Y H -999 +"1FGL J0834.4+4221" "B3 0830+425" 128.47454 42.40053 178.61272312 36.27072436 0.102 0.138 0.98 FSRQ LSP 0.249 -999 9e-10 2e-10 2.47 0.15 7.9 N N S Y H -999 +"1FGL J1428.7+4239" "1ES 1426+428" 217.13586 42.67252 77.48717666 64.89894314 0.035 0.03 0.99 BLL HSP 0.129 -999 9e-10 2e-10 1.49 0.18 11.1 N N S Y H -999 +"1FGL J0222.6+4302" "3C 66A" 35.665 43.03528 140.1430072 -16.76713817 0.004 0.012 1.0 BLL ISP -999.0 -999 2.49e-08 1e-09 1.93 0.02 69.3 Y N S Y H -999 +"1FGL J1309.5+4304" "B3 1307+433" 197.35635 43.08489 111.20825977 73.63150654 0.033 0.047 1.0 BLL ISP -999.0 -999 2e-09 3e-10 1.98 0.1 14.0 N N S Y H -999 +"1FGL J1709.6+4320" "B3 1708+433" 257.42121 43.31236 68.39169826 36.22466583 0.03 0.07 1.0 FSRQ LSP 1.027 -999 1.5e-09 3e-10 2.33 0.09 13.7 Y N S Y H -999 +"1FGL J1749.0+4323" "B3 1747+433" 267.2515 43.36425 69.63165128 29.15529616 0.033 0.058 1.0 BLL LSP -999.0 -999 2.3e-09 3e-10 2.12 0.09 13.8 N N S Y H -999 +"1FGL J1225.8+4336" "B3 1222+438" 186.21463 43.5887 139.28845678 72.68545622 0.183 0.345 0.94 Unknown -999 -999.0 < 8e-10 -999.0 2.81 0.18 5.6 N N MM N H -999 +"1FGL J1225.8+4336" "B3 1224+439" 186.74125 43.68289 137.97407586 72.72345826 0.215 0.345 0.87 FSRQ -999 2.002 < 8e-10 -999.0 2.81 0.18 5.6 N N MM N H -999 +"1FGL J1442.1+4348" "CLASS J1442+4348" 220.52979 43.8102 77.02673499 62.18537022 0.008 0.128 0.99 BLL -999 -999.0 -999 8e-10 2e-10 1.79 0.2 5.9 N N S Y H -999 +"1FGL J2001.1+4351" "VCS1 J2001+4352" 300.30364 43.88134 79.06732693 7.10982937 0.017 0.018 1.0 Unknown -999 -999.0 -999 1.02e-08 7e-10 2.03 0.06 32.1 N N S N L -999 +"1FGL J0800.5+4407" "B3 0757+441" 120.28447 44.01949 175.75934227 30.5649665 0.154 0.295 0.92 Unknown -999 -999.0 -999 7e-10 3e-10 2.21 0.19 4.8 N N S Y H -999 +"1FGL J1340.6+4406" "BZB J1340+4410" 205.12414 44.16776 96.04334868 70.31058263 0.064 0.069 1.0 BLL HSP 0.546 -999 5e-10 2e-10 1.82 0.33 4.9 N N S Y H -999 +"1FGL J0155.0+4433" "CLASS J0154+4433" 28.72695 44.56055 134.67701356 -16.85890031 0.021 0.055 1.0 BLL -999 -999.0 < 1.1e-09 -999.0 2.13 0.21 6.7 N N S Y H -999 +"1FGL J0128.6+4439" "CLASS J0128+4439" 22.17225 44.65499 129.87268884 -17.71415304 0.014 0.14 0.99 FSRQ -999 0.228 -999 8e-10 2e-10 2.35 0.16 5.5 Y N S Y H -999 +"1FGL J0625.4+4440" "CGRaBS J0625+4440" 96.32608 44.66711 169.7740858 14.39057218 0.025 0.116 1.0 BLL -999 -999.0 -999 1e-09 3e-10 2.03 0.18 6.2 N N S Y H -999 +"1FGL J0920.9+4441" "B3 0917+449" 140.24358 44.69833 175.70032641 44.81553269 0.01 0.028 1.0 FSRQ LSP 2.19 -999 1.4e-08 7e-10 2.28 0.02 70.3 Y Y S Y H -999 +"1FGL J1514.7+4447" "BZQ J1514+4450" 228.65263 44.83447 74.29731319 56.45260019 0.055 0.17 0.98 FSRQ LSP 0.57 -999 8e-10 2e-10 2.47 0.17 6.8 N N S Y H -999 +"1FGL J1345.4+4453" "B3 1343+451" 206.38821 44.88322 95.09686501 69.20747475 0.017 0.118 0.99 FSRQ LSP 2.534 -999 1.6e-09 3e-10 2.5 0.09 12.2 N N S Y H -999 +"1FGL J0023.0+4453" "B3 0020+446" 5.89767 44.94328 117.76663411 -17.64900003 0.116 0.12 0.96 FSRQ -999 1.062 -999 1e-09 3e-10 2.46 0.16 7.1 N N S Y H -999 +"1FGL J0654.3+4514" "B3 0650+453" 103.59879 45.23986 171.20975243 19.38184398 0.017 0.041 1.0 FSRQ LSP 0.933 -999 6.1e-09 5e-10 2.32 0.04 31.5 Y N S Y H -999 +"1FGL J1727.3+4525" "B3 1726+455" 261.86521 45.51103 71.43221702 33.28064164 0.092 0.126 0.97 FSRQ LSP 0.714 -999 1.2e-09 3e-10 2.57 0.09 13.6 Y N S Y H -999 +"1FGL J2012.2+4629" "BZB J2012+4628" 303.02349 46.48216 82.31219219 6.85828446 0.02 0.04 1.0 Unknown -999 -999.0 -999 3.2e-09 5e-10 1.98 0.06 12.9 N N S N L -999 +"1FGL J1616.1+4637" "CRATES J1616+4632" 244.01571 46.54033 72.91645642 45.63778903 0.087 0.261 0.96 FSRQ -999 0.95 -999 6e-10 2e-10 2.68 0.15 7.6 N N S Y H -999 +"1FGL J1637.9+4707" "B3 1638+471B" 249.98325 47.08989 73.13821936 41.52123362 0.34 0.307 0.51 FSRQ -999 0.86 < 1e-09 -999.0 2.93 0.17 6.7 N N Mm N H -999 +"1FGL J1637.9+4707" "BZQ J1636+4715" 249.10131 47.25998 73.41839217 42.1083753 0.293 0.307 0.66 FSRQ -999 0.823 < 1e-09 -999.0 2.93 0.17 6.7 N N Mm N H -999 +"1FGL J0303.1+4711" "4C +47.08" 45.89684 47.27119 144.98551223 -9.86286446 0.109 0.149 1.0 BLL -999 -999.0 -999 1.4e-09 4e-10 2.56 0.15 6.8 N N S N L -999 +"1FGL J1637.9+4707" "4C +47.44" 249.43804 47.29272 73.44068164 41.87817794 0.167 0.307 0.91 FSRQ LSP 0.74 < 1e-09 -999.0 2.93 0.17 6.7 N N Mm N H -999 +"1FGL J1332.9+4728" "B3 1330+476" 203.1885 47.37297 103.85090866 68.19536148 0.106 0.223 0.96 FSRQ LSP 0.669 -999 5e-10 2e-10 2.55 0.21 4.3 N N S Y H -999 +"1FGL J0711.4+4731" "B3 0707+476" 107.69213 47.53642 169.78228211 22.76803825 0.123 0.184 0.95 BLL LSP -999.0 -999 9e-10 3e-10 2.51 0.13 6.8 N N S Y H -999 +"1FGL J0607.2+4739" "CGRaBS J0607+4739" 91.84687 47.66306 165.62684801 12.85955355 0.023 0.108 1.0 BLL ISP -999.0 -999 2.5e-09 4e-10 2.1 0.1 11.4 N N S Y H -999 +"1FGL J0137.0+4751" "OC 457" 24.24413 47.85808 130.78836405 -14.31779244 0.007 0.029 1.0 FSRQ LSP 0.859 -999 9.6e-09 6e-10 2.34 0.03 44.9 Y Y S Y H -999 +"1FGL J1503.3+4759" "CLASS J1503+4759" 225.94999 47.99195 80.92118926 56.91142908 0.08 0.223 0.96 BLL LSP -999.0 -999 6e-10 2e-10 2.54 0.18 5.5 N N S Y H -999 +"1FGL J1838.6+4756" "BZB J1838+4802" 279.70485 48.04285 76.9497613 21.82881601 0.102 0.088 0.98 BLL HSP -999.0 -999 1.3e-09 3e-10 1.91 0.14 8.6 N N S Y H -999 +"1FGL J0533.0+4825" "RX J0533.2+4823" 83.31611 48.38134 162.16074686 8.23011778 0.054 0.11 1.0 FSRQ -999 1.162 -999 2.3e-09 4e-10 2.43 0.35 10.3 Y N S N L -999 +"1FGL J1312.4+4827" "CGRaBS J1312+4828" 198.18062 48.47525 113.37902523 68.25630421 0.052 0.138 0.99 FSRQ -999 0.501 -999 1.4e-09 3e-10 2.34 0.12 10.2 Y N S Y H -999 +"1FGL J1829.8+4845" "3C 380" 277.38242 48.74616 77.22523925 23.50444904 0.059 0.184 0.99 AGN -999 0.692 -999 9e-10 3e-10 2.31 0.17 5.1 N N S Y H -999 +"1FGL J0849.9+4852" "CRATES J0850+4854" 132.50221 48.91461 170.47476445 39.26940296 0.033 0.147 0.98 Unknown ISP -999.0 -999 1.6e-09 3e-10 2.35 0.1 11.8 N N S Y H -999 +"1FGL J1852.5+4853" "CGRaBS J1852+4855" 283.11896 48.92986 78.59343234 19.94517876 0.035 0.092 1.0 FSRQ LSP 1.25 -999 9e-10 3e-10 2.6 0.12 8.6 N N S Y H -999 +"1FGL J1228.2+4855" "CRATES J1228+4858" 187.21571 48.96703 132.74027337 67.72905865 0.1 0.087 0.91 FSRQ LSP 1.722 -999 1.3e-09 3e-10 2.37 0.14 10.3 N N S Y H -999 +"1FGL J1015.1+4927" "1ES 1011+496" 153.76721 49.43353 165.53386507 52.71223294 0.024 0.024 1.0 BLL HSP 0.2 -999 8.7e-09 6e-10 1.93 0.04 40.3 N N S Y H -999 +"1FGL J2029.2+4924" "VCS5 J2029+4926" 307.41614 49.43948 86.43486988 6.07958327 0.068 0.072 0.98 Unknown -999 -999.0 -999 5.1e-09 6e-10 2.35 0.03 12.9 Y Y S N L -999 +"1FGL J1053.6+4927" "BZB J1053+4929" 163.43386 49.49888 160.23504287 58.2306074 0.049 0.041 0.98 BLL HSP 0.14 -999 1.1e-09 2e-10 1.63 0.15 11.4 N N S Y H -999 +"1FGL J0113.8+4945" "CGRaBS J0113+4948" 18.36254 49.80669 126.57236213 -12.90940211 0.079 0.113 1.0 FSRQ LSP 0.395 -999 7e-10 3e-10 2.29 0.18 4.9 N N S Y H -999 +"1FGL J1647.4+4948" "CGRaBS J1647+4950" 251.89546 49.8335 76.64481146 40.07578375 0.035 0.161 0.99 AGN -999 0.047 -999 1.1e-09 3e-10 2.54 0.14 7.8 N N S Y H -999 +"1FGL J1224.2+5012" "CLASS J1224+5001" 186.04135 50.03208 133.96112488 66.50809362 0.173 0.166 0.65 FSRQ -999 1.065 < 1e-09 -999.0 2.72 0.21 5.7 N N S N H -999 +"1FGL J1214.9+5004" "BZB J1215+5002" 183.75327 50.03768 137.43506115 66.05238816 0.045 0.179 0.98 BLL -999 -999.0 < 9e-10 -999.0 2.17 0.27 4.4 N N S Y H -999 +"1FGL J0937.7+5005" "CGRaBS J0937+5008" 144.30138 50.1478 167.37204045 46.67939509 0.101 0.163 0.97 FSRQ LSP 0.276 -999 8e-10 2e-10 2.73 0.14 8.5 Y N S Y H -999 +"1FGL J1727.9+5010" "I Zw 187" 262.07758 50.21958 77.06771402 33.53692572 0.064 0.174 0.98 BLL HSP 0.055 -999 9e-10 2e-10 1.96 0.18 6.7 N N S N H -999 +"1FGL J0929.4+5000" "CGRaBS J0929+5013" 142.31433 50.22667 167.6616509 45.42066514 0.228 0.158 0.67 BLL LSP -999.0 -999 7e-10 2e-10 1.91 0.23 5.7 N N S N H -999 +"1FGL J0712.7+5033" "CGRaBS J0712+5033" 108.18183 50.5563 166.69844823 23.86490839 0.005 0.067 1.0 BLL LSP -999.0 -999 2.8e-09 4e-10 2.06 0.08 14.9 N N S Y H -999 +"1FGL J0654.4+5042" "CGRaBS J0654+5042" 103.59204 50.70664 165.67994471 21.10622015 0.02 0.033 1.0 Unknown -999 -999.0 -999 4.1e-09 4e-10 2.08 0.06 22.4 Y N S Y H -999 +"1FGL J1031.0+5051" "1ES 1028+511" 157.82716 50.89328 161.43849428 54.43937164 0.053 0.075 0.99 BLL HSP 0.361 -999 1e-09 2e-10 1.78 0.17 9.1 N N S Y H -999 +"1FGL J1333.2+5056" "CLASS J1333+5057" 203.47409 50.95998 107.09350912 64.84265797 0.109 0.13 0.93 Unknown -999 -999.0 -999 1.4e-09 3e-10 2.5 0.12 11.5 Y N S Y H -999 +"1FGL J0254.2+5107" "TXS 0250+508" 43.49003 51.04902 141.77074897 -7.28576589 0.089 0.114 0.99 Unknown -999 -999.0 -999 2.3e-09 5e-10 2.42 0.22 9.3 N N S N L -999 +"1FGL J1454.6+5125" "CRATES J1454+5124" 223.613 51.40936 87.67608286 56.45722242 0.032 0.092 1.0 BLL ISP -999.0 -999 1.1e-09 3e-10 2.25 0.13 9.7 N N S Y H -999 +"1FGL J2347.1+5142" "1ES 2344+514" 356.77015 51.70497 112.89142045 -9.90774891 0.007 0.06 1.0 BLL -999 0.044 -999 1.4e-09 3e-10 1.57 0.12 10.6 N N S N L -999 +"1FGL J1451.0+5204" "CLASS J1450+5201" 222.74995 52.01992 89.13918002 56.53799479 0.05 0.153 0.99 BLL -999 -999.0 -999 9e-10 3e-10 2.33 0.19 5.3 N N S Y H -999 +"1FGL J1331.0+5202" "CGRaBS J1330+5202" 202.6775 52.03761 109.07701046 64.02132558 0.056 0.12 0.99 AGN -999 0.688 < 5e-10 -999.0 2.59 0.32 4.2 N N S Y H -999 +"1FGL J1740.0+5209" "4C +51.37" 265.15408 52.19539 79.56367362 31.74808696 0.09 0.063 0.78 FSRQ LSP 1.379 -999 3.4e-09 4e-10 2.71 0.05 30.8 Y N S N H -999 +"1FGL J0809.5+5219" "CRATES J0809+5218" 122.45496 52.31619 166.24505182 32.91039724 0.042 0.055 0.99 BLL HSP 0.138 -999 2.4e-09 3e-10 2.1 0.1 15.3 N Y S Y H -999 +"1FGL J1630.2+5220" "CRATES J1630+5221" 247.67979 52.36072 80.41091383 42.39337058 0.071 0.175 0.96 BLL ISP -999.0 -999 1.1e-09 3e-10 2.23 0.16 6.0 N N S Y H -999 +"1FGL J1649.6+5241" "CLASS J1649+5235" 252.35413 52.5875 80.18222611 39.54284837 0.111 0.084 0.0 BLL -999 -999.0 -999 1e-09 2e-10 2.19 0.14 8.7 N N -999 N A -999 +"1FGL J1253.0+5301" "SDSS J125257.95+525925.6" 193.24145 52.99045 122.40484384 64.13623761 0.037 0.059 0.53 AGN -999 0.178 -999 3e-09 4e-10 2.14 0.07 19.8 N N Mm N H -999 +"1FGL J1253.0+5301" "CRATES J1253+5301" 193.29967 53.01992 122.32557437 64.10625826 0.022 0.059 1.0 BLL LSP -999.0 -999 3e-09 4e-10 2.14 0.07 19.8 N N Mm N H -999 +"1FGL J0844.0+5314" "BZB J0844+5312" 131.04876 53.21405 165.04875249 38.09339173 0.036 0.093 1.0 BLL HSP -999.0 -999 7e-10 2e-10 1.97 0.18 6.7 N N S Y H -999 +"1FGL J0752.8+5353" "4C +54.15" 118.25575 53.88322 164.19982126 30.50584753 0.033 0.071 1.0 BLL LSP 0.2 -999 1.2e-09 3e-10 1.95 0.16 8.4 N N S Y H -999 +"1FGL J1118.0+5354" "BZB J1117+5355" 169.48931 53.93189 149.21123384 58.16501102 0.03 0.069 1.0 BLL HSP -999.0 -999 5e-10 2e-10 2.01 0.25 6.3 N N S Y H -999 +"1FGL J1829.8+5404" "BZB J1829+5402" 277.35121 54.04994 82.86502727 24.78951964 0.074 0.153 0.99 BLL HSP -999.0 -999 7e-10 2e-10 2.16 0.2 6.0 N N S Y H -999 +"1FGL J1421.0+5421" "OQ 530" 214.94417 54.38744 98.30057476 58.31186412 0.185 0.132 0.71 BLL LSP 0.152 -999 9e-10 2e-10 2.77 0.17 8.7 N N S N H -999 +"1FGL J1209.3+5444" "CRATES J1208+5441" 182.22608 54.6995 135.7837672 61.35473086 0.072 0.237 0.97 FSRQ -999 1.344 -999 6e-10 2e-10 2.92 0.16 8.0 Y N S Y H -999 +"1FGL J0742.2+5443" "CRATES J0742+5444" 115.66579 54.7402 163.03734249 29.09190389 0.061 0.096 1.0 FSRQ LSP 0.723 -999 2.2e-09 3e-10 2.45 0.09 14.2 Y N S Y H -999 +"1FGL J1756.6+5524" "BZB J1756+5522" 269.0662 55.37169 83.47767755 29.72160932 0.059 0.136 0.99 BLL HSP -999.0 -999 6e-10 3e-10 2.34 0.17 6.4 N N MM N H -999 +"1FGL J0957.7+5523" "4C +55.17" 149.40908 55.38269 158.59862341 47.9282009 0.016 0.028 1.0 FSRQ LSP 0.896 -999 1.05e-08 6e-10 2.05 0.03 49.7 N N S Y H -999 +"1FGL J1756.6+5524" "CRATES J1757+5523" 269.36783 55.38664 83.51437306 29.55257233 0.123 0.136 0.96 AGN -999 0.065 -999 6e-10 3e-10 2.34 0.17 6.4 N N MM N H -999 +"1FGL J1903.0+5539" "CRATES J1903+5540" 285.79838 55.67733 85.96606727 20.5397308 0.031 0.057 1.0 BLL ISP -999.0 -999 3.6e-09 4e-10 1.86 0.08 17.2 N N S Y H -999 +"1FGL J1359.1+5539" "CRATES J1359+5544" 209.77392 55.7415 104.44994134 58.89247093 0.078 0.154 0.98 FSRQ -999 1.014 -999 9e-10 2e-10 2.66 0.15 8.3 Y N S Y H -999 +"1FGL J0825.0+5555" "OJ 535" 126.19683 55.87853 161.95805552 35.11759897 0.064 0.156 0.99 FSRQ LSP 1.417 -999 9e-10 3e-10 2.87 0.11 11.4 Y N S Y H -999 +"1FGL J1509.4+5602" "BZB J1509+5556" 227.44958 55.93806 91.82972419 52.00937381 0.12 0.152 0.96 BLL LSP -999.0 < 8e-10 -999.0 2.5 0.25 5.1 N N MM N H -999 +"1FGL J1509.4+5602" "CLASS J1508+5604" 227.10302 56.07313 92.19063039 52.09016814 0.141 0.152 0.93 FSRQ -999 0.978 < 8e-10 -999.0 2.5 0.25 5.1 N N MM N H -999 +"1FGL J1558.9+5627" "CRATES J1558+5625" 239.70121 56.42058 87.59045629 45.77390905 0.046 0.074 1.0 BLL LSP 0.3 -999 1.8e-09 3e-10 2.24 0.13 11.7 Y N S Y H -999 +"1FGL J1058.6+5628" "CGRaBS J1058+5628" 164.65721 56.46978 149.59275967 54.42482128 0.012 0.024 1.0 BLL HSP 0.143 -999 5.7e-09 5e-10 1.97 0.05 33.5 Y N S Y H -999 +"1FGL J1437.0+5640" "BZB J1436+5639" 219.24051 56.65691 97.72945553 55.00131785 0.019 0.03 1.0 BLL HSP -999.0 -999 6e-10 2e-10 1.45 0.26 8.9 N N S Y H -999 +"1FGL J1824.0+5651" "4C +56.27" 276.02946 56.85042 85.7388914 26.08137959 0.018 0.081 1.0 BLL LSP -999.0 -999 2.7e-09 4e-10 2.34 0.07 18.1 Y N S Y H -999 +"1FGL J0046.8+5658" "VCS1 J0047+5657" 11.75179 56.96178 122.32481202 -5.90474572 0.023 0.115 0.99 Unknown -999 -999.0 -999 2.3e-09 4e-10 2.27 0.17 7.5 N N S N L -999 +"1FGL J0616.9+5701" "CRATES J0617+5701" 94.3205 57.02122 157.42451381 18.09422006 0.044 0.057 0.99 BLL -999 -999.0 -999 1.3e-09 3e-10 2.07 0.14 9.7 N N S Y H -999 +"1FGL J1037.7+5711" "CRATES J1037+5711" 159.43463 57.19878 151.77109624 51.78262776 0.005 0.041 1.0 BLL HSP -999.0 -999 2.8e-09 3e-10 1.98 0.08 20.7 N N S Y H -999 +"1FGL J1604.3+5710" "CGRaBS J1604+5714" 241.15567 57.24353 88.27471457 44.7354862 0.08 0.172 0.98 FSRQ LSP 0.72 -999 1.2e-09 3e-10 2.64 0.14 8.1 N N S Y H -999 +"1FGL J0816.7+5739" "BZB J0816+5739" 124.09926 57.65264 159.86174989 33.89922988 0.047 0.094 1.0 BLL HSP -999.0 -999 7e-10 3e-10 1.93 0.19 5.9 N N S Y H -999 +"1FGL J1342.7+5753" "CRATES J1343+5754" 205.99008 57.91178 109.8207364 57.8594949 0.164 0.143 0.74 FSRQ ISP 0.933 < 8e-10 -999.0 2.09 0.29 4.2 N N S N H -999 +"1FGL J0945.6+5754" "CRATES J0945+5757" 146.426 57.96325 156.11487088 45.39091461 0.049 0.118 0.99 BLL ISP 0.229 -999 1.1e-09 2e-10 2.18 0.15 8.3 N N S Y H -999 +"1FGL J1422.2+5757" "1ES 1421+582" 215.66206 58.03208 101.85737834 55.2055361 0.088 0.09 0.95 BLL HSP -999.0 < 7e-10 -999.0 1.42 0.29 4.6 N N S Y H -999 +"1FGL J1248.2+5820" "CGRaBS J1248+5820" 192.07825 58.3413 123.72304493 58.78215083 0.012 0.04 1.0 BLL LSP -999.0 -999 4.5e-09 4e-10 2.18 0.06 28.6 N N S Y H -999 +"1FGL J0102.8+5827" "TXS 0059+581" 15.69068 58.40309 124.41931505 -4.43594893 0.064 0.079 0.99 FSRQ -999 0.644 -999 4.2e-09 5e-10 2.38 0.13 16.3 Y N S N L -999 +"1FGL J0722.3+5837" "BZB J0723+5841" 110.80817 58.68844 158.2073865 26.97049529 0.129 0.129 0.95 BLL HSP -999.0 -999 6e-10 3e-10 2.16 0.25 4.6 N N S Y H -999 +"1FGL J1725.5+5854" "BZB J1725+5851" 261.39593 58.86111 87.46336487 33.96489079 0.039 0.1 0.99 BLL LSP -999.0 -999 1.2e-09 3e-10 2.31 0.14 9.4 N N S Y H -999 +"1FGL J1151.6+5857" "CRATES J1151+5859" 177.85275 58.98822 136.91193682 56.48098021 0.039 0.047 1.0 BLL ISP -999.0 -999 7e-10 3e-10 1.99 0.18 7.1 N N S Y H -999 +"1FGL J0710.6+5911" "BZB J0710+5908" 107.62528 59.13899 157.40431049 25.42647442 0.05 0.063 0.99 BLL HSP 0.125 -999 5e-10 2e-10 1.28 0.21 8.2 N N S Y H -999 +"1FGL J1742.1+5947" "CRATES J1742+5945" 265.63338 59.75186 88.45927688 31.78084951 0.064 0.064 0.97 BLL ISP -999.0 -999 6e-10 2e-10 2.09 0.25 5.5 N N S Y H -999 +"1FGL J0035.9+5951" "1ES 0033+595" 8.96935 59.83461 120.97561597 -2.9780199 0.02 0.028 1.0 BLL -999 -999.0 -999 3.2e-09 5e-10 1.95 0.2 13.0 N N S N L -999 +"1FGL J1656.9+6017" "CRATES J1656+6012" 254.20104 60.20458 89.6270673 37.43040431 0.087 0.179 0.96 FSRQ LSP 0.623 -999 8e-10 2e-10 2.33 0.29 4.8 N N S Y H -999 +"1FGL J1152.1+6027" "CRATES J1154+6022" 178.51888 60.37244 135.36834481 55.34917767 0.253 0.325 0.73 Unknown -999 -999.0 -999 6e-10 3e-10 2.88 0.18 5.4 N N S N H -999 +"1FGL J0645.5+6033" "BZU J0645+6024" 101.25571 60.41175 155.24913422 22.59550422 0.167 0.134 0.87 AGN -999 0.832 -999 9e-10 3e-10 2.31 0.19 6.4 N N S Y H -999 +"1FGL J1202.9+6032" "CRATES J1203+6031" 180.76462 60.52197 133.44949471 55.60740593 0.016 0.08 1.0 AGN -999 0.065 -999 1.1e-09 3e-10 2.08 0.17 8.2 N N S Y H -999 +"1FGL J1033.8+6048" "CGRaBS J1033+6051" 158.46429 60.85203 147.78490566 49.10703914 0.05 0.092 1.0 FSRQ LSP 1.401 -999 2.2e-09 3e-10 2.46 0.08 17.7 Y N Mm N H -999 +"1FGL J1033.8+6048" "CRATES J1032+6051" 158.22483 60.85767 147.89192716 49.01368593 0.134 0.092 0.53 FSRQ -999 1.064 -999 2.2e-09 3e-10 2.46 0.08 17.7 Y N Mm N H -999 +"1FGL J1542.9+6129" "CRATES J1542+6129" 235.73729 61.49872 95.39257384 45.392328 0.013 0.035 1.0 BLL ISP -999.0 -999 5.2e-09 4e-10 2.14 0.05 30.4 Y N S Y H -999 +"1FGL J0806.2+6148" "CGRaBS J0805+6144" 121.32575 61.73992 155.04619191 32.35114325 0.127 0.153 0.94 FSRQ LSP 3.033 -999 6e-10 2e-10 2.83 0.13 9.4 Y N S Y H -999 +"1FGL J0941.2+6149" "BZB J0940+6148" 145.09353 61.80728 151.6059744 43.19688255 0.103 0.143 0.97 BLL HSP 0.211 -999 1e-09 2e-10 2.15 0.19 5.9 N N S Y H -999 +"1FGL J1926.8+6153" "CLASS J1926+6154" 291.70764 61.91101 93.30840147 19.74417056 0.028 0.057 0.0 BLL HSP -999.0 -999 1.9e-09 3e-10 2.02 0.1 13.2 N N -999 N A -999 +"1FGL J0919.6+6216" "OK 630" 140.40096 62.2645 152.20031372 40.99367381 0.233 0.176 0.82 FSRQ LSP 1.446 -999 1.1e-09 3e-10 2.7 0.15 7.9 N N S Y H -999 +"1FGL J1254.0+6236" "BZB J1253+6242" 193.49708 62.716 122.42971569 54.40976429 0.1 0.106 0.95 BLL HSP -999.0 -999 5e-10 2e-10 2.28 0.28 4.7 N N S Y H -999 +"1FGL J1548.7+6311" "CRATES J1549+6310" 237.48879 63.16869 96.84710526 43.8502326 0.132 0.112 0.74 Unknown -999 -999.0 -999 5e-10 2e-10 2.0 0.3 4.1 N N S N H -999 +"1FGL J0815.0+6434" "CGRaBS J0814+6431" 123.66329 64.52278 151.65444663 33.20332551 0.066 0.082 0.99 BLL ISP -999.0 -999 1.7e-09 3e-10 2.27 0.1 12.5 Y N S Y H -999 +"1FGL J2000.0+6508" "1ES 1959+650" 299.99937 65.14853 98.00338167 17.66975912 0.018 0.031 1.0 BLL HSP 0.049 -999 6e-09 5e-10 2.1 0.05 30.3 N N S Y H -999 +"1FGL J1517.8+6530" "BZB J1517+6525" 229.44825 65.42313 102.26077331 45.38859655 0.086 0.102 0.99 BLL HSP 0.702 -999 5e-10 2e-10 1.69 0.27 5.8 N N S Y H -999 +"1FGL J1000.1+6539" "CGRaBS J0958+6533" 149.69688 65.56522 145.74621658 43.13163141 0.164 0.248 0.94 BLL ISP 0.367 -999 5e-10 3e-10 2.51 0.16 6.3 N N S Y H -999 +"1FGL J0334.3+6536" "RX J0333.9+6537" 53.48641 65.61561 138.67719286 7.84167661 0.047 0.094 0.99 Unknown -999 -999.0 -999 1.3e-09 5e-10 2.19 0.22 4.1 N N S N L -999 +"1FGL J0849.3+6607" "CLASS J0848+6606" 132.2276 66.10264 148.95485224 36.42044347 0.052 0.074 0.0 BLL -999 -999.0 -999 7e-10 3e-10 2.11 0.28 6.3 N N -999 N A -999 +"1FGL J2038.1+6552" "NGC 6951" 309.30871 66.10564 100.8958094 14.85292851 0.241 0.236 0.65 AGN -999 0.005 -999 1.3e-09 4e-10 2.57 0.2 4.9 N N S N H -999 +"1FGL J1849.3+6705" "CGRaBS J1849+6705" 282.317 67.09492 97.49135405 25.04370507 0.01 0.024 1.0 FSRQ LSP 0.657 -999 1.33e-08 7e-10 2.25 0.03 63.8 Y N S Y H -999 +"1FGL J1136.2+6739" "BZB J1136+6737" 174.12536 67.61787 133.45302506 47.95070672 0.048 0.083 1.0 BLL HSP 0.136 -999 7e-10 2e-10 1.8 0.21 6.2 N N S Y H -999 +"1FGL J0507.9+6738" "1ES 0502+675" 76.98405 67.62341 143.79487338 15.88968357 0.014 0.019 1.0 BLL HSP 0.416 -999 2.3e-09 3e-10 1.75 0.1 16.5 N N S Y H -999 +"1FGL J0110.0+6806" "4C +67.04" 17.55364 68.09478 124.68897007 5.28711185 0.021 0.074 1.0 Unknown -999 -999.0 -999 2e-09 5e-10 2.35 0.21 8.5 N N S N L -999 +"1FGL J1700.1+6830" "CGRaBS J1700+6830" 255.03875 68.50195 99.56279227 35.20327725 0.008 0.051 1.0 FSRQ LSP 0.301 -999 3.7e-09 4e-10 2.28 0.06 23.3 Y N S Y H -999 +"1FGL J0956.5+6938" "M 82" 148.96969 69.67938 141.40947709 40.56749559 0.068 0.131 1.0 AGN -999 0.001 -999 1.7e-09 3e-10 2.36 0.13 8.3 N N S Y H -999 +"1FGL J1807.0+6945" "3C 371" 271.71117 69.82447 100.13128874 29.1668328 0.066 0.085 0.99 BLL LSP 0.051 -999 1.9e-09 3e-10 2.6 0.08 15.5 N N S Y H -999 +"1FGL J1331.0+6957" "1RXS J133027.8+700143" 202.60681 70.02791 118.09213717 46.73224354 0.097 0.095 0.0 Unknown HSP -999.0 -999 6e-10 2e-10 2.16 0.25 4.9 N N -999 N A -999 +"1FGL J1748.5+7004" "CGRaBS J1748+7005" 267.13683 70.09744 100.52546198 30.72037359 0.015 0.042 1.0 BLL ISP 0.77 -999 2e-09 3e-10 2.05 0.1 13.5 N N S Y H -999 +"1FGL J1136.6+7009" "Mkn 180" 174.11004 70.15759 131.90976566 45.64101298 0.018 0.042 1.0 BLL HSP 0.045 -999 1.7e-09 3e-10 1.86 0.11 12.5 N N S Y H -999 +"1FGL J2001.9+7040" "CRATES J2001+7040" 300.39146 70.67384 103.31280005 19.97214283 0.033 0.069 0.99 Unknown -999 -999.0 -999 8e-10 3e-10 2.14 0.21 5.5 N N S Y H -999 +"1FGL J0842.2+7054" "4C +71.07" 130.3515 70.89506 143.54074084 34.42565887 0.071 0.149 0.99 FSRQ LSP 2.218 -999 1.2e-09 3e-10 2.98 0.12 13.2 N N S Y H -999 +"1FGL J1221.5+7106" "CRATES J1220+7105" 185.01513 71.09197 126.57003599 45.81399056 0.124 0.215 0.94 FSRQ -999 0.451 -999 5e-10 2e-10 1.93 0.26 4.7 N N S Y H -999 +"1FGL J0243.5+7116" "CRATES J0243+7120" 40.87871 71.3383 131.72285639 10.4053427 0.059 0.081 1.0 BLL -999 -999.0 -999 1.3e-09 4e-10 2.2 0.16 6.3 N N S Y H -999 +"1FGL J0721.9+7120" "CGRaBS J0721+7120" 110.47271 71.34344 143.98102992 28.01755941 0.003 0.019 1.0 BLL ISP 0.31 -999 1.31e-08 7e-10 2.15 0.03 59.4 Y N S Y H -999 +"1FGL J1109.9+7134" "BZB J1110+7133" 167.65666 71.56571 133.61394828 43.41082349 0.052 0.111 0.99 BLL HSP -999.0 < 9e-10 -999.0 2.28 0.36 4.4 N N S Y H -999 +"1FGL J1048.8+7145" "CGRaBS J1048+7143" 162.11508 71.72664 135.44524197 42.28556568 0.041 0.078 1.0 FSRQ LSP 1.15 -999 1.6e-09 3e-10 2.47 0.13 10.0 N N S Y H -999 +"1FGL J1941.6+7214" "CRATES J1941+7221" 295.36242 72.36172 104.31310338 22.09639761 0.126 0.134 0.91 Unknown -999 -999.0 -999 1.7e-09 3e-10 2.58 0.13 9.3 N N S Y H -999 +"1FGL J2009.1+7228" "4C +72.28" 302.46792 72.48872 105.35515096 20.18082991 0.056 0.092 0.99 BLL LSP -999.0 -999 1.6e-09 4e-10 2.45 0.15 6.9 N N S Y H -999 +"1FGL J0203.5+7234" "CGRaBS J0203+7232" 30.88912 72.54825 128.34782971 10.43915671 0.026 0.063 1.0 BLL -999 -999.0 -999 1.7e-09 4e-10 2.29 0.13 8.0 N N S Y H -999 +"1FGL J1048.5+7239" "CRATES J1047+7238" 161.948 72.63695 134.74983748 41.53491945 0.063 0.125 0.98 Unknown -999 -999.0 -999 7e-10 2e-10 2.25 0.23 5.4 N N S Y H -999 +"1FGL J0639.9+7325" "CGRaBS J0639+7324" 99.8415 73.41611 141.27185452 25.06475048 0.039 0.142 1.0 FSRQ LSP 1.854 -999 6e-10 3e-10 2.73 0.17 6.5 N N S Y H -999 +"1FGL J0217.8+7353" "1ES 0212+735" 34.37842 73.82572 128.9272324 11.96422607 0.061 0.149 0.99 FSRQ LSP 2.367 -999 1e-09 4e-10 2.85 0.13 6.7 Y N S N H -999 +"1FGL J0515.2+7355" "CLASS J0516+7351" 79.12993 73.8524 138.62957784 19.77873662 0.115 0.167 0.0 BLL -999 0.249 -999 7e-10 3e-10 2.04 0.25 5.0 N N -999 N A -999 +"1FGL J0745.2+7438" "1ES 0737+746" 116.02192 74.566 140.26584055 29.56916644 0.11 0.111 0.97 BLL HSP 0.315 -999 5e-10 2e-10 1.7 0.25 5.2 N N S Y H -999 +"1FGL J0804.7+7534" "RX J0805.4+7534" 121.36042 75.57361 138.89625447 30.79478887 0.042 0.073 1.0 BLL HSP 0.121 -999 1.4e-09 3e-10 1.86 0.14 10.3 N N S Y H -999 +"1FGL J2020.4+7608" "CGRaBS J2022+7611" 305.64829 76.19061 109.28572278 21.13217088 0.14 0.12 0.88 BLL -999 -999.0 -999 1.1e-09 3e-10 2.52 0.18 6.0 N N S Y H -999 +"1FGL J1358.1+7646" "CGRaBS J1357+7643" 209.48071 76.7225 118.02906083 39.76615567 0.053 0.112 0.99 FSRQ -999 1.585 -999 1.1e-09 2e-10 2.25 0.16 9.2 N N S Y H -999 +"1FGL J0707.3+7742" "FRBA J0706+7741" 106.71367 77.69349 136.77480645 27.27466826 0.027 0.088 0.0 Unknown -999 -999.0 -999 1.4e-09 3e-10 2.3 0.13 10.5 N N -999 N A -999 +"1FGL J2006.0+7751" "CGRaBS J2005+7752" 301.37917 77.87867 110.4647004 22.73430195 0.034 0.155 1.0 BLL LSP 0.342 -999 1.4e-09 3e-10 2.42 0.16 7.3 N N S Y H -999 +"1FGL J1800.4+7827" "CGRaBS J1800+7828" 270.19033 78.46778 110.03760531 29.06498982 0.013 0.06 1.0 BLL LSP 0.68 -999 3e-09 4e-10 2.35 0.07 20.5 Y N S Y H -999 +"1FGL J1306.0+7852" "CRATES J1305+7854" 196.25008 78.90992 122.1025058 38.19648107 0.066 0.116 0.97 Unknown -999 -999.0 -999 6e-10 2e-10 2.15 0.21 5.4 N N S Y H -999 +"1FGL J0354.6+8009" "CRATES J0354+8009" 58.69221 80.158 130.43291669 20.07668459 0.007 0.064 1.0 Unknown -999 -999.0 -999 2e-09 3e-10 2.5 0.08 15.0 Y N S Y H -999 +"1FGL J2341.6+8015" "FRBA J2340+8015" 355.22616 80.25447 119.84462826 17.80818855 0.033 0.042 1.0 BLL HSP 0.274 -999 2.8e-09 4e-10 2.21 0.08 14.7 N N S Y H -999 +"1FGL J1224.8+8044" "CRATES J1223+8040" 185.91875 80.66786 124.3266804 36.38508413 0.089 0.095 0.99 BLL LSP -999.0 -999 1e-09 3e-10 2.27 0.14 8.7 N N S Y H -999 +"1FGL J1048.7+8054" "CGRaBS J1044+8054" 161.09613 80.91094 128.73964041 34.73579802 0.173 0.168 0.88 FSRQ LSP 1.26 -999 9e-10 2e-10 2.95 0.13 10.6 Y N S Y H -999 +"1FGL J1536.6+8200" "CLASS J1537+8154" 234.25036 81.90862 116.55699756 33.05353349 0.104 0.09 0.82 Unknown -999 -999.0 -999 8e-10 2e-10 1.71 0.23 6.6 N N S Y H -999 +"1FGL J1635.4+8228" "NGC 6251" 248.13325 82.53789 115.76377564 31.19582666 0.116 0.089 0.88 AGN -999 0.025 -999 1.2e-09 3e-10 2.5 0.12 10.0 N N S Y H -999 +"1FGL J1321.3+8310" "CRATES J1321+8316" 200.43996 83.27039 121.86604893 33.79499743 0.088 0.111 0.93 Unknown -999 -999.0 -999 5e-10 2e-10 2.49 0.22 4.8 N N S Y H -999 diff --git a/source/installation/install_examples.tar b/source/downloads/install_examples.tar similarity index 100% rename from source/installation/install_examples.tar rename to source/downloads/install_examples.tar diff --git a/source/files/asciifiles.rst b/source/files/asciifiles.rst index e7d5265..4d312dd 100644 --- a/source/files/asciifiles.rst +++ b/source/files/asciifiles.rst @@ -1,14 +1,14 @@ :tocdepth: 2 -Several ways to handle ASCII data -********************************* +Reading and Writing tabular ASCII data +*************************************** Astronomers love storing tabular data in human-readable ASCII tables. Unfortunately there is very little agreement on a standard way to do this, unlike e.g. FITS. -Reading and Writing files in Pure Python -======================================== +Pure Python +=========== Reading ------- @@ -19,13 +19,18 @@ there are more types that we did not speak about. One of these is the Let's start off by downloading :download:`this <../downloads/data.txt>` data file, then launching IPython the directory where you have the file:: - $ ipython --pylab + $ ipython --matplotlib -If you have trouble downloading the file, then start up IPython (``ipython --pylab``) and enter:: +Do the usual imports of numpy and matplotlib:: - import urllib2 + import numpy as np + import matplotlib.pyplot as plt + +If you have trouble downloading the file, then from within IPython enter:: + + from astropy.extern.six.moves.urllib import request url = 'http://python4astronomers.github.com/_downloads/data.txt' - open('data.txt', 'wb').write(urllib2.urlopen(url).read()) + open('data.txt', 'wb').write(request.urlopen(url).read()) ls Now let's try and get the contents of the file into IPython. We start off by creating a file object:: @@ -68,20 +73,20 @@ Now ``data`` contains a string:: .. admonition:: Closing files - Usually, you should close file when you are done with it to free up - resources (memory). - If you only have a couple of files in an interactive session, that is not - dramatic. On the other hand, if you write scripts which deal with dozens of - files, then you should start worrying about these things. Often you will see + Usually, you should close file when you are done with it to free up + resources (memory). + If you only have a couple of files in an interactive session, that is not + dramatic. On the other hand, if you write scripts which deal with dozens of + files, then you should start worrying about these things. Often you will see things like this:: - + with open('data.txt', 'r') as f: # do things with your file data = f.read() - + type(data) - - Notice the indent under the ``with``. At the end of that block the + + Notice the indent under the ``with``. At the end of that block the file is automatically closed, even if things went wrong and an error occured inside the ``with`` block. @@ -90,12 +95,12 @@ But what we'd really like to do is read the file line by line. There are several f = open('data.txt', 'r') for line in f: - print repr(line) + print(repr(line)) Notice the indent before ``print``, which is necessary to indicate that we are inside the loop (there is no ``end for`` in Python). Note that we are using ``repr()`` to show any invisible characters (this will be useful in a minute). The output should now look something like this:: >>> for line in f: - print repr(line) + print(repr(line)) 'RAJ DEJ Jmag e_Jmag\n' '2000 (deg) 2000 (deg) 2MASS (mag) (mag) \n' @@ -178,8 +183,8 @@ We can put all this together to write a little script to read the data from the columns = line.split() name = columns[2] j = float(columns[3]) - print name, j - + print(name, j) + f.close() The output should look like this:: @@ -311,105 +316,50 @@ And a possible one-liner!::
-Numpy -===== -Numpy provides two functions to read in ASCII data. ``np.loadtxt`` is meant for relatively simple tables without missing values:: - - from StringIO import StringIO # Pretends your variable is really a file - # because loadtxt expect a filename as input - c = StringIO("0 1\n2 3") - np.loadtxt(c) - -Here is a more complicated example, that is actually useful:: - - d = StringIO(''' - # Abundances of different elements - # for TW Hya - # taken from Guenther et al. (2007) - # element, abund, error, first-ionisation-potential [eV] - C 0.2 0.03 11.3 - N 0.51 0.05 14.6 - O 0.25 0.01 13.6 - Ne 2.46 0.08 21.6 - Fe 0.19 0.01 7.9 - ''') - data = np.loadtxt(d, dtype={'names': ('elem', 'abund', 'error', \ - 'FIP'),'formats': ('S2', 'f4', 'f4', 'f4')}) - - plt.errorbar(data['FIP'], data['abund'], yerr = data['error'], fmt = 'o') - -The resulting plot clearly shows the inverse first ionization potential effect. -That means, that elements of a large FIP are enhanced in the corona. - -The second command ``np.genfromtxt`` is more versatile. It can fill missing values in a table, read column names, exclude some columns etc. Here is an example:: - - d = StringIO(''' - #element abund error FIP - C 0.2 0.03 11.3 - N 0.51 0.05 14.6 - O 0.25 0.01 13.6 - Ne 2.46 0.08 21.6 - S nn nn 10.4 - Fe 0.19 0.01 7.9 - other elements were not meesured - ''') - data = np.genfromtxt(d, dtype=('S2', 'f4', 'f4', 'f4'), names = True, \ - skip_footer = 1, missing_values = ('nn'), filling_values=(np.nan)) - -Examine what was returned:: - - data - -This is an instance of the NumPy `structured array -`_ -type, which is an efficient way to manipulate records of tabular data. It stores -columns of typed data and you can access either a column of data or a row of -data at once:: - - data.dtype - data[1] - data['abund'] - -.. _`astropy.io.ascii.AASTex`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.latex.AASTex.html#astropy.io.ascii.latex.AASTex -.. _`astropy.io.ascii.Basic`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.basic.Basic.html#astropy.io.ascii.basic.Basic -.. _`astropy.io.ascii.Cds`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.cds.Cds.html#astropy.io.ascii.cds.Cds -.. _`astropy.io.ascii.CommentedHeader`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.basic.CommentedHeader.html#astropy.io.ascii.basic.CommentedHeader -.. _`astropy.io.ascii.Daophot`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.daophot.Daophot.html#astropy.io.ascii.daophot.Daophot -.. _`astropy.io.ascii.FixedWidth`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.fixedwidth.FixedWidth.html#astropy.io.ascii.fixedwidth.FixedWidth -.. _`astropy.io.ascii.Ipac`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.ipac.Ipac.html#astropy.io.ascii.ipac.Ipac -.. _`astropy.io.ascii.Latex`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.latex.Latex.html#astropy.io.ascii.latex.Latex -.. _`astropy.io.ascii.NoHeader`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.basic.NoHeader.html#astropy.io.ascii.basic.NoHeader -.. _`astropy.io.ascii.Rdb`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.basic.Rdb.html#astropy.io.ascii.basic.Rdb -.. _`astropy.io.ascii.SExtractor`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.sextractor.SExtractor.html#astropy.io.ascii.sextractor.SExtractor -.. _`astropy.io.ascii.Tab`: http://docs.astropy.org/en/v0.2.1/_generated/astropy.io.ascii.basic.Tab.html#astropy.io.ascii.basic.Tab -.. _`ascii.read()`: http://docs.astropy.org/en/v0.2.1/io/ascii/read.html#parameters-for-read +.. _`AASTex`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.AASTex.html +.. _`Basic`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.Basic.html +.. _`Cds`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.Cds.html +.. _`CommentedHeader`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.CommentedHeader.html +.. _`Daophot`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.daophot.Daophot.html +.. _`FixedWidth`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.FixedWidth.html +.. _`Ipac`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.Ipac.html +.. _`HTML`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.HTML.html +.. _`ECSV`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.Ecsv.html +.. _`Latex`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.Latex.html +.. _`NoHeader`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.NoHeader.html +.. _`Rdb`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.Rdb.html +.. _`SExtractor`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.SExtractor.html +.. _`Tab`: http://docs.astropy.org/en/stable/api/astropy.io.ascii.Tab.html +.. _`ascii.read()`: http://docs.astropy.org/en/stable/io/ascii/read.html#parameters-for-read astropy.io.ascii ================ -If you need even more flexibility, than the `astropy.io.ascii`_ module can help you. -It natively understands some very complex formats, e.g. the CDS machine readable tables and it can automatically detect any of those formats. -If also can format your output in LaTeX. - -The `astropy.io.ascii`_ module is an extensible ASCII table reader and writer that is -designed to handle most formats you will encounter in the wild: - -* `astropy.io.ascii.AASTex`_: AASTeX ``deluxetable`` used for AAS journals -* `astropy.io.ascii.Basic`_: basic table with customizable delimiters and header configurations -* `astropy.io.ascii.Cds`_: `CDS format table `_ (also Vizier and ApJ machine readable tables) -* `astropy.io.ascii.CommentedHeader`_: column names given in a line that begins with the comment character -* `astropy.io.ascii.Daophot`_: table from the IRAF DAOphot package -* `astropy.io.ascii.FixedWidth`_: table with fixed-width columns (see also `fixed_width_gallery `_) -* `astropy.io.ascii.Ipac`_: `IPAC format table `_ -* `astropy.io.ascii.Latex`_: LaTeX table with datavalue in the ``tabular`` environment -* `astropy.io.ascii.NoHeader`_: basic table with no header where columns are auto-named -* `astropy.io.ascii.Rdb`_: tab-separated values with an extra line after the column definition line -* `astropy.io.ascii.SExtractor`_: `SExtractor format table `_ -* `astropy.io.ascii.Tab`_: tab-separated values - -`astropy.io.ascii`_ is built on a modular and extensible class structure. This makes -is easy to create new classes, which implement the functionality for some -specific table format. +In the previous section you learned about reading and writing tabular data +files using direct Python I/O and simple parsing and type-conversion rules. +This is important base knowledge, but in real-world use when dealing with ASCII +data files there are many complications and we recommend using the +`astropy.io.ascii`_ module. It natively understands (and can automatically +detect) most of the formats which astronomers typically encounter. As of +Astropy 1.0 it includes C-based read and write methods which are much faster than +any pure-Python implementations. + +The `astropy.io.ascii`_ module supports these formats: + +* `AASTex`_: AASTeX ``deluxetable`` used for AAS journals +* `Basic`_: basic table with customizable delimiters and header configurations +* `Cds`_: `CDS format table `_ (also Vizier and ApJ machine readable tables) +* `CommentedHeader`_: column names given in a line that begins with the comment character +* `Daophot`_: table from the IRAF DAOphot package +* `ECSV`_: Enhanced Character-Separated-Values +* `FixedWidth`_: table with fixed-width columns (see also `fixed_width_gallery `_) +* `Ipac`_: `IPAC format table `_ +* `HTML`_: HTML format table contained in a tag +* `Latex`_: LaTeX table with datavalue in the ``tabular`` environment +* `NoHeader`_: basic table with no header where columns are auto-named +* `Rdb`_: tab-separated values with an extra line after the column definition line +* `SExtractor`_: `SExtractor format table `_ +* `Tab`_: tab-separated values Reading tables -------------- @@ -444,7 +394,7 @@ to figure out (or guess): By default `astropy.io.ascii`_ will try each format it knows and use the first one that gives a "reasonable" answer. The details are in the `Guess table format -`_ section. +`_ section. Sometimes it will fail, e.g.:: table = """ @@ -462,7 +412,7 @@ In this case you simply need to give it some help:: ascii.read(table, delimiter="&") The full list of parameters for reading includes common options like -``Reader``, ``delimiter``, ``quote_char``, and ``comment``. +``format``, ``delimiter``, ``quote_char``, and ``comment``. No guessing @@ -473,7 +423,7 @@ the relevant table format information to the `ascii.read()`_ function. A big advantage in this strategy is that `astropy.io.ascii`_ can then provide more detailed information if it still fails to parse the table, e.g.:: - ascii.read(table, guess=False, Reader=ascii.Basic) + ascii.read(table, guess=False, format='basic') This produces a message (after the stacktrace) that should be a pretty good clue that `astropy.io.ascii`_ is using the wrong column delimiter:: @@ -486,12 +436,10 @@ clue that `astropy.io.ascii`_ is using the wrong column delimiter:: Writing ------- -You can write ASCII tables using the `ascii.write() `_ function. There is a lot of flexibility in the format of the input data to be written: +You can write ASCII tables using the `ascii.write() `_ function. There is a lot of flexibility in the format of the input data to be written: -- Existing ASCII table with metadata -- Data from ascii.read() - NumPy structured array or record array -- astropy.table.Table object +- astropy Table object - Sequence of sequences - Dict of sequences @@ -513,7 +461,7 @@ We can use a different column delimiter:: or a different table writer class:: - ascii.write(dat, sys.stdout, Writer=ascii.Latex) + ascii.write(dat, sys.stdout, format='latex') As a final example, imagine you've gathered basic information about 5 galaxies which you want to write as an ASCII table. You could just use pure Python file I/O as @@ -530,20 +478,32 @@ rewrite the same code every time when it is already done!). Instead just use `a .. admonition:: Exercise: scraping table data from the web + *Note: this exercise only works on Python 2 due to BeautifulSoup doing something + differently in Python 3. Five cheers to the person who can fix this!* + To do this exercise you must first install the `BeautifulSoup `_ package which will parse HTML pages into nice data structures. **QUIT** your IPython session and from the command line do:: - - pip install --upgrade [--user] BeautifulSoup - Use the ``--user`` flag if you prefer to install the package into your local - user area instead of within the system Python installation. + pip install --upgrade beautifulsoup4 - Now start IPython again and define the following function which converts an - HTML table to a list of lines with tab-separated values (this will be more - clear in the next part):: + Now start IPython again. The exercise is to grab the table data from the + `XJET catalog page `_ into a Python data + structure. First we'll show you the really easy answer using the HTML + reading capability of `astropy.io.ascii`_:: - from BeautifulSoup import BeautifulSoup + dat = ascii.read('http://hea-www.harvard.edu/XJET/', + format='html', + htmldict={'table_id':2}, # Get data from the second table + fill_values=('', '-1'), # Fill blank entries with -1 + header_start=0, # Row 0 is header with column names + data_start=1) # Row 1 is start of table data + + But in order to understand the guts of how this works, start by defining + following function which converts an HTML table to a list of lines with + tab-separated values (this will be more clear in the next part):: + + from bs4 import BeautifulSoup def html2tsv(html, index=0): """Parse the index'th HTML table in ``html``. Return table as a list of tab-separated ASCII table lines""" @@ -556,13 +516,11 @@ rewrite the same code every time when it is already done!). Instead just use `a out.append('\t'.join(colvals)) return out - Now the exercise is to grab the table data from the `XJET catalog page - `_ into a Python data structure. You'll - want to start with:: + You'll want to start with:: - import urllib2 + from astropy.extern.six.moves.urllib import request from astropy.io import ascii - html = urllib2.urlopen('http://hea-www.harvard.edu/XJET/').read() # Get web page as string + html = request.urlopen('http://hea-www.harvard.edu/XJET/').read() # Get web page as string table1 = html2tsv(html, 0) # Parse the first table in the web page table2 = html2tsv(html, 1) # Parse the second table table3 = html2tsv(html, 2) # Parse the third table @@ -573,7 +531,7 @@ rewrite the same code every time when it is already done!). Instead just use `a **HINT**: the table has missing values so include ``fill_values=('', '-1')`` in the call to `ascii.read()`_. `astropy.io.ascii`_ has robust functionality to `replace bad or - missing values `_. + missing values `_. .. raw:: html @@ -581,10 +539,11 @@ rewrite the same code every time when it is already done!). Instead just use `a The data are in the second table, so do:: - dat = asciitable.read(table2, fill_values=('', '-1')) + dat = ascii.read(table2, fill_values=('', '-1')) + print(dat) + dat.colnames dat.dtype - dat.dtype.names - hist(dat['z'], bins=50) + plt.hist(dat['z'], bins=50) .. image:: xjet_hist.png :scale: 50 @@ -593,4 +552,71 @@ The data are in the second table, so do:: +Numpy +===== +Numpy provides two functions to read in ASCII data which we describe here for +completeness. In most cases the `astropy.io.ascii`_ functionality is +recommended since it is more flexible and generally faster. + +``np.loadtxt`` is meant for relatively simple tables without missing values:: + + # Pretend your variable is really a file because loadtxt expect + # a filename as input + from astropy.extern.six.moves import cStringIO as StringIO + + c = StringIO("0 1\n2 3") + np.loadtxt(c) + +Here is a more complicated example, that is actually useful:: + + d = StringIO(''' + # Abundances of different elements + # for TW Hya + # taken from Guenther et al. (2007) + # element, abund, error, first-ionisation-potential [eV] + C 0.2 0.03 11.3 + N 0.51 0.05 14.6 + O 0.25 0.01 13.6 + Ne 2.46 0.08 21.6 + Fe 0.19 0.01 7.9 + ''') + data = np.loadtxt(d, dtype={'names': ('elem', 'abund', 'error', \ + 'FIP'),'formats': ('S2', 'f4', 'f4', 'f4')}) + + plt.errorbar(data['FIP'], data['abund'], yerr = data['error'], fmt = 'o') + +The resulting plot clearly shows the inverse first ionization potential effect. +That means, that elements of a large FIP are enhanced in the corona. + +The second command ``np.genfromtxt`` is more versatile. It can fill missing +values in a table, read column names, exclude some columns etc. Here is an +example (which only works in Python 2 as of Numpy 1.9):: + + d = StringIO(''' + #element abund error FIP + C 0.2 0.03 11.3 + N 0.51 0.05 14.6 + O 0.25 0.01 13.6 + Ne 2.46 0.08 21.6 + S nn nn 10.4 + Fe 0.19 0.01 7.9 + other elements were not meesured + ''') + data = np.genfromtxt(d, dtype=('S2', 'f4', 'f4', 'f4'), names = True, \ + skip_footer = 1, missing_values = ('nn'), filling_values=(np.nan)) + +Examine what was returned:: + + data + +This is an instance of the NumPy `structured array +`_ +type, which is an efficient way to manipulate records of tabular data. It stores +columns of typed data and you can access either a column of data or a row of +data at once:: + + data.dtype + data[1] + data['abund'] + .. include:: ../references.rst diff --git a/source/files/atpy.rst b/source/files/atpy.rst deleted file mode 100644 index f3eac29..0000000 --- a/source/files/atpy.rst +++ /dev/null @@ -1,128 +0,0 @@ -:tocdepth: 2 - -ATpy -==== - -`ATpy `_ is a high-level Python package providing a way to manipulate tables of astronomical data in a uniform way. The two main features of ATpy are: - -* It provides an abstract Table object that contains tabular data along with - meta-data to describe the columns, and methods to manipulate the table (e.g. - adding/removing/renaming columns, selecting rows, changing values, sorting, - ...). - -* It provides built-in support for reading and writing to several common - file/database formats, including FITS, VO, HDF5, and ASCII tables, as well - as SQLite, MySQL and PostgreSQL databases, with a very simple interface. - -Reading in an existing table ----------------------------- - -First, download :download:`this <../downloads/catalog.fits.gz>` FITS table, then launch IPython in the directory where you have the file:: - - $ ipython --pylab - -If you have trouble downloading the file, then start up IPython (``ipython --pylab``) and enter:: - - import urllib2 - url = 'http://python4astronomers.github.com/_downloads/catalog.fits.gz' - open('catalog.fits.gz', 'wb').write(urllib2.urlopen(url).read()) - ls - -Then import ``atpy``:: - - import atpy - -and read in the table:: - - t = atpy.Table('catalog.fits.gz') - -We can now see what columns are available in the table:: - - >>> t.describe() - Table : MY CATALOG - -------------------------------------- - | Name | Unit | Type | Format | - -------------------------------------- - | SOURCEID | | |S20 | 68s | - | RA | RADIANS | >f8 | 25.17e | - | DEC | RADIANS | >f8 | 25.17e | - | EPOCH | | >f8 | 25.17e | - | LAMBDA | | >f8 | 25.17e | - | ETA | | >f8 | 25.17e | - | DISTANCE | | >f8 | 25.17e | - -------------------------------------- - -and how many lines there are:: - - >>> len(t) - 1002 - -To access a particular column, use:: - - >>> t['RA'] - array([ 4.64681193, 4.64686867, 4.64682644, ..., 4.64694334, - 4.64690389, 4.64698136]) - -As you can see, a single column is returned as a Numpy array, so any Numpy operation will work on this:: - - >>> t['RA'].min() - 4.6465723005143351 - - >>> t['RA'].max() - 4.6472357622326737 - -and you can then specify a particular row to access a single value:: - - >>> t['RA'][4] - 4.6467757499903897 - -Let's select a subset of the table:: - - >>> tsub = t.where(t['RA'] < 4.647) - >>> len(tsub) - 742 - -And we can also remove the ``'DISTANCE'`` column which we don't care about:: - - tsub.remove_columns('DISTANCE') - -As you can see, the column is no longer there:: - - >>> tsub.describe() - Table : MY CATALOG - -------------------------------------- - | Name | Unit | Type | Format | - -------------------------------------- - | SOURCEID | | |S20 | 68s | - | RA | RADIANS | >f8 | 25.17e | - | DEC | RADIANS | >f8 | 25.17e | - | EPOCH | | >f8 | 25.17e | - | LAMBDA | | >f8 | 25.17e | - | ETA | | >f8 | 25.17e | - -------------------------------------- - -We can sort the table by Declination:: - - tsub.sort('DEC') - -Finally, let's write out this sub-table as an IPAC table:: - - tsub.write('subset.tbl') - -Creating a table from scratch ------------------------------ - -Making a table from scratch is also very easy:: - - t = atpy.Table() - t.add_column('time', [1., 2., 3]) - t.add_column('flux', [7.2, 1.1, 5.9]) - -and you can then write this out to e.g. a FITS file:: - - t.write('simple.fits') - -And much more! --------------- - -For more information on how to use ATpy, see the `Documentation `_. diff --git a/source/files/binaryfiles.rst b/source/files/binaryfiles.rst index e460319..ebc0ecb 100644 --- a/source/files/binaryfiles.rst +++ b/source/files/binaryfiles.rst @@ -1,30 +1,33 @@ +.. include:: ../references.rst + :tocdepth: 2 -Binary formats useful for astronomers -************************************* +Reading and Writing binary data +******************************* -astropy.io.fits - Reading and writing fits files -================================================ +astropy.io.fits +=============== -`astropy.io.fits `_ is a Python module developed at STScI to read and write all types of fits files. The full html manual is available `here `_. +`astropy.io.fits`_ is a Python module developed at STScI to read and write all types of FITS files. .. admonition:: External resource! - The astropy.io.fits tutorial itself is good for our purpose and since this - is the internet I will not reinvent the wheel. Read the manual `here `_ + The `astropy.io.fits`_ tutorial itself is good for our purpose and since this + is the internet I will not reinvent the wheel. Read the manual then come back to this page for an exercise. .. admonition:: Exercise - Use the following code to download a fits file for this exercise:: + Use the following code to download a FITS file for this exercise:: - import urllib2, tarfile + from astropy.extern.six.moves.urllib import request + import tarfile url = 'http://python4astronomers.github.com/core/core_examples.tar' - tarfile.open(fileobj=urllib2.urlopen(url), mode='r|').extractall() + tarfile.open(fileobj=request.urlopen(url), mode='r|').extractall() cd py4ast/core ls - Read in the fits file. Find the time and date of the observation. Then use ``plt.imshow()`` to display the intensity array using some sensible minimum and maximum value so that the spectrum is visible. + Read in the FITS file. Find the time and date of the observation. Then use ``plt.imshow()`` to display the intensity array using some sensible minimum and maximum value so that the spectrum is visible. .. raw:: html @@ -47,7 +50,7 @@ Here is a possible solution:: plt.colorbar() You might recognize this piece of code. It was used before in -the :doc:`../core/numpy_scipy` part of the tutorial, but now you should understand the ``astropy.io.fits`` commands in more detail. +the :doc:`../core/numpy_scipy` part of the tutorial, but now you should understand the `astropy.io.fits`_ commands in more detail. .. raw:: html @@ -58,14 +61,14 @@ the :doc:`../core/numpy_scipy` part of the tutorial, but now you should understa Reading IDL .sav files ====================== -IDL is still a very common tool in astronomy. While IDL packages exist to read and write data in simple (ASCII) or standardized file formats (fits), that users of all platforms can use, IDL also offers a binary file format with an undocumented, proprietary structure. However, acess to this file format (usually called ``.sav``) is very simple and convenient in IDL. Therefore, many IDL users dump their data in this way and you might be forced to read ``.sav`` files a collegue has sent you. +IDL is still a very common tool in astronomy. While IDL packages exist to read and write data in simple (ASCII) or standardized file formats (FITS), that users of all platforms can use, IDL also offers a binary file format with an undocumented, proprietary structure. However, acess to this file format (usually called ``.sav``) is very simple and convenient in IDL. Therefore, many IDL users dump their data in this way and you might be forced to read ``.sav`` files a collegue has sent you. Here is an examplary ``.sav`` :download:`file <../downloads/myidlfile.sav>`. If you have trouble downloading the file, then use IPython:: - import urllib2 + from astropy.extern.six.moves.urllib import request url = 'http://python4astronomers.github.com/_downloads/myidlfile.sav' - open('myidlfile.sav', 'wb').write(urllib2.urlopen(url).read()) + open('myidlfile.sav', 'wb').write(request.urlopen(url).read()) ls @@ -73,27 +76,11 @@ What can you do? 1. Convert your collegue to use a different file format. 2. Read that file in python. -If you have a relatively recent version (at least 0.9) of ``scipy`` then this is a matter of two lines:: +With any relatively recent version ``scipy`` (at least 0.9) then this is a matter of two lines:: from scipy.io.idl import readsav data = readsav('myidlfile.sav') -If your scipy is older, then you need to install the package `idlsave `_ yourself. -(Go back to :doc:`../installation/packages` for details on package installation.) - -In a normal terminal (outside ``ipython``) do:: - - pip install --upgrade idlsave - -or, if you install packages as root user on your system:: - - sudo pip install --upgrade idlsave - -Then import the package and read the data:: - - import idlsave - data = idlsave.read('myidlfile.sav') - .. admonition:: Exercise: Where is your data? ``idlsave`` already prints some information on the screen while reading the file. Inspect the object ``data``, find out how you use it and plot diff --git a/source/files/files.rst b/source/files/files.rst index d10a99c..958788a 100644 --- a/source/files/files.rst +++ b/source/files/files.rst @@ -19,7 +19,6 @@ Pure Python primer ../python/types asciifiles.rst binaryfiles.rst - atpy.rst summary.rst :Authors: Tom Robitaille, Tom Aldcroft, Moritz Guenther diff --git a/source/files/summary.rst b/source/files/summary.rst index ab0a117..72f1b92 100644 --- a/source/files/summary.rst +++ b/source/files/summary.rst @@ -38,9 +38,10 @@ Here are some hints: Download the example :download:`data <../downloads/files-excercise.tar.gz>`:: - import urllib2, tarfile + from astropy.extern.six.moves.urllib import request + import tarfile url = 'http://python4astronomers.github.com/_downloads/files-excercise.tar.gz' - tarfile.open(fileobj=urllib2.urlopen(url), mode='r|gz').extractall() + tarfile.open(fileobj=request.urlopen(url), mode='r|gz').extractall() cd files ls diff --git a/source/fitting/classes.rst b/source/fitting/classes.rst index 8f91ca5..46904c2 100644 --- a/source/fitting/classes.rst +++ b/source/fitting/classes.rst @@ -5,10 +5,12 @@ Python Classes Basics ^^^^^^ -Begin by starting IPython with pylab:: +Begin by starting IPython and importing numpy and matplotlib:: - $ ipython --pylab + $ ipython --matplotlib + import numpy as np + import matplotlib.pyplot as plt Classes definitions include the ``class`` declaration, an identifier, and a colon:: @@ -25,12 +27,12 @@ declaration indicating a no-op. Class instances are mutable, meaning that attributes and functions can be added after instantiation:: - print h.msg + print(h.msg) There is no attribute ``msg``, so add one:: h.msg = "Hello World!" - print h.msg + print(h.msg) Create a class with a static string attribute ``msg1`` and a class method ``echo`` to print the attribute. Comments begin with a ``#`` and extend to the @@ -40,12 +42,12 @@ end of the line:: # static attribute string "msg1" msg1 = "Hello" def echo(self): - print self.msg1 + print(self.msg1) - print "Hello's msg1:", Hello.msg1 + print("Hello's msg1: {0}".format(Hello.msg1)) h = Hello() h.echo() - print h + print(h) Create a class with a constructor definition. Initialize an attribute ``msg2`` at class instance creation time:: @@ -56,11 +58,11 @@ at class instance creation time:: # attribute "msg2" initialized in constructor self.msg2 = msg2 def echo(self): - print self.msg2 + print(self.msg2) w = World() w.echo() - print w + print(w) Multiple Inheritance @@ -87,7 +89,7 @@ return the attribute ``msg3`` when the class instance is printed with hw = HelloWorld() hw.echo() - print hw + print(hw) Class ``HelloWorld`` is of type ``Hello``, ``World``, and ``HelloWorld``:: @@ -126,12 +128,12 @@ language operators. Define how a class behaves using the '+' operator:: class Hello: msg = "Hello" def __add__(self, lhs): - print self.msg + lhs.msg + print(self.msg + lhs.msg) class World: msg = "World" def __add__(self, rhs): - print self.msg + rhs.msg + print(self.msg + rhs.msg) Hello() + World() World() + Hello() diff --git a/source/fitting/fitting.rst b/source/fitting/fitting.rst index 6a5feb1..8e5b718 100644 --- a/source/fitting/fitting.rst +++ b/source/fitting/fitting.rst @@ -15,6 +15,10 @@ Workshop goals are to use Sherpa to: - Fit the MAST 3C 273 data using the low-level API +.. Note:: + + Sherpa currently does not support Python 3. + **Agenda** .. toctree:: diff --git a/source/fitting/image.rst b/source/fitting/image.rst index da8c5c2..3785301 100644 --- a/source/fitting/image.rst +++ b/source/fitting/image.rst @@ -7,14 +7,19 @@ Fit image data of a supernova remnant G21.5-0.9 using a 2-D multi-component source model. First, download the FITS image of :download:`G21.5-0.9 <./image2.fits>` and start IPython:: - $ ipython --pylab + $ ipython --matplotlib + +Do the usual imports of numpy and matplotlib:: + + import numpy as np + import matplotlib.pyplot as plt If you have trouble accessing the image you can download it straight away using Python:: - import urllib2 + from astropy.extern.six.moves.urllib import request url = "http://python4astronomers.github.com/_downloads/image2.fits" - open("image2.fits", "wb").write(urllib2.urlopen(url).read()) + open("image2.fits", "wb").write(request.urlopen(url).read()) ls Here we eschew the advice of keeping modules separate and load the @@ -340,7 +345,7 @@ ERF(sigma/SQRT(2)). We can invert this operation using the inverse error-function found in SciPy in the special functions module:: import scipy.special - print scipy.special.erfinv(0.90)*numpy.sqrt(2) + print(scipy.special.erfinv(0.90) * numpy.sqrt(2)) .. raw:: html @@ -355,7 +360,7 @@ Save the 90% calculated parameter limits:: f.write("NAME VALUE MIN MAX\n") for name, val, minval, maxval in zip(results.parnames,results.parvals,results.parmins,results.parmaxes): line = [name, str(val), str(val+minval), str(val+maxval)] - print line + print(line) f.write(" ".join(line)+"\n") f.close() diff --git a/source/fitting/installation.rst b/source/fitting/installation.rst index 242d2ed..8a7bf45 100644 --- a/source/fitting/installation.rst +++ b/source/fitting/installation.rst @@ -12,7 +12,7 @@ Sherpa Installation In order to follow along with the Sherpa examples presented in this workshop, you can use -`Sherpa in CIAO 4.4 `_, +`Sherpa in CIAO `_, or install the stand-alone version described below. .. Note:: diff --git a/source/fitting/low-level.rst b/source/fitting/low-level.rst index 5d3478e..7c7767b 100644 --- a/source/fitting/low-level.rst +++ b/source/fitting/low-level.rst @@ -1,3 +1,4 @@ +.. include:: ../references.rst The low-level Sherpa API ------------------------ @@ -9,17 +10,20 @@ Explore the Sherpa Object Model ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In a new working directory, download a MAST spectrum of :download:`3C 273 <./3c273.fits>` -and start IPython:: +and start IPython along with the standard imports:: - $ ipython --pylab + $ ipython --matplotlib + + import numpy as np + import matplotlib.pyplot as plt If you have trouble accessing the spectrum you can download it straight away using Python:: - import urllib2 + from astropy.extern.six.moves.urllib import request url = 'http://python4astronomers.github.com/_downloads/3c273.fits' - open('3c273.fits', 'wb').write(urllib2.urlopen(url).read()) - ls + open('3c273.fits', 'wb').write(request.urlopen(url).read()) + %ls Import a few Sherpa classes needed to characterize a fit:: @@ -29,10 +33,10 @@ Import a few Sherpa classes needed to characterize a fit:: from sherpa.optmethods import LevMar from sherpa.fit import Fit -Import the Python FITS reader ``pyfits`` and open the spectrum as a table:: +Import the Python FITS reader `astropy.io.fits`_ and open the spectrum as a table:: - import pyfits - dat = pyfits.open('3c273.fits')[1].data + from astropy.io import fits + dat = fits.open('3c273.fits')[1].data Access the `WAVELENGTH` and `FLUX` columns from the pyFITS ``RecArray``. Populate variables represented as ``wave``, ``flux``, and ``err``. Normalize the flux and assume @@ -47,13 +51,13 @@ Create a Sherpa ``Data1D`` data set from the NumPy arrays ``wave``, ``flux``, an ``x``, ``y``, and ``staterror``:: data = Data1D('3C 273', wave, flux, err) - print data + print(data) Array access:: - print 'x', data.x - print 'y', data.y - print 'err', data.staterror + print('x {0}'.format(data.x)) + print('y {0}'.format(data.y)) + print('err {0}'.format(data.staterror)) Define a convenience function ``plot_data`` that calls the matplotlib functions @@ -65,10 +69,10 @@ in the Sherpa data set using our new function and its default arguments:: def plot_data(x, y, err=None, fmt='.', clear=True): if clear: - clf() - plot(x, y, fmt) + plt.clf() + plt.plot(x, y, fmt) if err is not None: - errorbar(x, y, err, fmt=None, ecolor='b') + plt.errorbar(x, y, err, fmt=None, ecolor='b') plot_data(data.x, data.y, data.staterror) @@ -83,9 +87,9 @@ the ``name`` and ``val`` attributes:: pl = PowLaw1D('pl') pl.pars for par in pl.pars: - print par.name, par.val + print('{0} {1}'.format(par.name, par.val)) - print pl + print(pl) Set the power-law reference to be 4000 Angstroms and print out the ``PowLaw1D`` object and its parameter information. Each model parameter is accessible as an @@ -93,11 +97,11 @@ attribute its model. For example, the power-law amplitude is referenced with ``pl.ampl``:: pl.ref = 4000. - print pl + print(pl) Model parameters are themselves class objects:: - print pl.ampl + print(pl.ampl) .. admonition:: Exercise (for the interested reader): Special methods and properties @@ -151,9 +155,9 @@ optimization method. Fit the spectrum to a power-law with least squares f = Fit(data, pl, Chi2DataVar(), LevMar()) result = f.fit() - print result + print(result) # or alternatively - print result.format() + print(result.format()) Over-plot the fitted model atop the data points using our convenience function ``plot_data``. This time calculate the model using the best-fit parameter diff --git a/source/fitting/sherpa.rst b/source/fitting/sherpa.rst index 6362786..f0f0ea2 100644 --- a/source/fitting/sherpa.rst +++ b/source/fitting/sherpa.rst @@ -58,23 +58,25 @@ If you still have the 3C120 data from the `NumPy introduction <../core/numpy_scipy.html#setup>`_ then go to the py4ast/core directory, otherwise :: - $ ipython --pylab - import urllib2, tarfile + $ ipython --matplotlib + + from astropy.extern.six.moves.urllib import request + import tarfile url = 'http://python4astronomers.github.com/core/core_examples.tar' - tarfile.open(fileobj=urllib2.urlopen(url), mode='r|').extractall() + tarfile.open(fileobj=request.urlopen(url), mode='r|').extractall() cd py4ast/core -Now we load the Sherpa UI module :: +Now we load the Sherpa UI module and other requirements:: import sherpa.astro.ui as ui import numpy as np - import pyfits + from astropy.io import fits # import pycrates # import pychips and then the data, using the ``load_arrays`` command :: - img = pyfits.open('3c120_stis.fits.gz')[1].data + img = fits.open('3c120_stis.fits.gz')[1].data # cr = pycrates.read_file('3c120_stis.fits.gz') # img = pycrates.get_piximgvals(cr) profile = img.sum(axis=1) @@ -369,7 +371,8 @@ current session as a single file.:: This file can then be loaded into a new session with the ``restore`` command.:: - ipython --pylab + $ ipython --matplotlib + In [1]: import sherpa.astro.ui as ui In [2]: ui.restore("simple1.sherpa") diff --git a/source/fitting/spectrum.rst b/source/fitting/spectrum.rst index 0bb5759..59dcb34 100644 --- a/source/fitting/spectrum.rst +++ b/source/fitting/spectrum.rst @@ -1,3 +1,5 @@ +.. include:: ../references.rst + 1-D data with errors -------------------- @@ -8,14 +10,14 @@ three arrays: x values, y values, and errors on the y values. In a new working directory, download a MAST spectrum of :download:`3C 273 <./3c273.fits>` and start IPython :: - $ ipython --pylab + $ ipython --matplotlib If you have trouble accessing the spectrum you can download it straight away using Python :: - import urllib2 + from astropy.extern.six.moves.urllib import request url = 'http://python4astronomers.github.com/_downloads/3c273.fits' - open('3c273.fits', 'wb').write(urllib2.urlopen(url).read()) + open('3c273.fits', 'wb').write(request.urlopen(url).read()) We also need to load in Sherpa :: @@ -37,11 +39,11 @@ Loading the data .. Note:: The ``load_data`` command may not work in the stand-alone version of - Sherpa. If not, you can use ``pyfits`` to load in the data and then + Sherpa. If not, you can use `astropy.io.fits`_ to load in the data and then ``load_arrays``, for example:: - import pyfits - dat = pyfits.open('3c273.fits')[1].data + from astropy.io import fits + dat = fits.open('3c273.fits')[1].data wlen = dat.field('WAVELENGTH') flux = dat.field('FLUX') ui.load_arrays(1, wlen, flux) diff --git a/source/index.rst b/source/index.rst index a868041..e433888 100644 --- a/source/index.rst +++ b/source/index.rst @@ -32,10 +32,21 @@ encounter in research.* plotting/plotting files/files fitting/fitting - vo/vo astropy/astropy astropy-UVES/UVES + +**Archival topic** + +The following topic is based on packages that are not being actively +developed and have been superceded. However there are still useful concepts +presented here and we keep it for reference. + +.. toctree:: + :maxdepth: 1 + + vo/vo + .. toctree:: :hidden: diff --git a/source/installation/packages.rst b/source/installation/packages.rst index a578bfb..f5ea5f7 100644 --- a/source/installation/packages.rst +++ b/source/installation/packages.rst @@ -18,8 +18,9 @@ modules is useful because of the ability to `import `_ the module functionality into your script or IPython session, for instance:: - import atpy - data = atpy.Table('my_table.fits') + import astropy + import astropy.table + data = astropy.table.Table.read('my_table.fits') You'll see ``import`` in virtually every Python script and soon it will be second nature. @@ -50,7 +51,7 @@ second nature. current namespace (in other words make them available without prefixing). For instance you could do:: - from atpy import * + from astropy.table import * data = Table('my_table.fits') A general rule of thumb is that ``from import *`` is OK for @@ -158,7 +159,7 @@ process you already saw many examples of ``pip install`` in action. Features in - Will accept a local tar file (assuming it contains an installable Python package) or a URL pointing to a tar file. - Can install in the user package area via ``pip install - --user`` (see discussion further down) + --user`` (but see discussion further down) **python setup.py install** @@ -189,9 +190,20 @@ Where do packages get installed? An important option in the installation process is where to put the package files. We've seen the ``--user`` option in ``pip install`` and ``python -setup.py install``. What's up with that? In general, if you don't have to you -should not use ``--user``, but see the discussion in `Multiple Pythons on -your computer`_ for a reason you might. +setup.py install``. What's up with that? In the section below we document +how this works. See the discussion in `Multiple Pythons on +your computer`_ for a reason you might want to do this, but first please read +this warning: + +.. Warning:: + + We strongly recommend against installing packages with ``--user`` unless you + are an expert and really understand what you are doing, . This is because + the local user version will always take precedence and can thus potentially + disrupt other Python installations and cause hard-to-understand problems. + Big analysis packages like CIAO, STSci_Python or CASA are carefully tested + assuming the integrated environment they provide. If you start mucking this + up then all bets are off. WITH ``--user`` ################ @@ -199,7 +211,7 @@ WITH ``--user`` Packages get installed in a local user-owned directory when you do something like either of the following:: - pip install --user asciitable + pip install --user aplpy python setup.py install --user This puts the packages into: @@ -211,19 +223,24 @@ Windows %APPDATA%/Python/Python2x/site-packages ======= ============================================== .. Note:: - On Mac if you did not use the EPD Python Framework then you may see user + On Mac if you did not use Anaconda or the EPD Python Framework then you may see user packages within ``~/.local/lib`` as for linux. This depends on whether Python is installed as a MacOS Framework or not. WITHOUT ``--user`` ################### -This option may require root or admin privilege because the package will be -installed in the system area instead of your own local directories. -*For most astronomers running on a single-user machine this is a good option.* +If you use Anaconda or a non-root Python installation then there is no issue +with permissions on any platform since the entire installation is local to a +directory you own. -Installing this way has the benefit of making the package available for all users of the -Python installation, but has the downside that it is a bit more difficult to back out changes if required. +However, installing to a system-wide Python installation will require root or +admin privilege. Installing this way has the benefit of making the package +available for all users of the Python installation, but has the downside that +it is more difficult to back out changes if required. In general we recommend +using *only* the system package manager (e.g. ``yum``) to install packages to +the system Python. This will ensure integrity of your system Python, which is +important even if you are the only user. How do I find a package once installed? ####################################### @@ -253,9 +270,10 @@ This gives something like:: Uninstalling packages ^^^^^^^^^^^^^^^^^^^^^^^ -There is no simple and fully consistent way to do this. The Python -community is working on this one. In most simple cases, however, you can just -delete the module file or directory that is revealed by the technique shown above. +There is no simple and fully consistent way to do this unless you use solutions +like Anaconda or Canopy. The Python community is working on this one. In most +simple cases, however, you can just delete the module file or directory that is +revealed by the technique shown above. Getting help on package installation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -371,9 +389,13 @@ then set a corresponding ``PYTHONPATH``. Can we share packages? ^^^^^^^^^^^^^^^^^^^^^^^ -In some cases you can successfully share between Pythons. However, *this technique is -prone to breaking things in strange ways and we do not recommend it*. Nevertheless it is -useful to illustrate how this works. +In some cases you can successfully share between Pythons. Although we don't +recommend doing this it is nevertheless useful to illustrate how this works. + +.. Warning:: + + This technique is prone to breaking things in strange ways and we do not + recommend it. The first rule is that they need to be the same major version, i.e. all 2.6 or 2.7. This is because Python always includes a major version like @@ -388,16 +410,6 @@ shown below where each Python can find common packages in the local user area: Be sure to test that the package you installed works within the other Python environments. -.. Caution:: - - Be very wary of installing a package with ``--user`` if one of your Python - installations already contains that package. This is because the local user - version will always take precedence and thus potentially upset that Python - installation. Big analysis packages like CIAO, STSci_Python or CASA are - carefully tested assuming the integrated environment they provide. If you - start mucking this up then all bets are off. - - Virtualenv ------------ @@ -409,7 +421,19 @@ be used as the package installation location. One use case is wanting to install a new or experimental version of a package without overwriting the existing production version in your baseline environment. -For a good introductory tutorial see http://iamzed.com/2009/05/07/a-primer-on-virtualenv/. +For a good introductory tutorial see +http://iamzed.com/2009/05/07/a-primer-on-virtualenv/. + + +Anaconda environments +---------------------- + +The Anaconda Python distribution, in conjunction with the ``conda`` package +manager, makes it easy maintain multiple Python environments under one tree. +This is extremely useful if you need to install different versions of +packages, perhaps for testing or for running a particular application which +has certain package requirements. See `Python Packages and Environments with +conda `_ for an introduction. Final exercises --------------- diff --git a/source/installation/python_install.rst b/source/installation/python_install.rst index 7ffe7c7..34d3acd 100644 --- a/source/installation/python_install.rst +++ b/source/installation/python_install.rst @@ -19,6 +19,11 @@ You may need to choose between 32-bit and 64-bit installations. Generally speaking you should choose 64-bit, but read `64 versus 32 bit`_ for some caveats or if you aren't sure if your CPU is 64-bit. +For this workshop you can use either Python 2.6, 2.7 or Python 3 (version >= +3.3). On the general question of whether to use Python 2 or Python 3, at this +point the major package support for both is quite similar, and (as of +early 2015) it appears that in the overall community Python 3 usage is +becoming substantial. .. _`anaconda_option`: @@ -48,8 +53,8 @@ path, following the instructions on the Anaconda page. Anaconda includes the usual `core scientific packages `_ (including `astropy `_), and some interesting next-generation packages `Numba -`_ and `Blaze -`_. +`_ and `Blaze +`_. .. note:: @@ -82,7 +87,6 @@ installation was reported. pip install --upgrade aplpy pip install --upgrade pyregion pip install --upgrade pyparsing - pip install --upgrade atpy Note that if you have used a root-installation option like MacPorts or a linux package manager to install Python, then you will need to use the ``sudo`` prefix @@ -103,20 +107,21 @@ Test the installation To do a very basic test whether you meet the requirements and have a functioning core scientific Python installation, do the following and check version numbers:: - % python -V - % ipython -V - % ipython --pylab + $ python -V + $ ipython -V + $ ipython --matplotlib import numpy import scipy import scipy.linalg + import matplotlib.pyplot as plt - print numpy.__version__ - print scipy.__version__ - print matplotlib.__version__ + print(numpy.__version__) + print(scipy.__version__) + print(matplotlib.__version__) x = numpy.linspace(0, 20, 100) - plot(x, sin(x)) - print scipy.linalg.eig([[1,2],[3,4]]) + plt.plot(x, sin(x)) + print(scipy.linalg.eig([[1,2],[3,4]])) The commands above should succeed with no errors. The version numbers should meet the requirements, and finally you should see a plot of a sine wave. @@ -135,34 +140,29 @@ Take your Python for a spin! If you are following along with the Python for Astronomers tutorial and have finished installing Python, you can give a real test drive now. -First download the ``_ tar file which has example data +First download the :download:`install_examples.tar <../downloads/install_examples.tar>` file which has example data files that will be used in subsequent exercises. Then change to a working directory, untar the file, and start up IPython:: - tar xvf ~/Downloads/install_examples.tar # or wherever your browser puts downloads - cd py4ast/install - ls - ipython --pylab + $ tar xvf ~/Downloads/install_examples.tar # or wherever your browser puts downloads + $ cd py4ast/install + $ ls + $ ipython --matplotlib .. tip:: - For all of the workshops you should always start Python using the command:: + For all of the workshops you should always start Python using the shell command:: - ipython --pylab # (for Windows start the Pylab application) + $ ipython --matplotlib # (for Windows start the Pylab application) - This will automatically load all of the main plotting functions from - `Matplotlib`_ (e.g. ``plot()``, ``hist()``, and many more) as well as common - math functions and array utilities from `NumPy`_ (e.g. ``sin()``, ``exp()``, - ``array()``, etc). - - In my ``~/.cshrc`` file I define an alias that I commonly use:: - - alias pylab "ipython --pylab" + Once IPython has started, make numpy and matplotlib available with:: + import numpy as np + import matplotlib.pyplot as plt .. admonition:: Exercise: Read a table and examine it Look at the documentation for the `astropy.Table.read() - `_ function in + `_ function in `astropy`_. Follow the very first example and use the ``read()`` function to read the data in the file ``table1.dat`` into the variable named ``data``. @@ -190,9 +190,9 @@ Then change to a working directory, untar the file, and start up IPython:: - To print a row of data use ``print data[]`` Optional: use the `plot - `_ + `_ and `hist - `_ + `_ functions to examine the data graphically. For instance plot RAdeg versus DEdeg. Look at the ``table1.dat`` file itself for detailed column descriptions. diff --git a/source/installation/recommended_options.rst b/source/installation/recommended_options.rst index fd9534d..59ab682 100644 --- a/source/installation/recommended_options.rst +++ b/source/installation/recommended_options.rst @@ -25,6 +25,7 @@ ActiveState CE Y Y Y [5]_ Enthought Canopy Y Y Y [6]_, [7]_ STSci_Python Y [8]_ Y [9]_ yt Project Y Y -- [10]_ +Ureka Y Y -- [11]_ ==================== ======== ========= ========= ====================== .. rubric:: Notes @@ -91,6 +92,11 @@ yt Project Y Y -- [10]_ (astrophysical simulation analysis). See `Installing yt `_. +.. [11] **Ureka** is a collection of useful astronomy software that is generally + centered around Python and IRAF. The software provides everything you + need to run the data reduction packages provided by STScI and Gemini. + See ``_. + .. raw:: html diff --git a/source/installation/requirements.rst b/source/installation/requirements.rst index 0c5e2fb..ef41142 100644 --- a/source/installation/requirements.rst +++ b/source/installation/requirements.rst @@ -11,32 +11,28 @@ use the most recent release in most cases. Core ^^^^^ -- Python 2.6 or 2.7 (Python 3 [#]_) -- IPython >= 0.10 -- NumPy >= 1.5 -- SciPy >= 0.7.2 +- Python >= 2.6.5, 2.7.x, or Python >= 3.3 [#]_ +- IPython >= 1.0 +- NumPy >= 1.6 +- SciPy >= 0.8 - Matplotlib >= 1.0 -- distribute (aka setuptools) >= 0.6 +- setuptools (best to keep this up-to-date) -.. [#] Python 3.2 or greater will work for most of this tutorial, but the - examples have not been tested or made Python 3 compatible. +.. [#] Python 3.3 or greater will work for most of this tutorial, but the + examples have not been uniformly tested or made Python 3 compatible. Required additional packages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- `pip `_ >= 1.0 -- `astropy`_ >= 0.2 -- `ATpy`_ >= 0.9.4 +- `pip `_ (best to keep this up-to-date) +- `astropy`_ >= 0.4 - `APLpy`_ >= 0.9.5 (pyparsing, pyregion, PIL, montage are optional but useful) -- `astropy`_ >= 0.2.1 Useful additional packages ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- `coords `_ -- `vo.table `_ - `pyparsing `_ -- `pyregion `_ +- `pyregion `_ - `PIL `_ - `Montage `_ (compiled application and library) diff --git a/source/intro/comparison.rst b/source/intro/comparison.rst index a025e24..0ae3541 100644 --- a/source/intro/comparison.rst +++ b/source/intro/comparison.rst @@ -59,7 +59,7 @@ Python:: y = v + x * 12 # OK y = str(v) + "+x*12" # Two strings can be added (concatenated) y = str(v+x*12) # Make a string from the number - print x, y, v # print x, y and v. + print(x, y, v) # print x, y and v. IDL ----- diff --git a/source/intro/quick-tour.rst b/source/intro/quick-tour.rst index c50c8d1..f1a0480 100644 --- a/source/intro/quick-tour.rst +++ b/source/intro/quick-tour.rst @@ -21,9 +21,10 @@ Quick tour of Python C-COSMOS browse (live demo) In the spirit of this workshop let's jump in to real Python analysis code. -These examples assume you are using `pylab +These examples assume you are using the IPython `pylab `_ -(you'll understand what that is after the 2nd hands-on session). +mode which automatically imports a number of numerical and plotting routines +into the session. Reading a table and plotting ---------------------------- @@ -33,11 +34,13 @@ HEASARC. The script below will read in the catalog data using the `astropy.io.a module, do some basic filtering with `NumPy`_, and make a couple of plots with `matplotlib`_ :: - import astropy.io.ascii as ascii # Make external package available + # Make external packages available + from astropy.io import ascii # Read table. # ==> dat[column_name] and dat[row_number] both valid <== - dat = ascii.read('fermi_agn.dat') + data_url = 'https://raw.githubusercontent.com/python4astronomers/python4astronomers/stable/examples/tables/fermi_agn.dat' + dat = ascii.read(data_url) redshift = dat['redshift'] # array of values from 'redshift' column flux = dat['photon_flux'] @@ -66,7 +69,7 @@ module, do some basic filtering with `NumPy`_, and make a couple of plots with title('$\Gamma$ for low-z and high-z samples') legend(loc='upper left') - asciitable.write(dat[with_z], 'fermi_agn_with_z.dat') + ascii.write(dat[with_z], 'fermi_agn_with_z.dat') .. image:: scatter.png :scale: 70% @@ -107,9 +110,9 @@ uncertainties. popt, pcov = curve_fit(gaussian, x, y, sigma=e) # Print results - print "Scale = %.3f +/- %.3f" % (popt[0], sqrt(pcov[0, 0])) - print "Offset = %.3f +/- %.3f" % (popt[1], sqrt(pcov[1, 1])) - print "Sigma = %.3f +/- %.3f" % (popt[2], sqrt(pcov[2, 2])) + print("Scale = %.3f +/- %.3f" % (popt[0], sqrt(pcov[0, 0]))) + print("Offset = %.3f +/- %.3f" % (popt[1], sqrt(pcov[1, 1]))) + print("Sigma = %.3f +/- %.3f" % (popt[2], sqrt(pcov[2, 2]))) # Plot data errorbar(x, y, yerr=e, linewidth=1, color='black', fmt=None) @@ -145,7 +148,7 @@ This example demonstrates how to create a synthetic image of a cluster, including convolution with a Gaussian filter and the addition of noise. :: - import astropy.io.fits as fits + from astropy.io import fits from scipy.ndimage import gaussian_filter # Create empty image @@ -195,7 +198,7 @@ together other codes and doing system type tasks. :: import os - import astropy.io.ascii as ascii + from astropy.io import ascii smoothing = 30 # Smoothing window length freqs = [2, 4] # Frequency values for making data @@ -211,7 +214,7 @@ together other codes and doing system type tasks. for noise in noises: # Run the compiled code "make_data" to make data as a list of x, y, y_smooth cmd = 'make_data %s %s %s' % (freq, noise, smoothing) - print 'Running', cmd + print('Running {0}'.format(cmd)) out = os.popen(cmd).read() # out now contains the output from as a single string @@ -255,7 +258,7 @@ talk was made. vmin_b=-2,vmax_b=50) # Create a new figure - fig = aplpy.FITSFigure('rgb_2d.fits') + fig = aplpy.FITSFigure('rgb.fits') # Show the RGB image fig.show_rgb('rgb.png') diff --git a/source/intro/who-python.rst b/source/intro/who-python.rst index 35c6617..a1bd27c 100644 --- a/source/intro/who-python.rst +++ b/source/intro/who-python.rst @@ -5,8 +5,9 @@ Who is using Python (In response to the question "Why spend time migrating to Python?" at a Users Committee meeting) -That was several years ago and in the interim the momentum toward Python in astronomy has -only grown. The ease of interfacing C / C++ / FORTRAN means many organizations +That was in 2007 and in the interim Python has become firmly established as the +primary scripting language in astronomy. +The ease of interfacing C / C++ / FORTRAN means many organizations are using Python user front-ends with a combination of compiled code + Python on the back-end. @@ -28,11 +29,9 @@ Resources, resources, resources! - CfA pythonusers mailing list (over 100 subscribers) - `astropython.org `_ - - `astropy `_ mailing list - - `stackoverflow `_ (~50000 - questions answered ca. Mar-2011) - - Conferences: `SciPy `_ and - `EuroSciPy `_ + - `astropy mailing list `_ + - `stackoverflow `_ + - Conferences: `SciPy `_ and `EuroSciPy `_ - Tutorials diff --git a/source/intro/wrapup.rst b/source/intro/wrapup.rst index 06feaef..85477c4 100644 --- a/source/intro/wrapup.rst +++ b/source/intro/wrapup.rst @@ -28,7 +28,7 @@ Workshop materials All the workshop materials will be available through the web site: - ``_ + ``_ - Presentations - Tutorial and example scripts @@ -37,8 +37,8 @@ All the workshop materials will be available through the web site: Installing Python and the rest ------------------------------ -In order to follow along the tutorial sessions you need to have Python 2.6 or -2.7 installed and satisfy these :ref:`python_pkg_requirements`. Please look +In order to follow along the tutorial sessions you need to have Python 2.6, +2.7, or Python >= 3.3 installed and satisfy these :ref:`python_pkg_requirements`. Please look ahead to the workshop on :ref:`installing_scientific_python`. You are encouraged to attempt the installation on your own, but at the very least you should download the necessary package files for your configuration in advance diff --git a/source/local/cfa.rst b/source/local/cfa.rst index 92c917e..e05d17f 100644 --- a/source/local/cfa.rst +++ b/source/local/cfa.rst @@ -92,8 +92,8 @@ Now within ``sherpa`` do:: import scipy import scipy.linalg - print scipy.__version__ - print scipy.linalg.eig([[1,2],[3,4]]) + print(scipy.__version__) + print(scipy.linalg.eig([[1,2],[3,4]])) Now quit and install the rest:: @@ -117,7 +117,7 @@ Once again fire up ``sherpa`` or ``chips`` and do:: import atpy import aplpy - print np.__version__ + print(np.__version__) x = np.linspace(0, 20, 100) plt.plot(x, np.sin(x)) diff --git a/source/plotting/advanced.rst b/source/plotting/advanced.rst index 0cfdb4a..1c26f36 100644 --- a/source/plotting/advanced.rst +++ b/source/plotting/advanced.rst @@ -193,7 +193,7 @@ This is very powerful, as it allows you to customize virtually *all* elements in .. admonition:: Exercise: Explore customization - Run the above example in ``ipython --pylab``, and try and use the title + Run the above example in ``ipython --matplotlib``, and try and use the title and points objects to change the points to be red, and the title to have an ``x-large`` font size. @@ -507,7 +507,7 @@ Finally, add your patch to your figure:: :scale: 60% :align: center -See `here `_ for a complete list of patches and options. +See `matplotlib.patches `_ for a complete list of patches and options. Similarly, there are line classes:: @@ -516,7 +516,7 @@ Similarly, there are line classes:: l = Line2D(...) ax.add_line(l) -See `here `_ for a complete list of line types and options. +See `matplotlib.lines `_ for a complete list of line types and options. Tips and tricks --------------- diff --git a/source/plotting/aplpy.rst b/source/plotting/aplpy.rst index ff09f03..ba52d9a 100644 --- a/source/plotting/aplpy.rst +++ b/source/plotting/aplpy.rst @@ -32,15 +32,16 @@ When things go wrong Getting started --------------- -Start off by downloading :download:`this tar file <../downloads/APLpy-example.tar>`, expand it, and go to the ``APLpy-example`` directory on the command line. Then, launch pylab:: +Start off by downloading :download:`this tar file <../downloads/APLpy-example.tar>`, expand it, and go to the ``APLpy-example`` directory on the command line. Then, launch IPython:: - $ ipython --pylab + $ ipython --matplotlib -If you have trouble downloading the file, then start up IPython (``ipython --pylab``) and enter:: +If you have trouble downloading the file, then within your IPython session enter:: - import urllib2, tarfile + from astropy.extern.six.moves.urllib import request + import tarfile url = 'http://python4astronomers.github.com/_downloads/APLpy-example.tar' - tarfile.open(fileobj=urllib2.urlopen(url), mode='r|').extractall() + tarfile.open(fileobj=request.urlopen(url), mode='r|').extractall() cd APLpy-example ls @@ -135,10 +136,11 @@ To show the y-axis labels in dd:mm format:: Use APLpy to plot one of your own FITS images! If you don't have any FITS files at hand, you can play with :download:`this <../downloads/m82_wise.tar>` newly-released WISE data of M82! - If you have trouble downloading the file, then start up IPython (``ipython --pylab``) and enter:: + If you have trouble downloading the file, then within your IPython session enter:: - import urllib2, tarfile + from astropy.extern.six.moves.urllib import request + import tarfile url = 'http://python4astronomers.github.com/_downloads/m82_wise.tar' - tarfile.open(fileobj=urllib2.urlopen(url), mode='r|').extractall() + tarfile.open(fileobj=request.urlopen(url), mode='r|').extractall() cd m82_wise ls diff --git a/source/plotting/matplotlib.rst b/source/plotting/matplotlib.rst index 25889b2..5b04eee 100644 --- a/source/plotting/matplotlib.rst +++ b/source/plotting/matplotlib.rst @@ -104,7 +104,7 @@ The matplotlib documentation is extensive and covers all the functionality in detail. The documentation is littered with hundreds of examples showing a plot and the exact source code making the plot: -- `Matplotlib home page `_: key pylab plotting commands in a table +- `Matplotlib home page `_: key plotting commands in a table - `Pyplot tutorial `_: intro to 1-D plotting - `Interactive navigation `_: how to use the plot window for zooming etc. @@ -168,24 +168,14 @@ Basic plots So let's get started with plotting using a standard startup idiom that will work for both interactive and scripted plotting. In this case we are working -interactively so fire up ``ipython`` in the usual way:: +interactively so fire up ``ipython`` in the usual way with the standard +imports for numpy and matplotlib:: - % ipython --pylab - -See the `Appendix: Pylab and Pyplot and NumPy`_ for details about just what's -going on with the ``--pylab`` switch. Also remember if you are using IPython -version 0.10 or earlier you need to use ``-pylab`` with just one dash. - -The following two statements are made for you automatically if you -started ``ipython`` with the ``--pylab`` switch, and cause -both ``numpy`` and ``matplotlib`` to be imported:: + $ ipython --matplotlib import numpy as np import matplotlib.pyplot as plt -When writing your own Python code - e.g. as a script - then you will need -to include the above two lines. - `matplotlib.pyplot`_ is a collection of command style functions that make matplotlib work like MATLAB. Each ``pyplot`` function makes some change to a figure: eg, create a figure, create a plotting area in a figure, plot some @@ -356,7 +346,7 @@ somewhat cryptic messsage above. For new users it would be nice if it said "hold on, size isn't callable", but then this would inhibit useful - if complex - statements such as:: - tarfile.open(fileobj=urllib2.urlopen(url), mode='r|').extractall() + tarfile.open(fileobj=request.urlopen(url), mode='r|').extractall() Controlling line properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -774,14 +764,16 @@ To get more information check out the `mplot3d tutorial Appendix: Pylab and Pyplot and NumPy ------------------------------------- -Let's demystify what's happening when you use ``ipython --pylab`` and +You may see examples that use the ``pylab`` mode of IPython by using +``ipython --pylab`` or the ``%pylab`` magic function. +Let's demystify what's happening in this case and clarify the relationship between **pylab** and **pyplot**. `matplotlib.pyplot`_ is a collection of command style functions that make matplotlib work like MATLAB. This is just a package module that you can import:: import matplotlib.pyplot - print sorted(dir(matplotlib.pyplot)) + print(sorted(dir(matplotlib.pyplot))) Likewise pylab is also a module provided by matplotlib that you can import:: diff --git a/source/python/objects.rst b/source/python/objects.rst index 59cf3ca..e0119ac 100644 --- a/source/python/objects.rst +++ b/source/python/objects.rst @@ -21,19 +21,10 @@ remember object methods!** :: In [17]: a. - a.__add__ a.__ge__ a.__iter__ a.__repr__ a.append - a.__class__ a.__getattribute__ a.__le__ a.__reversed__ a.count - a.__contains__ a.__getitem__ a.__len__ a.__rmul__ a.extend - a.__delattr__ a.__getslice__ a.__lt__ a.__setattr__ a.index - a.__delitem__ a.__gt__ a.__mul__ a.__setitem__ a.insert - a.__delslice__ a.__hash__ a.__ne__ a.__setslice__ a.pop - a.__doc__ a.__iadd__ a.__new__ a.__sizeof__ a.remove - a.__eq__ a.__imul__ a.__reduce__ a.__str__ a.reverse - a.__format__ a.__init__ a.__reduce_ex__ a.__subclasshook__ a.sort - -For the most part you can ignore all the ones that begin with ``__`` since -they are generally are internal methods that are not called directly. At -the end you see useful looking functions like ``append`` or ``sort`` which + a.append a.extend a.insert a.remove a.sort + a.count a.index a.pop a.reverse + +Here you see useful looking functions like ``append`` or ``sort`` which you can get help for and use:: a.sort diff --git a/source/python/types.rst b/source/python/types.rst index bc9e5ac..36bedab 100644 --- a/source/python/types.rst +++ b/source/python/types.rst @@ -54,7 +54,7 @@ Manipulating these behaves the way you would expect, so an operation (``+``, ``- >>> 8 * complex(-3.3,1) (-26.4+8j) # int * complex = complex -However, there is one case where this happens but is not desirable, and that you should be aware of, which is the division of two integer numbers:: +However, there is one case in Python 2 where this happens but is not desirable, and that you should be aware of, which is the division of two integer numbers:: >>> 3 / 2 1 @@ -71,6 +71,9 @@ After typing this, we can use the Python 3.x syntax:: >>> 3 // 2 1 +If you are writing new code in Python 2 then it's a fine idea to start each +file with ``from __future__ import division`` at the top. + Another way to prevent this is to cast at least one of the integers in the division to a ``float``:: >>> 3 / float(2) @@ -240,20 +243,13 @@ This will show the available attributes and methods for the Python list remember object methods!** :: - In [17]: a. - a.__add__ a.__ge__ a.__iter__ a.__repr__ a.append - a.__class__ a.__getattribute__ a.__le__ a.__reversed__ a.count - a.__contains__ a.__getitem__ a.__len__ a.__rmul__ a.extend - a.__delattr__ a.__getslice__ a.__lt__ a.__setattr__ a.index - a.__delitem__ a.__gt__ a.__mul__ a.__setitem__ a.insert - a.__delslice__ a.__hash__ a.__ne__ a.__setslice__ a.pop - a.__doc__ a.__iadd__ a.__new__ a.__sizeof__ a.remove - a.__eq__ a.__imul__ a.__reduce__ a.__str__ a.reverse - a.__format__ a.__init__ a.__reduce_ex__ a.__subclasshook__ a.sort - -For the most part you can ignore all the ones that begin with ``__`` since -they are generally are internal methods that are not called directly. At -the end you see useful looking functions like ``append`` or ``sort`` which +:: + + In [17]: a. + a.append a.extend a.insert a.remove a.sort + a.count a.index a.pop a.reverse + +Here you see useful looking functions like ``append`` or ``sort`` which you can get help for and use:: a.sort diff --git a/source/references.rst b/source/references.rst index 4b61ef0..c0d279a 100644 --- a/source/references.rst +++ b/source/references.rst @@ -1,12 +1,9 @@ -.. _`matplotlib`: http://matplotlib.sourceforge.net/ -.. _`NumPy`: http://numpy.scipy.org/ +.. _`matplotlib`: http://matplotlib.org/ +.. _`NumPy`: http://numpy.org/ .. _`SciPy`: http://scipy.org/ -.. _`IPython`: http://ipython.scipy.org/moin/ +.. _`IPython`: http://ipython.org .. _CIAO: http://cxc.harvard.edu/ciao/ .. _SAS: http://xmm.vilspa.esa.es/sas/ -.. _`astropy.io.ascii`: http://docs.astropy.org/en/v0.2.1/io/ascii/index.html -.. _pyfits: http://www.stsci.edu/resources/software_hardware/pyfits -.. _ATpy: http://atpy.github.com .. _APLpy: http://aplpy.github.com .. _SAMPy: http://pypi.python.org/pypi/sampy .. _COATPy: https://github.com/python4vo/coatpy @@ -16,3 +13,6 @@ .. _TOPCAT: http://www.star.bris.ac.uk/~mbt/topcat .. _Directory: http://nvo.stsci.edu/vor10/index.aspx .. _astropy: http://astropy.org +.. _astropy_doc: http://docs.astropy.org/en/stable +.. _`astropy.io.ascii`: http://docs.astropy.org/en/stable/io/ascii/ +.. _`astropy.io.fits`: http://docs.astropy.org/en/stable/io/fits/ diff --git a/source/themes/bootstrap-astropy/globaltoc.html b/source/themes/bootstrap-astropy/globaltoc.html new file mode 100644 index 0000000..3bd8404 --- /dev/null +++ b/source/themes/bootstrap-astropy/globaltoc.html @@ -0,0 +1,3 @@ +

Table of Contents

+{{ toctree(maxdepth=-1, titles_only=true) }} + diff --git a/source/themes/bootstrap-astropy/layout.html b/source/themes/bootstrap-astropy/layout.html new file mode 100644 index 0000000..342b5aa --- /dev/null +++ b/source/themes/bootstrap-astropy/layout.html @@ -0,0 +1,137 @@ +{% extends "basic/layout.html" %} + +{# Collapsible sidebar script from default/layout.html in Sphinx #} +{% set script_files = script_files + ['_static/sidebar.js'] %} + +{# Add the google webfonts needed for the logo #} +{% block extrahead %} + +{% if not embedded %}{% endif %} + + + + + + +{% endblock %} + + +{% block header %} + +{% endblock %} + +{% block relbar1 %} + +{% endblock %} + +{# Silence the bottom relbar. #} +{% block relbar2 %}{% endblock %} + + +{%- block footer %} +
+

+ {%- if edit_on_github %} + {{ edit_on_github_page_message }}   + {%- endif %} + {%- if show_source and has_source and sourcename %} + {{ _('Page Source') }} + {%- endif %}   + Back to Top

+

+ {%- if show_copyright %} + {%- if hasdoc('copyright') %} + {% trans path=pathto('copyright'), copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %}
+ {%- else %} + {% trans copyright=copyright|e %}© Copyright {{ copyright }} under + terms of CC + Attribution 3.0.{% + endtrans %}
+ {%- endif %} + {%- endif %} + {%- if show_sphinx %} + {% trans sphinx_version=sphinx_version|e %}Created using Sphinx {{ sphinx_version }}.{% endtrans %}   + {%- endif %} + {%- if last_updated %} + {% trans last_updated=last_updated|e %}Last built {{ last_updated }}.{% endtrans %}
+ {%- endif %} +

+{%- endblock %} diff --git a/source/themes/bootstrap-astropy/localtoc.html b/source/themes/bootstrap-astropy/localtoc.html new file mode 100644 index 0000000..0a21ad0 --- /dev/null +++ b/source/themes/bootstrap-astropy/localtoc.html @@ -0,0 +1,3 @@ +

Page Contents

+{{ toc }} + diff --git a/source/themes/bootstrap-astropy/static/astropy_linkout_20.png b/source/themes/bootstrap-astropy/static/astropy_linkout_20.png new file mode 100644 index 0000000..4322679 Binary files /dev/null and b/source/themes/bootstrap-astropy/static/astropy_linkout_20.png differ diff --git a/source/themes/bootstrap-astropy/static/bootstrap-astropy.css b/source/themes/bootstrap-astropy/static/bootstrap-astropy.css new file mode 100644 index 0000000..64eb5aa --- /dev/null +++ b/source/themes/bootstrap-astropy/static/bootstrap-astropy.css @@ -0,0 +1,584 @@ +/*! + * Bootstrap v1.4.0 + * + * Copyright 2011 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Heavily modified by Kyle Barbary for the AstroPy Project for use with Sphinx. + */ + +@import url("basic.css"); + +body { + background-color: #ffffff; + margin: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 18px; + color: #404040; +} + +/* Hyperlinks ----------------------------------------------------------------*/ + +a { + color: #0069d6; + text-decoration: none; + line-height: inherit; + font-weight: inherit; +} + +a:hover { + color: #00438a; + text-decoration: underline; +} + +/* Typography ----------------------------------------------------------------*/ + +h1,h2,h3,h4,h5,h6 { + color: #404040; + margin: 0.7em 0 0 0; + line-height: 1.5em; +} +h1 { + font-size: 24px; + margin: 0; +} +h2 { + font-size: 21px; + line-height: 1.2em; + margin: 1em 0 0.5em 0; + border-bottom: 1px solid #404040; +} +h3 { + font-size: 18px; +} +h4 { + font-size: 16px; +} +h5 { + font-size: 14px; +} +h6 { + font-size: 13px; + text-transform: uppercase; +} + +p { + font-size: 13px; + font-weight: normal; + line-height: 18px; + margin-top: 0px; + margin-bottom: 9px; +} + +ul, ol { + margin-left: 0; + padding: 0 0 0 25px; +} +ul ul, ul ol, ol ol, ol ul { + margin-bottom: 0; +} +ul { + list-style: disc; +} +ol { + list-style: decimal; +} +li { + line-height: 18px; + color: #404040; +} +ul.unstyled { + list-style: none; + margin-left: 0; +} +dl { + margin-bottom: 18px; +} +dl dt, dl dd { + line-height: 18px; +} +dl dd { + margin-left: 9px; +} +hr { + margin: 20px 0 19px; + border: 0; + border-bottom: 1px solid #eee; +} +strong { + font-style: inherit; + font-weight: bold; +} +em { + font-style: italic; + font-weight: inherit; + line-height: inherit; +} +.muted { + color: #bfbfbf; +} + +address { + display: block; + line-height: 18px; + margin-bottom: 18px; +} +code, pre { + padding: 0 3px 2px; + font-family: monospace; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +tt { + font-family: monospace; +} +code { + color: rgba(0, 0, 0, 0.75); + padding: 1px 3px; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 18px; + line-height: 18px; + border: 1px solid #ddd; + border: 1px solid rgba(0, 0, 0, 0.12); + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +img { + margin: 9px 0; +} + +/* format inline code with a rounded box */ +tt { + margin: 0 2px; + padding: 0 5px; + border: 1px solid #ddd; + border: 1px solid rgba(0, 0, 0, 0.12); + border-radius: 3px; +} + +/* all code has same box background color, even in headers */ +h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt, pre, code, tt { + background-color: #f8f8f8; +} + +/* override box for links & other sphinx-specifc stuff */ +tt.xref, a tt, tt.descname, tt.descclassname { + padding: 0 1px 0 1px; + border: none; +} + +/* override box for related bar at the top of the page */ +.related tt { + border: none; + padding: 0 1px 0 1px; + background-color: transparent; + font-weight: bold; +} + +th { + background-color: #dddddd; +} + +.viewcode-back { + font-family: sans-serif; +} + +div.viewcode-block:target { + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} + +table.docutils { + border-spacing: 5px; + border-collapse: separate; +} + +/* Topbar --------------------------------------------------------------------*/ + +div.topbar { + height: 40px; + position: absolute; + top: 0; + left: 0; + right: 0; + z-index: 10000; + padding: 0px 10px; + background-color: #222; + background-color: #222222; + background-repeat: repeat-x; + background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222)); + background-image: -moz-linear-gradient(top, #333333, #222222); + background-image: -ms-linear-gradient(top, #333333, #222222); + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222)); + background-image: -webkit-linear-gradient(top, #333333, #222222); + background-image: -o-linear-gradient(top, #333333, #222222); + background-image: linear-gradient(top, #333333, #222222); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); +} + +div.topbar a.brand { + font-family: 'Source Sans Pro', sans-serif; + font-size: 26px; + color: #ffffff; + font-weight: 600; + text-decoration: none; + float: left; + display: block; + height: 32px; + padding: 8px 12px 0px 45px; + margin-left: -10px; +} + +#logotext1 { +} + +#logotext2 { + font-weight:200; + color: #ff5000; +} +#logotext3 { + font-weight:200; +} + +div.topbar .brand:hover, div.topbar ul li a.homelink:hover { + background-color: #333; + background-color: rgba(255, 255, 255, 0.05); +} + +div.topbar ul { + font-size: 110%; + list-style: none; + margin: 0; + padding: 0 0 0 10px; + float: right; + color: #bfbfbf; + text-align: center; + text-decoration: none; + height: 100%; +} +div.topbar ul li { + float: left; + display: inline; + height: 30px; + margin: 5px; + padding: 0px; +} + +div.topbar ul li a { + color: #bfbfbf; + text-decoration: none; + padding: 5px; + display: block; + height: auto; + text-align: center; + vertical-align: middle; + border-radius: 4px; +} + +div.topbar ul li a:hover { + color: #ffffff; + text-decoration: none; +} + +div.topbar ul li a.homelink { + width: 112px; + display: block; + height: 20px; + padding: 5px 0px; + background: transparent url("astropy_linkout_20.png") no-repeat 10px 5px; +} + +div.topbar form { + text-align: left; + margin: 0 0 0 5px; + position: relative; + filter: alpha(opacity=100); + -khtml-opacity: 1; + -moz-opacity: 1; + opacity: 1; +} + +div.topbar input { + background-color: #444; + background-color: rgba(255, 255, 255, 0.3); + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: normal; + font-weight: 13px; + line-height: 1; + padding: 4px 9px; + color: #ffffff; + color: rgba(255, 255, 255, 0.75); + border: 1px solid #111; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.25); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.25); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.25); + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + transition: none; +} +div.topbar input:-moz-placeholder { + color: #e6e6e6; +} +div.topbar input::-webkit-input-placeholder { + color: #e6e6e6; +} +div.topbar input:hover { + background-color: #bfbfbf; + background-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} +div.topbar input:focus, div.topbar input.focused { + outline: 0; + background-color: #ffffff; + color: #404040; + text-shadow: 0 1px 0 #ffffff; + border: 0; + padding: 5px 10px; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +} + + +/* Relation bar (breadcrumbs, prev, next) ------------------------------------*/ + +div.related { + height: 21px; + width: auto; + margin: 0 10px; + position: absolute; + top: 42px; + clear: both; + left: 0; + right: 0; + z-index: 10000; + font-size: 100%; + vertical-align: middle; + background-color: #fff; + border-bottom: 1px solid #bbb; +} +div.related ul { + padding: 0; + margin: 0; +} + + +/* Footer --------------------------------------------------------------------*/ + +footer { + display: block; + margin: 10px 10px 0px; + padding: 10px 0 0 0; + border-top: 1px solid #bbb; +} +.pull-right { + float: right; + width: 30em; + text-align: right; +} + + +/* Sphinx sidebar ------------------------------------------------------------*/ + +div.sphinxsidebar { + font-size: inherit; + border-radius: 3px; + background-color: #eee; + border: 1px solid #bbb; +} + +div.sphinxsidebarwrapper { + padding: 0px 0px 0px 5px; +} + +div.sphinxsidebar h3 { + font-family: 'Trebuchet MS', sans-serif; + font-size: 1.4em; + font-weight: normal; + margin: 5px 0px 0px 5px; + padding: 0; + line-height: 1.6em; +} +div.sphinxsidebar h4 { + font-family: 'Trebuchet MS', sans-serif; + font-size: 1.3em; + font-weight: normal; + margin: 5px 0 0 0; + padding: 0; +} +div.sphinxsidebar p { +} +div.sphinxsidebar p.topless { + margin: 5px 10px 10px 10px; +} +div.sphinxsidebar ul { + margin: 0px 0px 0px 5px; + padding: 0; +} + +div.sphinxsidebar ul ul { + margin-left: 15px; + list-style-type: disc; +} + +/* If showing the global TOC (toctree), + color the current page differently */ +div.sphinxsidebar a.current { + color: #404040; +} +div.sphinxsidebar a.current:hover { + color: #404040; +} + + +/* document, documentwrapper, body, bodywrapper ----------------------------- */ + +div.document { + margin-top: 72px; + margin-left: 10px; + margin-right: 10px; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.body { + background-color: #ffffff; + padding: 0 0 0px 20px; +} + +div.bodywrapper { + margin: 0 0 0 230px; + max-width: 55em; +} + + +/* Header links ------------------------------------------------------------- */ + +a.headerlink { + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + background-color: #0069d6; + color: white; + text-docoration: none; +} + + +/* Admonitions and warnings ------------------------------------------------- */ + +/* Shared by admonitions and warnings */ +div.admonition, +div.warning { + padding: 0px; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} +div.admonition p, +div.warning p { + margin: 0.5em 1em 0.5em 1em; + padding: 0; +} +div.admonition pre, +div.warning pre { + margin: 0.4em 1em 0.4em 1em; +} +div.admonition p.admonition-title, +div.warning p.admonition-title { + margin: 0; + padding: 0.1em 0 0.1em 0.5em; + color: white; + font-weight: bold; + font-size: 1.1em; +} +div.admonition ul, div.admonition ol, +div.warning ul, div.warning ol { + margin: 0.1em 0.5em 0.5em 3em; + padding: 0; +} + +/* Admonitions only */ +div.admonition { + border: 1px solid #609060; + background-color: #e9ffe9; +} +div.admonition p.admonition-title { + background-color: #70A070; +} + +/* Warnings only */ +div.warning { + border: 1px solid #900000; + background-color: #ffe9e9; +} +div.warning p.admonition-title { + background-color: #b04040; +} + + +/* Figures ------------------------------------------------------------------ */ + +.figure.align-center { + clear: none; +} + +/* This is a div for containing multiple figures side-by-side, for use with + * .. container:: figures */ +div.figures { + border: 1px solid #CCCCCC; + background-color: #F8F8F8; + margin: 1em; + text-align: center; +} + +div.figures .figure { + clear: none; + float: none; + display: inline-block; + border: none; + margin-left: 0.5em; + margin-right: 0.5em; +} + +.field-list th { + white-space: nowrap; +} + +table.field-list { + border-spacing: 0px; + margin-left: 1px; + border-left: 5px solid rgb(238, 238, 238) !important; +} + +table.field-list th.field-name { + display: inline-block; + padding: 1px 8px 1px 5px; + white-space: nowrap; + background-color: rgb(238, 238, 238); + border-radius: 0 3px 3px 0; + -webkit-border-radius: 0 3px 3px 0; +} diff --git a/source/themes/bootstrap-astropy/static/copybutton.js b/source/themes/bootstrap-astropy/static/copybutton.js new file mode 100644 index 0000000..5d82c67 --- /dev/null +++ b/source/themes/bootstrap-astropy/static/copybutton.js @@ -0,0 +1,57 @@ +$(document).ready(function() { + /* Add a [>>>] button on the top-right corner of code samples to hide + * the >>> and ... prompts and the output and thus make the code + * copyable. */ + var div = $('.highlight-python .highlight,' + + '.highlight-python3 .highlight') + var pre = div.find('pre'); + + // get the styles from the current theme + pre.parent().parent().css('position', 'relative'); + var hide_text = 'Hide the prompts and output'; + var show_text = 'Show the prompts and output'; + var border_width = pre.css('border-top-width'); + var border_style = pre.css('border-top-style'); + var border_color = pre.css('border-top-color'); + var button_styles = { + 'cursor':'pointer', 'position': 'absolute', 'top': '0', 'right': '0', + 'border-color': border_color, 'border-style': border_style, + 'border-width': border_width, 'color': border_color, 'text-size': '75%', + 'font-family': 'monospace', 'padding-left': '0.2em', 'padding-right': '0.2em', + 'border-radius': '0 3px 0 0' + } + + // create and add the button to all the code blocks that contain >>> + div.each(function(index) { + var jthis = $(this); + if (jthis.find('.gp').length > 0) { + var button = $('>>>'); + button.css(button_styles) + button.attr('title', hide_text); + jthis.prepend(button); + } + // tracebacks (.gt) contain bare text elements that need to be + // wrapped in a span to work with .nextUntil() (see later) + jthis.find('pre:has(.gt)').contents().filter(function() { + return ((this.nodeType == 3) && (this.data.trim().length > 0)); + }).wrap(''); + }); + + // define the behavior of the button when it's clicked + $('.copybutton').toggle( + function() { + var button = $(this); + button.parent().find('.go, .gp, .gt').hide(); + button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'hidden'); + button.css('text-decoration', 'line-through'); + button.attr('title', show_text); + }, + function() { + var button = $(this); + button.parent().find('.go, .gp, .gt').show(); + button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'visible'); + button.css('text-decoration', 'none'); + button.attr('title', hide_text); + }); +}); + diff --git a/source/themes/bootstrap-astropy/static/sidebar.js b/source/themes/bootstrap-astropy/static/sidebar.js new file mode 100644 index 0000000..15d87f3 --- /dev/null +++ b/source/themes/bootstrap-astropy/static/sidebar.js @@ -0,0 +1,160 @@ +/* + * sidebar.js + * ~~~~~~~~~~ + * + * This script makes the Sphinx sidebar collapsible. + * + * .sphinxsidebar contains .sphinxsidebarwrapper. This script adds + * in .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton + * used to collapse and expand the sidebar. + * + * When the sidebar is collapsed the .sphinxsidebarwrapper is hidden + * and the width of the sidebar and the margin-left of the document + * are decreased. When the sidebar is expanded the opposite happens. + * This script saves a per-browser/per-session cookie used to + * remember the position of the sidebar among the pages. + * Once the browser is closed the cookie is deleted and the position + * reset to the default (expanded). + * + * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +$(function() { + // global elements used by the functions. + // the 'sidebarbutton' element is defined as global after its + // creation, in the add_sidebar_button function + var bodywrapper = $('.bodywrapper'); + var sidebar = $('.sphinxsidebar'); + var sidebarwrapper = $('.sphinxsidebarwrapper'); + + // for some reason, the document has no sidebar; do not run into errors + if (!sidebar.length) return; + + // original margin-left of the bodywrapper and width of the sidebar + // with the sidebar expanded + var bw_margin_expanded = bodywrapper.css('margin-left'); + var ssb_width_expanded = sidebar.width(); + + // margin-left of the bodywrapper and width of the sidebar + // with the sidebar collapsed + var bw_margin_collapsed = 12; + var ssb_width_collapsed = 12; + + // custom colors + var dark_color = '#404040'; + var light_color = '#505050'; + + function sidebar_is_collapsed() { + return sidebarwrapper.is(':not(:visible)'); + } + + function toggle_sidebar() { + if (sidebar_is_collapsed()) + expand_sidebar(); + else + collapse_sidebar(); + } + + function collapse_sidebar() { + sidebarwrapper.hide(); + sidebar.css('width', ssb_width_collapsed); + bodywrapper.css('margin-left', bw_margin_collapsed); + sidebarbutton.css({ + 'margin-left': '-1px', + 'height': bodywrapper.height(), + 'border-radius': '3px' + }); + sidebarbutton.find('span').text('»'); + sidebarbutton.attr('title', _('Expand sidebar')); + document.cookie = 'sidebar=collapsed'; + } + + function expand_sidebar() { + bodywrapper.css('margin-left', bw_margin_expanded); + sidebar.css('width', ssb_width_expanded); + sidebarwrapper.show(); + sidebarbutton.css({ + 'margin-left': ssb_width_expanded - 12, + 'height': bodywrapper.height(), + 'border-radius': '0px 3px 3px 0px' + }); + sidebarbutton.find('span').text('«'); + sidebarbutton.attr('title', _('Collapse sidebar')); + document.cookie = 'sidebar=expanded'; + } + + function add_sidebar_button() { + sidebarwrapper.css({ + 'float': 'left', + 'margin-right': '0', + 'width': ssb_width_expanded - 18 + }); + // create the button + sidebar.append('
«
'); + var sidebarbutton = $('#sidebarbutton'); + + // find the height of the viewport to center the '<<' in the page + var viewport_height; + if (window.innerHeight) + viewport_height = window.innerHeight; + else + viewport_height = $(window).height(); + var sidebar_offset = sidebar.offset().top; + var sidebar_height = Math.max(bodywrapper.height(), sidebar.height()); + sidebarbutton.find('span').css({ + 'font-family': '"Lucida Grande",Arial,sans-serif', + 'display': 'block', + 'top': Math.min(viewport_height/2, sidebar_height/2 + sidebar_offset) - 10, + 'width': 12, + 'position': 'fixed', + 'text-align': 'center' + }); + + sidebarbutton.click(toggle_sidebar); + sidebarbutton.attr('title', _('Collapse sidebar')); + sidebarbutton.css({ + 'color': '#FFFFFF', + 'background-color': light_color, + 'border': '1px solid ' + light_color, + 'border-radius': '0px 3px 3px 0px', + 'font-size': '1.2em', + 'cursor': 'pointer', + 'height': sidebar_height, + 'padding-top': '1px', + 'margin': '-1px', + 'margin-left': ssb_width_expanded - 12 + }); + + sidebarbutton.hover( + function () { + $(this).css('background-color', dark_color); + }, + function () { + $(this).css('background-color', light_color); + } + ); + } + + function set_position_from_cookie() { + if (!document.cookie) + return; + var items = document.cookie.split(';'); + for(var k=0; kClick to Show/Hide Solution

-We use `pyfits`_ to open the image file and examine its contents. +We use `astropy.io.fits`_ to open the image file and examine its contents. :: - import pyfits + from astropy.io import fits import aplpy - import matplotlib.pyplot as mpl + import matplotlib.pyplot as plt - hdulist = pyfits.open(filename) + hdulist = fits.open(filename) # check for multiple FITS extensions and their contents # in this case the "PRIMARY" header is empty for hdu in hdulist: - print hdu.name, type(hdu.data) + print('name: {0} type: {1}'.format(hdu.name, type(hdu.data))) - fig = mpl.figure(figsize=(15, 7)) + fig = plt.figure(figsize=(15, 7)) f1 = aplpy.FITSFigure(filename, hdu=1, subplot=[0.1,0.1,0.3,0.65], figure=fig) f1.set_tick_labels_font(size='x-small') f1.set_axis_labels_font(size='small') @@ -211,7 +212,3 @@ We use `pyfits`_ to open the image file and examine its contents. f3.hide_yaxis_label() f3.hide_ytick_labels() f3.show_colorscale(cmap='spring') - - - - \ No newline at end of file diff --git a/source/vo/webmodules.rst b/source/vo/webmodules.rst index fd7de84..0501a5a 100644 --- a/source/vo/webmodules.rst +++ b/source/vo/webmodules.rst @@ -31,8 +31,8 @@ First, `urllib2`_ has returned a file like object ``handler`` that points to a specific web resource. Various attributes about the webpage are available:: - print handler.code - print handler.headers['content-type'] + print(handler.code) + print(handler.headers['content-type']) In this particular example the data request is handled after the initial response has been examined; the data is streamed into a local @@ -81,8 +81,8 @@ learn which `parameters `_ are handler = urllib2.urlopen(get_url) # check it - print handler.code - print handler.headers['content-type'] + print(handler.code) + print(handler.headers['content-type']) # save it with open('hst_m51.csv','wb') as f: @@ -101,13 +101,13 @@ dictionary key,value pairs with the HTTP url encoding. sform = "%-20.20s %-10.10s %-30.30s" # make a header - print sform % ('parameter','value','encoded') - print sform % (3*(100*'-',)) + print(sform % ('parameter','value','encoded')) + print(sform % (3*(100*'-',))) # for each paramter show the input items from the dictionary # "p" and the output query string. for a,b in zip(p.items(),query.split('&')): - print sform % (a+(b,)) + print(sform % (a+(b,))) .. admonition:: Exercise: import WISE catalog data for a young cluster @@ -129,7 +129,7 @@ dictionary key,value pairs with the HTTP url encoding. get_url = url + "?" + query handler = urllib2.urlopen(get_url) raw = handler.read() - print raw[0:255] + print(raw[0:255]) with open('ic348_wise.tbl', 'wb') as f: f.write(raw) @@ -169,7 +169,7 @@ a couple of columns:: t = [t1, t2, t3, t4, t5] for i in t: c = (type(i), i['j_m_2mass'].dtype, i['tmass_key'].dtype) - print "%40s%10s%10s" % c + print("%40s%10s%10s" % c) The output table types (and hence their built-in utilities), column data types and treatment of null values vary and this matters when trying to make a plot