Code academy's Functions unit
A calculator takes two numbers and an operator as input and then performs the operator on the two numbers.
Ex: 1 + 2 = 3 .
Inputs: '1', '2', '+'
Output: '3'
Check out what happens when you run these in the ipython notebook:
In [1]:
1+2
Out[1]:
In [2]:
print 1+2
ipython has some built in functions, like the addition operator, symbolized as the plus sign, and 'print'.
Much of the rest of these lectures will be focused on learning to use the many libraries of code developed by others to do some pretty spectacular things.
Before then, let's explore how we actually write functions!
Here's an example of a function:
In [4]:
def spam() :
"""print eggs!"""
print "Eggs!"
return 0
It's comprised of 3 parts:
and the body, which actually does the task required.
What does spam do when we call it?
In [5]:
spam()
Out[5]:
Notice the different parts of the header in spam.
What are the minimum parts necessary to define the function?
Clearly we typically want to do more than just print out something predefined though!
Let's return to our intial addition example.
Write a function add1() that takes one input parameter, adds 1 to it, and returns the result.
In [8]:
def add1(param):
'''add 1 to the input param'''
y=param+1
return y
Now try executing it:
In [9]:
add1(2)
Out[9]:
What output did you get?
Compare to your neighbor's add1 function.
What does the second part of your function (ie the comment) say?
Why do we care about commenting our code?
Now make a function called 'add' that takes two numbers as input parameters, adds them, and returns that number.
In [10]:
def add(a,b) :
'''how to add to numbers! ... or two stings'''
return a+b
And call it with arguments 1 and 2:
In [11]:
add(1,2)
Out[11]:
A function can take any number of parameters as input.
The number of arguments passed to the function through the parameters generally matches the number of parameters.
Try passing fewer or more than 2 arguments to add().
What happens?
In [12]:
add(1,2,3)
Functions can also call other functions!
Recall the equation for a line: y=mx+b
Write a function called line() that calls add() and returns y, given x.
In [13]:
def line(x):
'''return the y value of a line, given the x value'''
m = 2
b = 0
y=add(m*x,b)
return y
In [14]:
line(1)
Out[14]:
What if we want to be able to change the slope (m) and intercept (b) on the fly?
Scope:
What variables (aka parameters) exist outside the scope of the functions we have written?
Hint: try asking for their values (by naming them and then executing that cell)!
In [17]:
m
Redefine line() with user-defined slope and intercept.
In [15]:
def line(x, m, b):
'''return the y value of a line, given the x value'''
y=add(m*x,b)
return y
In [16]:
line(1, 2, 0)
Out[16]:
What if we the slope and intercept to be default values of 2 and 0, respectively, but changable sometimes?
Hint: try setting the parameters to equal the default values!
In [29]:
def line(x, m=2, b=0):
'''return the y value of a line, given the x value'''
y=add(m*x,b)
return y
What happens when you call line with only one, two, or three parameters?
What's the minimum number of parameters required?
In [30]:
line(1, b=3)
Out[30]:
What if you only want to allow the function to work on slopes that are even?
Write evenSlopedLine() such that a naieve user can call it and learn something useful about how to use the function if they give it an odd slope value.
In [36]:
def evenSlopedLine(x, m=0, b=0) :
'''return the y value for a line with input x and optinal m and b'''
if m%2==0 :
y=add(m*x, b)
return y
else :
return "Sorry, only even slopes are allowed."
In [37]:
evenSlopedLine(1, m=3)
Out[37]:
Test it with m = 2 and m = 3:
In [40]:
def test(x, vals):
"""Return the values of the function evenSlopedLine given x and an array of slopes."""
result=[]
for n in vals :
result.append(evenSlopedLine(x, n))
return result
x=1
m=[2,3]
test(x, m)
Out[40]:
Suppose you want evenSlopedLine() to just work. Use add1() to make it so.
Why might this be good?
What are some potential drawbacks?
In [39]:
def evenSlopedLine(x, m=0, b=0) :
'''return the y value for a line with input x and optinal m and b'''
if m%2==0 :
y=add(m*x, b)
return y
else :
m=add1(m)
return add(m*x, b)
Rewrite test() as evenSlopesYs, taking an optional x value and returning the array of y values for slopes in the array: m = [1,2,3,4,5,6,7,8,9,10] .
Hint: try different orders for the optional and required parameters!
In [42]:
def evenSlopesYs(vals, x=1):
"""Return the values of the function evenSlopedLine given x and an array of slopes."""
result=[]
for n in vals :
result.append(evenSlopedLine(x, n))
return result
m=[1,2,3,4,5,6,7,8,9,10]
evenSlopesYs(m)
Out[42]:
Compare your working result with your neighbor's.
How did you each treat the odd slopes?
What might be advantages or disadvantages to your various solutions?
You want to calculate the overlap of two circles given the position of their centers (x1,y1) and (x2,y2) and their radii r1 and r2.
You know that the overlap is 0 if the distance between the two circles is greater than the sum of their radii.
You also know the overlap is the area of the smaller circle if one circle is contained within the other.
Your colleague wrote some code to calculate the area of the intersection, if the two circles overlap but don't fall in one of the special cases just mentioned (no overlap or fully contained). This is great! Unfortunately your colleague wasn't a fan of functions, so you know only that the area of intersection is:
In [ ]:
rr1=r1**2
rr2=r2**2
phi = (math.acos((rr1 + (d ** 2) - rr2) / (2 * r1 * d))) * 2
theta = (math.acos((rr2 + (d ** 2) - rr1) / (2 * r2 * d))) * 2
area1 = 0.5 * theta * rr2 - 0.5 * rr2 * math.sin(theta)
area2 = 0.5 * phi * rr1 - 0.5 * rr1 * math.sin(phi)
area= area1 + area2
Define a function called interarea() which takes as input the positions and radii of the two circles and returns the area of the intersection.
Feel free to rename your colleague's variables if a different convention makes more sense to you.
Write at least 3 test cases to be sure your functions work for all scenarios!
(There are hints at the end of the exercise's parts.)
In [43]:
import math as math
def interarea(x1,y1,r1,x2,y2,r2) :
'''return the overlap area of two circles given the center points (x1, y1) and (x2, y2) and their radii: r1 and r2'''
d = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
rr1=r1**2
rr2=r2**2
if d<abs(r2-r1) :
print "100% overlap!"
return math.pi*min(r1,r2)**2
elif d>=r1+r2:
print "No overlap!"
return 0
else :
phi = (math.acos((rr1 + (d ** 2) - rr2) / (2 * r1 * d))) * 2
theta = (math.acos((rr2 + (d ** 2) - rr1) / (2 * r2 * d))) * 2
area1 = 0.5 * theta * rr2 - 0.5 * rr2 * math.sin(theta)
area2 = 0.5 * phi * rr1 - 0.5 * rr1 * math.sin(phi)
area= area1 + area2
print "partial overlap: area = ", area
return area
You want to know the area of the intersection because you're interested in associating a point source, defined as a position (x1,y1) with an error in the measurement of (x1Err, y1Err), with a known source of position (x2,y2) with a given error on the position measurement of r2Err.
To do that, you've decided to define the "location overlap" fraction as the intersection area divided by the maximum possible area of intersection allowed by the errors in the position measurements.
Write a function overlapFracLoc() which returns the location overlap fraction.
Hint! The overlap fraction should range between 0 and 1.
You can either create your own data set (eg w random.random()) or use the data provided for candidates (source 1) and flares (source 2) at the bottom of this notebook and equivalently in candidates.txt and flare.txt.
In [ ]:
The first point source could also actually be an extended source. How exciting!
So in addition to having a radius and thus circle defined by the position error measurement (x1Err, y1Err), it can also have an actual extension measured (r1Ext).
Write another function which calculates the fractional extension overlap, overlapFracExt(), defined to be the ratio of [the intersection of the circle defined by the actual extension (r1Ext) and the position error circle (x2,y2,r2Err)] to the maximum area of either the first or second source.
Of course, not all the sources are extended, but we would still like to define this parameter. It's sensible if one considers the minimum resolvable radius, i.e. the boundary between when we can detect that a source is actually extended.
If the source is a point source, use an optionally settable parameter for the extension (==minimum resolvable radius), and return the ratio relative to the second source's area (defined by r2Err).
In [ ]:
In [ ]:
d = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
Note the error message when you first try to evaluate d: python doesn't know what math is.
Math turns out to be one of those useful libraries of functions (and variables like pi). You can import them within the scope of a variable you call (as) math with:
In [ ]:
import math as math
Typically we import modules like math globally.
It's also possible to import from the math module just the particular function desired:
In [ ]:
from math import sqrt
In [ ]:
sqrt(25)
We can also rename it as:
In [ ]:
from math import sqrt as squareroot
In [ ]:
squareroot(25)
Note which version of import your colleague used in their code.
A. By definition in Part 1, the maximum area of overlap is when one circle is fully contained within the other. Thus the fractional overlap is defined as the intersection area divided by the minimum of the radii.
B. There are several ways to convert the given error measurement (x1Err, y1Err) into a radius. Consider the relative sizes and their impact on the final fraction calculated. Optionally, allow the user to select which option to use!
Try writing your functions in a file and running the code from the terminal.
Hint: Calling "python filename.py" will execute the code in filename.py.
Write functions to read in the data from files.
Write a wrapper function that takes the data read in from the files and calls the fractional overlap functions.
candidates.txt contains the first sources' information, including position, position error, extension, and extension error (all in degrees, and incidentally in the RA & Dec coordinate system; just assume cartesian geometry!).
flare.txt contains the second sources' information, including position and position error radius (also in degrees and RA,Dec).
Write the results to the terminal and then to a file.
How else might you display the results?
Use matplotlib to display the interesting results!
*(extracted from candidates.txt and flare.txt)
In [ ]:
candidatesData = {'SNR357.0-1.0': {'raErr': 0.271981431953, 'decErr': 0.234572055248, 'radius': 0.0, 'ra': 265.612194957, 'radiusErr': 0.0, 'dec': -32.045488282}, 'SNR305.2+0.4': {'raErr': 0.230708064968, 'decErr': 0.224605379155, 'radius': 0.0, 'ra': 197.711507061, 'radiusErr': 0.0, 'dec': -62.4200203869}, 'SNR34.5-1.8': {'raErr': 0.243113651368, 'decErr': 0.235113062829, 'radius': 0.0, 'ra': 285.178490429, 'radiusErr': 0.0, 'dec': 0.597646829113}, 'SNR179.0+3.4': {'raErr': 0.231809181189, 'decErr': 0.231489134935, 'radius': 0.0, 'ra': 89.1713292269, 'radiusErr': 0.0, 'dec': 31.4951149482}, 'SNR0.9-3.2': {'raErr': 0.287716937271, 'decErr': 0.287716937271, 'radius': 2.68576864989, 'ra': 270.078473699, 'radiusErr': 0.0745858407624, 'dec': -29.7964411324}, 'SNR6.7-0.8': {'raErr': 0.24706826093, 'decErr': 0.24706826093, 'radius': 1.61811862853, 'ra': 270.946260674, 'radiusErr': 0.0362000163985, 'dec': -23.5765462593}, 'SNR37.4-2.6': {'raErr': 0.223437466251, 'decErr': 0.218477218501, 'radius': 0.0, 'ra': 287.193642574, 'radiusErr': 0.0, 'dec': 2.79930826528}, 'SNR206.0-0.4': {'raErr': 0.311777416739, 'decErr': 0.311777416739, 'radius': 3.16518333722, 'ra': 99.3480499716, 'radiusErr': 0.0829090932598, 'dec': 6.04291711301}, 'SNR260.0-1.2': {'raErr': 0.219684652942, 'decErr': 0.219684652942, 'radius': 1.05326352149, 'ra': 127.619604964, 'radiusErr': 0.0241890082999, 'dec': -41.3686479476}, 'SNR4.5+3.1': {'raErr': 0.36342658877, 'decErr': 0.36342658877, 'radius': 3.63289679912, 'ra': 266.081085134, 'radiusErr': 0.0403179887527, 'dec': -23.5162043303}, 'SNR350.8+0.6': {'raErr': 0.226943837147, 'decErr': 0.218266375394, 'radius': 0.0, 'ra': 259.821259092, 'radiusErr': 0.0, 'dec': -36.3657425647}, 'SNR36.6-2.7': {'raErr': 0.213787209434, 'decErr': 0.218556786321, 'radius': 0.698134038916, 'ra': 286.888157707, 'radiusErr': 0.0193633172924, 'dec': 2.03796233627}, 'SNR133.1+2.0': {'raErr': 0.256251963544, 'decErr': 0.256251963544, 'radius': 1.4571202293, 'ra': 35.8303573643, 'radiusErr': 0.0589524317201, 'dec': 63.016863932}, 'SNR0.5-1.0': {'raErr': 0.213520647551, 'decErr': 0.491818560314, 'radius': 3.64836077677, 'ra': 267.714692466, 'radiusErr': 0.0246423475888, 'dec': -29.056555018}, 'SNR21.7-4.6': {'raErr': 0.261238806812, 'decErr': 0.228564707775, 'radius': 0.0, 'ra': 281.834000499, 'radiusErr': 0.0, 'dec': -12.0421945577}, 'SNR187.5+4.3': {'raErr': 0.207130074927, 'decErr': 0.205781790933, 'radius': 1.28816870319, 'ra': 94.7693692753, 'radiusErr': 0.00875163251335, 'dec': 24.5142843902}, 'SNR307.9+1.1': {'raErr': 0.268809096198, 'decErr': 0.268809096198, 'radius': 0.948980341874, 'ra': 203.294861341, 'radiusErr': 0.0688023427086, 'dec': -61.3380483636}, 'SNR26.7-2.9': {'raErr': 0.238906235566, 'decErr': 0.238906235566, 'radius': 0.666441980216, 'ra': 282.554062879, 'radiusErr': 0.0378130702637, 'dec': -6.8920362723}, 'SNR266.6+1.1': {'raErr': 0.253406814737, 'decErr': 0.253406814737, 'radius': 1.71293639428, 'ra': 135.870977376, 'radiusErr': 0.0445868105039, 'dec': -45.1219937402}, 'SNR192.6+1.5': {'raErr': 0.29267141516, 'decErr': 0.257917683615, 'radius': 0.0, 'ra': 94.6639732117, 'radiusErr': 0.0, 'dec': 18.6874706276}, 'SNR292.7+0.6': {'raErr': 0.211669864532, 'decErr': 0.211529641793, 'radius': 0.0, 'ra': 171.769078323, 'radiusErr': 0.0, 'dec': -60.5705794929}, 'SNR348.9-0.4': {'raErr': 0.241375544076, 'decErr': 0.241375544076, 'radius': 1.37703943137, 'ra': 259.425427937, 'radiusErr': 0.0346313902607, 'dec': -38.4677640832}, 'SNR1.3-2.9': {'raErr': 0.276048520226, 'decErr': 0.276048520226, 'radius': 2.89045818583, 'ra': 270.040273019, 'radiusErr': 0.0580412932745, 'dec': -29.2575899789}, 'SNR19.6-0.2': {'raErr': 0.218599592668, 'decErr': 0.215109650286, 'radius': 0.0, 'ra': 276.873652703, 'radiusErr': 0.0, 'dec': -11.8917300079}, 'SNR288.0+0.8': {'raErr': 0.233711496338, 'decErr': 0.233711496338, 'radius': 1.86996638915, 'ra': 163.294239207, 'radiusErr': 0.0508525104263, 'dec': -58.6315983807}, 'SNR313.2+0.8': {'raErr': 0.394070303943, 'decErr': 0.394070303943, 'radius': 1.70579742563, 'ra': 213.932796558, 'radiusErr': 0.0528298804548, 'dec': -60.4095049085}, 'SNR34.9-3.6': {'raErr': 0.298655659691, 'decErr': 0.268422313615, 'radius': 0.0, 'ra': 286.982102109, 'radiusErr': 0.0, 'dec': 0.0681712044775}, 'SNR77.8-10.4': {'raErr': 0.255675770164, 'decErr': 0.255675770164, 'radius': 2.54424199628, 'ra': 317.286698163, 'radiusErr': 0.0432313048963, 'dec': 32.3791351336}, 'SNR356.9-2.2': {'raErr': 0.262974308106, 'decErr': 0.257591367918, 'radius': 0.0, 'ra': 266.748578364, 'radiusErr': 0.0, 'dec': -32.7404998269}, 'SNR33.6-2.0': {'raErr': 0.379497447662, 'decErr': 0.379497447662, 'radius': 2.69385048285, 'ra': 284.957646547, 'radiusErr': 0.102425262102, 'dec': -0.316655458163}, 'SNR353.7+0.4': {'raErr': 0.246005751271, 'decErr': 0.246005751271, 'radius': 1.23307152431, 'ra': 261.999939154, 'radiusErr': 0.0819007090426, 'dec': -33.9988614089}, 'SNR338.4+0.7': {'raErr': 0.251629117163, 'decErr': 0.251629117163, 'radius': 2.8293996792, 'ra': 249.479447695, 'radiusErr': 0.100211831445, 'dec': -45.9863390198}, 'SNR338.5-1.2': {'raErr': 0.238002174149, 'decErr': 0.238002174149, 'radius': 0.935759126861, 'ra': 251.704491372, 'radiusErr': 0.0241741004183, 'dec': -47.181164597}, 'SNR264.4-0.8': {'raErr': 0.22305862071, 'decErr': 0.219152934832, 'radius': 0.0, 'ra': 131.758850198, 'radiusErr': 0.0, 'dec': -44.6702066761}, 'SNR321.8-1.9': {'raErr': 0.218281076948, 'decErr': 0.216582158807, 'radius': 0.0, 'ra': 231.615371743, 'radiusErr': 0.0, 'dec': -58.9345087487}, 'SNR292.3-0.0': {'raErr': 0.225969979162, 'decErr': 0.225969979162, 'radius': 0.927298739579, 'ra': 170.511752225, 'radiusErr': 0.0395919631572, 'dec': -61.0622576573}, 'SNR349.9+0.9': {'raErr': 0.216179967762, 'decErr': 0.213377009531, 'radius': 0.0, 'ra': 258.886658595, 'radiusErr': 0.0, 'dec': -36.8597486164}, 'SNR19.6-3.3': {'raErr': 0.344205084869, 'decErr': 0.344205084869, 'radius': 3.04704002084, 'ra': 279.659282116, 'radiusErr': 0.0545954052338, 'dec': -13.3957517685}, 'SNR3.2-2.2': {'raErr': 0.227442192502, 'decErr': 0.221265865521, 'radius': 0.0, 'ra': 270.352408502, 'radiusErr': 0.0, 'dec': -27.2731176644}, 'SNR326.9-2.1': {'raErr': 0.217548504499, 'decErr': 0.217548504499, 'radius': 0.938827953143, 'ra': 239.409968227, 'radiusErr': 0.0254444041526, 'dec': -56.0366371638}, 'SNR318.7-0.9': {'raErr': 0.235692743113, 'decErr': 0.224930318533, 'radius': 0.0, 'ra': 225.390216638, 'radiusErr': 0.0, 'dec': -59.7206378884}, 'SNR298.8+1.8': {'raErr': 0.225842286172, 'decErr': 0.221696652515, 'radius': 0.0, 'ra': 184.342648857, 'radiusErr': 0.0, 'dec': -60.7649405423}, 'SNR28.3-3.0': {'raErr': 0.228599044991, 'decErr': 0.228599044991, 'radius': 0.840031316494, 'ra': 283.438429381, 'radiusErr': 0.0356132924753, 'dec': -5.50680845713}, 'SNR349.9-0.6': {'raErr': 0.216028596904, 'decErr': 0.213251133676, 'radius': 0.0, 'ra': 260.422638137, 'radiusErr': 0.0, 'dec': -37.7348753207}, 'SNR110.2-0.5': {'raErr': 0.236849515328, 'decErr': 0.230260437312, 'radius': 0.0, 'ra': 346.95051627, 'radiusErr': 0.0, 'dec': 59.81091111}, 'SNR349.0-2.8': {'raErr': 0.29074521768, 'decErr': 0.384293598602, 'radius': 2.83871530095, 'ra': 262.10978964, 'radiusErr': 0.0871497833017, 'dec': -39.7314877386}, 'SNR38.0-1.2': {'raErr': 0.283037547031, 'decErr': 0.283037547031, 'radius': 1.34579950505, 'ra': 286.233309323, 'radiusErr': 0.0532988018448, 'dec': 3.94808854222}, 'SNR19.6-1.5': {'raErr': 0.257374355229, 'decErr': 0.257374355229, 'radius': 1.74060124067, 'ra': 278.047525227, 'radiusErr': 0.0919806094943, 'dec': -12.5523966455}, 'SNR91.5+4.2': {'raErr': 0.263638985711, 'decErr': 0.263638985711, 'radius': 1.47211097459, 'ra': 314.685294819, 'radiusErr': 0.059201947235, 'dec': 52.313575239}, 'SNR21.3-2.3': {'raErr': 0.294407339889, 'decErr': 0.246261917561, 'radius': 0.0, 'ra': 279.548261093, 'radiusErr': 0.0, 'dec': -11.4031668834}, 'SNR75.2+1.0': {'raErr': 0.215353155464, 'decErr': 0.213779870664, 'radius': 0.0, 'ra': 304.349927117, 'radiusErr': 0.0, 'dec': 37.3362577335}, 'SNR185.6-3.4': {'raErr': 0.202794333677, 'decErr': 0.20271688318, 'radius': 0.0, 'ra': 86.4210131902, 'radiusErr': 0.0, 'dec': 22.4377998483}, 'SNR31.0+0.3': {'raErr': 0.248025266891, 'decErr': 0.248025266891, 'radius': 0.607140537348, 'ra': 281.743487302, 'radiusErr': 0.0669140104212, 'dec': -1.55237255283}, 'SNR338.9-0.7': {'raErr': 0.225481752104, 'decErr': 0.225481752104, 'radius': 1.05623055203, 'ra': 251.521101135, 'radiusErr': 0.0446777776714, 'dec': -46.5753551249}, 'SNR330.6-0.0': {'raErr': 0.234954432574, 'decErr': 0.234954432574, 'radius': 0.966485195736, 'ra': 241.813325782, 'radiusErr': 0.0348944403116, 'dec': -52.0696464985}, 'SNR179.7-1.6': {'raErr': 0.295735580209, 'decErr': 0.295735580209, 'radius': 2.2746520516, 'ra': 84.6514062551, 'radiusErr': 0.0627806184125, 'dec': 28.3537157867}, 'SNR314.3+1.0': {'raErr': 0.274438303389, 'decErr': 0.274438303389, 'radius': 1.29691980645, 'ra': 215.909934841, 'radiusErr': 0.0371154850299, 'dec': -59.8191299263}, 'SNR298.4+11.8': {'raErr': 0.313375760068, 'decErr': 0.313375760068, 'radius': 1.76035220138, 'ra': 185.757884938, 'radiusErr': 0.0768070296844, 'dec': -50.8660030744}, 'SNR27.9-0.7': {'raErr': 0.258584479144, 'decErr': 0.258584479144, 'radius': 1.67659641636, 'ra': 281.196489622, 'radiusErr': 0.0440245156953, 'dec': -4.7862936741}, 'SNR24.4-0.1': {'raErr': 0.234521546046, 'decErr': 0.234521546046, 'radius': 1.12957934733, 'ra': 279.072202377, 'radiusErr': 0.0370680188077, 'dec': -7.60274129272}, 'SNR15.4-3.2': {'raErr': 0.236252794145, 'decErr': 0.236252794145, 'radius': 0.904611875572, 'ra': 277.632251388, 'radiusErr': 0.0661079886355, 'dec': -17.1098893637}, 'SNR1.5-1.8': {'raErr': 0.301136570075, 'decErr': 0.350579204193, 'radius': 3.97194529144, 'ra': 269.083870298, 'radiusErr': 0.0106048222889, 'dec': -28.5346640059}, 'SNR27.7-2.1': {'raErr': 0.251936191748, 'decErr': 0.251936191748, 'radius': 1.36738670143, 'ra': 282.350910245, 'radiusErr': 0.0378777867137, 'dec': -5.58498279785}, 'SNR47.3+0.1': {'raErr': 0.232245266658, 'decErr': 0.22595209949, 'radius': 0.0, 'ra': 289.433674631, 'radiusErr': 0.0, 'dec': 12.8215567861}, 'SNR340.0+1.2': {'raErr': 0.222737932148, 'decErr': 0.222737932148, 'radius': 0.511918833626, 'ra': 250.42984654, 'radiusErr': 0.0273043571285, 'dec': -44.4949793168}, 'SNR30.0-1.9': {'raErr': 0.232168094995, 'decErr': 0.232168094995, 'radius': 1.69218827621, 'ra': 283.220120639, 'radiusErr': 0.0330618850719, 'dec': -3.48120201817}, 'SNR7.0-2.0': {'raErr': 0.312222919137, 'decErr': 0.267941316416, 'radius': 0.0, 'ra': 272.286431813, 'radiusErr': 0.0, 'dec': -23.9070487126}, 'SNR44.2-1.5': {'raErr': 0.208068049359, 'decErr': 0.20768641136, 'radius': 0.0, 'ra': 289.366755954, 'radiusErr': 0.0, 'dec': 9.27952062116}, 'SNR340.5-1.4': {'raErr': 0.217865253515, 'decErr': 0.217865253515, 'radius': 1.1099562952, 'ra': 253.750178228, 'radiusErr': 0.026096770521, 'dec': -45.728520612}, 'SNR212.0-0.4': {'raErr': 0.236335938673, 'decErr': 0.233634411825, 'radius': 0.0, 'ra': 102.064573789, 'radiusErr': 0.0, 'dec': 0.585185159102}, 'SNR33.8-0.6': {'raErr': 0.282578061319, 'decErr': 0.282578061319, 'radius': 1.71854086244, 'ra': 283.818949902, 'radiusErr': 0.093282108915, 'dec': 0.518769676872}, 'SNR292.0+3.3': {'raErr': 0.216935056034, 'decErr': 0.215769395535, 'radius': 0.0, 'ra': 172.093936919, 'radiusErr': 0.0, 'dec': -57.8300773879}, 'SNR80.6+0.6': {'raErr': 0.229616117211, 'decErr': 0.229616117211, 'radius': 1.67791494779, 'ra': 308.825443364, 'radiusErr': 0.0342199404282, 'dec': 41.4608292626}, 'SNR113.6-1.9': {'raErr': 0.210205443684, 'decErr': 0.209880072488, 'radius': 0.0, 'ra': 354.133277338, 'radiusErr': 0.0, 'dec': 59.6193946617}, 'SNR31.7-1.4': {'raErr': 0.380821634236, 'decErr': 0.380821634236, 'radius': 3.28938499231, 'ra': 283.57307866, 'radiusErr': 0.0966106582556, 'dec': -1.72169220629}, 'SNR76.5+0.5': {'raErr': 0.239194370141, 'decErr': 0.237042031629, 'radius': 0.0, 'ra': 305.79604969, 'radiusErr': 0.0, 'dec': 38.0899242377}, 'SNR359.9-3.9': {'raErr': 0.370403396666, 'decErr': 0.370403396666, 'radius': 3.40579876002, 'ra': 270.248088067, 'radiusErr': 0.0322331856041, 'dec': -31.0404354684}, 'SNR13.9-2.5': {'raErr': 0.246910688874, 'decErr': 0.230218282388, 'radius': 0.0, 'ra': 276.166824682, 'radiusErr': 0.0, 'dec': -18.0610935207}, 'SNR1.8-4.3': {'raErr': 0.289021434669, 'decErr': 0.289021434669, 'radius': 3.81421375835, 'ra': 271.728824097, 'radiusErr': 0.0379135371627, 'dec': -29.5968366794}, 'SNR356.2+0.3': {'raErr': 0.235796937237, 'decErr': 0.231081834107, 'radius': 0.0, 'ra': 263.780658892, 'radiusErr': 0.0, 'dec': -31.9487883966}, 'SNR284.4-1.1': {'raErr': 0.208806630737, 'decErr': 0.208371410621, 'radius': 0.0, 'ra': 155.495025217, 'radiusErr': 0.0, 'dec': -58.5085968979}, 'SNR10.6+0.2': {'raErr': 0.225499913609, 'decErr': 0.225499913609, 'radius': 1.10449743091, 'ra': 272.032883863, 'radiusErr': 0.0341393645176, 'dec': -19.7032873662}, 'SNR7.2-1.0': {'raErr': 0.212435277411, 'decErr': 0.212435277411, 'radius': 1.15182527401, 'ra': 271.458009475, 'radiusErr': 0.0181587333311, 'dec': -23.2450887576}, 'SNR8.4-3.3': {'raErr': 0.24715969135, 'decErr': 0.244745829424, 'radius': 0.0, 'ra': 274.287183754, 'radiusErr': 0.0, 'dec': -23.2733938363}, 'SNR10.6-0.0': {'raErr': 0.216131293557, 'decErr': 0.216131293557, 'radius': 1.1415765588, 'ra': 272.248039653, 'radiusErr': 0.02081870657, 'dec': -19.7838255334}, 'SNR19.5-0.5': {'raErr': 0.329306643087, 'decErr': 0.329306643087, 'radius': 3.33374746458, 'ra': 277.035347808, 'radiusErr': 0.0638087205202, 'dec': -12.1823823697}, 'SNR29.9-0.1': {'raErr': 0.226943543794, 'decErr': 0.220524036188, 'radius': 0.0, 'ra': 281.586115676, 'radiusErr': 0.0, 'dec': -2.74345446505}, 'SNR333.5+1.0': {'raErr': 0.225792647797, 'decErr': 0.22178170716, 'radius': 0.0, 'ra': 244.032656947, 'radiusErr': 0.0, 'dec': -49.305185678}, 'SNR19.0-3.8': {'raErr': 0.240504129745, 'decErr': 0.240504129745, 'radius': 2.97308953392, 'ra': 279.888971769, 'radiusErr': 0.0297750778352, 'dec': -14.1878114482}, 'SNR19.1-4.5': {'raErr': 0.258761006736, 'decErr': 0.258761006736, 'radius': 1.43509359229, 'ra': 280.599105519, 'radiusErr': 0.0528473369628, 'dec': -14.3515550345}, 'SNR25.1-1.8': {'raErr': 0.229996217496, 'decErr': 0.229996217496, 'radius': 1.03107244152, 'ra': 280.858348847, 'radiusErr': 0.0380107405473, 'dec': -7.82248442903}, 'SNR13.1-1.2': {'raErr': 0.234350036095, 'decErr': 0.226731586895, 'radius': 0.0, 'ra': 274.602218968, 'radiusErr': 0.0, 'dec': -18.1865742766}, 'SNR338.9+0.1': {'raErr': 0.222766347396, 'decErr': 0.218998825863, 'radius': 0.0, 'ra': 250.52920877, 'radiusErr': 0.0, 'dec': -46.0119304027}, 'SNR32.2-0.1': {'raErr': 0.224030013612, 'decErr': 0.224030013612, 'radius': 1.28305718136, 'ra': 282.658087263, 'radiusErr': 0.0542669367717, 'dec': -0.688323988425}, 'SNR33.6+0.4': {'raErr': 0.274322951956, 'decErr': 0.245689538065, 'radius': 0.0, 'ra': 282.788714843, 'radiusErr': 0.0, 'dec': 0.823801501246}, 'SNR0.2-1.1': {'raErr': 0.231727942038, 'decErr': 0.229055997984, 'radius': 0.0, 'ra': 267.577987688, 'radiusErr': 0.0, 'dec': -29.3043856157}, 'SNR50.6-0.8': {'raErr': 0.209175932656, 'decErr': 0.209175932656, 'radius': 1.05319549445, 'ra': 291.900664176, 'radiusErr': 0.0159060774408, 'dec': 15.2813222061}, 'SNR21.1-2.8': {'raErr': 0.243908532658, 'decErr': 0.243908532658, 'radius': 2.39797220885, 'ra': 279.965228189, 'radiusErr': 0.0543193832304, 'dec': -11.7788597994}, 'SNR324.4-0.0': {'raErr': 0.219817336197, 'decErr': 0.218253702216, 'radius': 0.0, 'ra': 233.713747774, 'radiusErr': 0.0, 'dec': -55.9346857956}, 'SNR334.2-1.9': {'raErr': 0.233771109082, 'decErr': 0.233771109082, 'radius': 1.38014246042, 'ra': 248.115723197, 'radiusErr': 0.0490037345498, 'dec': -50.8741175307}, 'SNR338.2-0.9': {'raErr': 0.254174197169, 'decErr': 0.254174197169, 'radius': 1.26483497373, 'ra': 251.025366585, 'radiusErr': 0.0286707253048, 'dec': -47.2488966627}}
flaresData = {'Flare54': {'dec': -6.21, 'radius': 1.8, 'ra': 174.2}, 'Flare55': {'dec': 13.27, 'radius': 1.01, 'ra': 238.56}, 'Flare56': {'dec': 52.7, 'radius': 1.39, 'ra': 121.5}, 'Flare57': {'dec': 78.56, 'radius': 0.68, 'ra': 271.96}, 'Flare50': {'dec': 50.57, 'radius': 0.63, 'ra': 132.32}, 'Flare51': {'dec': 32.07, 'radius': 1.01, 'ra': 350.45}, 'Flare52': {'dec': 4.84, 'radius': 1.39, 'ra': 153.94}, 'Flare53': {'dec': 11.11, 'radius': 1.01, 'ra': 72.07}, 'Flare58': {'dec': -46.67, 'radius': 1.01, 'ra': 41.7}, 'Flare59': {'dec': -1.96, 'radius': 1.39, 'ra': 323.52}, 'Flare138': {'dec': 0.91, 'radius': 1.8, 'ra': 165.18}, 'Flare139': {'dec': -27.99, 'radius': 1.39, 'ra': 34.97}, 'Flare134': {'dec': 35.73, 'radius': 1.39, 'ra': 34.79}, 'Flare135': {'dec': -48.83, 'radius': 1.39, 'ra': 269.92}, 'Flare136': {'dec': 38.28, 'radius': 0.63, 'ra': 249.16}, 'Flare137': {'dec': -29.32, 'radius': 1.39, 'ra': 161.57}, 'Flare130': {'dec': 42.92, 'radius': 0.84, 'ra': 36.29}, 'Flare131': {'dec': -50.17, 'radius': 1.39, 'ra': 137.24}, 'Flare132': {'dec': -21.06, 'radius': 1.8, 'ra': 57.75}, 'Flare133': {'dec': -2.43, 'radius': 1.8, 'ra': 55.26}, 'Flare166': {'dec': -31.93, 'radius': 1.39, 'ra': 155.78}, 'Flare61': {'dec': 45.71, 'radius': 1.01, 'ra': 315.87}, 'Flare60': {'dec': -26.66, 'radius': 1.39, 'ra': 333.6}, 'Flare63': {'dec': -33.7, 'radius': 1.01, 'ra': 258.88}, 'Flare62': {'dec': -12.98, 'radius': 0.84, 'ra': 263.2}, 'Flare65': {'dec': 60.67, 'radius': 0.95, 'ra': 39.28}, 'Flare64': {'dec': -4.97, 'radius': 0.59, 'ra': 203.18}, 'Flare67': {'dec': -25.88, 'radius': 0.63, 'ra': 191.56}, 'Flare66': {'dec': 18.02, 'radius': 1.01, 'ra': 259.88}, 'Flare69': {'dec': -1.49, 'radius': 1.39, 'ra': 65.66}, 'Flare68': {'dec': 45.49, 'radius': 1.39, 'ra': 79.32}, 'Flare161': {'dec': 28.58, 'radius': 0.59, 'ra': 39.5}, 'Flare160': {'dec': -11.54, 'radius': 0.68, 'ra': 18.94}, 'Flare129': {'dec': -53.72, 'radius': 1.39, 'ra': 332.38}, 'Flare128': {'dec': 32.35, 'radius': 0.63, 'ra': 282.58}, 'Flare127': {'dec': 15.5, 'radius': 1.39, 'ra': 30.95}, 'Flare126': {'dec': 2.16, 'radius': 0.63, 'ra': 187.43}, 'Flare125': {'dec': -20.05, 'radius': 1.3, 'ra': 287.56}, 'Flare124': {'dec': 52.1, 'radius': 1.01, 'ra': 265.8}, 'Flare123': {'dec': 4.69, 'radius': 0.74, 'ra': 76.12}, 'Flare122': {'dec': 61.53, 'radius': 1.39, 'ra': 121.02}, 'Flare121': {'dec': -1.77, 'radius': 1.39, 'ra': 75.92}, 'Flare120': {'dec': -83.96, 'radius': 1.39, 'ra': 328.85}, 'Flare165': {'dec': 19.5, 'radius': 1.01, 'ra': 108.05}, 'Flare173': {'dec': -29.58, 'radius': 1.39, 'ra': 207.21}, 'Flare164': {'dec': 67.09, 'radius': 0.49, 'ra': 283.29}, 'Flare78': {'dec': 5.78, 'radius': 1.39, 'ra': 100.11}, 'Flare79': {'dec': -39.31, 'radius': 0.63, 'ra': 270.92}, 'Flare76': {'dec': 16.01, 'radius': 1.8, 'ra': 81.3}, 'Flare77': {'dec': 47.51, 'radius': 1.8, 'ra': 24.81}, 'Flare74': {'dec': -30.49, 'radius': 0.86, 'ra': 328.63}, 'Flare75': {'dec': 37.19, 'radius': 1.39, 'ra': 303.22}, 'Flare72': {'dec': -15.89, 'radius': 0.41, 'ra': 356.35}, 'Flare73': {'dec': -51.19, 'radius': 0.68, 'ra': 32.42}, 'Flare70': {'dec': 48.85, 'radius': 0.59, 'ra': 198.29}, 'Flare71': {'dec': -56.45, 'radius': 1.39, 'ra': 36.99}, 'Flare112': {'dec': 33.76, 'radius': 1.39, 'ra': 305.99}, 'Flare113': {'dec': 49.73, 'radius': 0.68, 'ra': 178.24}, 'Flare110': {'dec': -35.87, 'radius': 1.39, 'ra': 136.3}, 'Flare111': {'dec': 4.69, 'radius': 1.39, 'ra': 162.82}, 'Flare116': {'dec': 31.62, 'radius': 0.59, 'ra': 230.75}, 'Flare117': {'dec': 11.8, 'radius': 0.84, 'ra': 338.35}, 'Flare114': {'dec': -13.9, 'radius': 1.39, 'ra': 149.43}, 'Flare115': {'dec': 50.11, 'radius': 1.39, 'ra': 265.32}, 'Flare118': {'dec': -66.29, 'radius': 1.39, 'ra': 353.25}, 'Flare119': {'dec': -49.79, 'radius': 0.84, 'ra': 352.17}, 'Flare198': {'dec': 34.83, 'radius': 1.8, 'ra': 167.58}, 'Flare199': {'dec': -22.74, 'radius': 1.39, 'ra': 195.04}, 'Flare192': {'dec': 54.96, 'radius': 0.68, 'ra': 115.18}, 'Flare193': {'dec': -47.35, 'radius': 0.74, 'ra': 314.16}, 'Flare190': {'dec': -54.96, 'radius': 1.39, 'ra': 84.37}, 'Flare191': {'dec': -60.37, 'radius': 1.39, 'ra': 66.94}, 'Flare196': {'dec': -39.36, 'radius': 1.39, 'ra': 339.75}, 'Flare197': {'dec': -38.05, 'radius': 0.49, 'ra': 67.02}, 'Flare194': {'dec': 24.37, 'radius': 1.39, 'ra': 149.38}, 'Flare195': {'dec': 50.77, 'radius': 0.74, 'ra': 330.62}, 'Flare167': {'dec': -21.19, 'radius': 0.84, 'ra': 291.03}, 'Flare170': {'dec': -40.44, 'radius': 1.01, 'ra': 353.29}, 'Flare171': {'dec': -31.63, 'radius': 1.8, 'ra': 229.26}, 'Flare172': {'dec': -24.46, 'radius': 0.84, 'ra': 45.65}, 'Flare105': {'dec': -12.27, 'radius': 0.84, 'ra': 132.41}, 'Flare104': {'dec': -36.49, 'radius': 1.39, 'ra': 37.14}, 'Flare107': {'dec': -13.39, 'radius': 0.53, 'ra': 233.37}, 'Flare106': {'dec': 1.77, 'radius': 1.39, 'ra': 33.84}, 'Flare101': {'dec': -55.85, 'radius': 1.8, 'ra': 202.86}, 'Flare100': {'dec': -64.92, 'radius': 0.86, 'ra': 195.99}, 'Flare103': {'dec': 4.69, 'radius': 1.39, 'ra': 203.41}, 'Flare102': {'dec': 1.35, 'radius': 1.8, 'ra': 48.14}, 'Flare174': {'dec': 44.19, 'radius': 1.39, 'ra': 300.26}, 'Flare109': {'dec': -3.85, 'radius': 1.39, 'ra': 350.73}, 'Flare108': {'dec': 30.21, 'radius': 1.39, 'ra': 208.34}, 'Flare175': {'dec': -56.45, 'radius': 1.39, 'ra': 119.83}, 'Flare189': {'dec': -5.5, 'radius': 0.84, 'ra': 170.21}, 'Flare176': {'dec': 45.07, 'radius': 0.84, 'ra': 103.04}, 'Flare200': {'dec': 24.32, 'radius': 1.39, 'ra': 153.47}, 'Flare185': {'dec': 7.23, 'radius': 0.84, 'ra': 83.26}, 'Flare184': {'dec': 16.52, 'radius': 0.44, 'ra': 39.72}, 'Flare187': {'dec': 32.49, 'radius': 0.84, 'ra': 198.25}, 'Flare177': {'dec': 65.88, 'radius': 1.39, 'ra': 148.76}, 'Flare181': {'dec': 1.59, 'radius': 1.39, 'ra': 137.67}, 'Flare180': {'dec': -36.43, 'radius': 1.39, 'ra': 80.08}, 'Flare183': {'dec': -36.21, 'radius': 0.59, 'ra': 60.65}, 'Flare182': {'dec': -0.74, 'radius': 1.01, 'ra': 70.45}, 'Flare18': {'dec': 54.9, 'radius': 1.39, 'ra': 181.36}, 'Flare19': {'dec': 28.17, 'radius': 1.39, 'ra': 141.14}, 'Flare201': {'dec': 1.13, 'radius': 1.08, 'ra': 147.17}, 'Flare10': {'dec': -52.35, 'radius': 1.01, 'ra': 259.7}, 'Flare11': {'dec': -6.03, 'radius': 1.8, 'ra': 341.82}, 'Flare12': {'dec': -30.2, 'radius': 1.8, 'ra': 101.75}, 'Flare13': {'dec': 42.23, 'radius': 0.56, 'ra': 330.56}, 'Flare14': {'dec': 41.0, 'radius': 1.39, 'ra': 250.49}, 'Flare15': {'dec': 14.14, 'radius': 0.56, 'ra': 111.15}, 'Flare16': {'dec': -62.38, 'radius': 1.8, 'ra': 256.22}, 'Flare17': {'dec': 33.08, 'radius': 0.84, 'ra': 110.14}, 'Flare83': {'dec': 10.1, 'radius': 0.68, 'ra': 33.18}, 'Flare82': {'dec': -9.12, 'radius': 0.5, 'ra': 228.34}, 'Flare81': {'dec': 17.72, 'radius': 1.8, 'ra': 326.07}, 'Flare80': {'dec': -70.28, 'radius': 1.39, 'ra': 91.08}, 'Flare87': {'dec': -35.96, 'radius': 1.39, 'ra': 288.58}, 'Flare86': {'dec': -35.57, 'radius': 0.63, 'ra': 224.76}, 'Flare85': {'dec': 24.17, 'radius': 1.39, 'ra': 116.92}, 'Flare84': {'dec': 32.55, 'radius': 1.01, 'ra': 268.36}, 'Flare178': {'dec': 70.23, 'radius': 0.84, 'ra': 266.67}, 'Flare179': {'dec': 36.98, 'radius': 1.39, 'ra': 112.62}, 'Flare89': {'dec': 33.63, 'radius': 0.46, 'ra': 95.65}, 'Flare88': {'dec': 40.93, 'radius': 1.08, 'ra': 308.59}, 'Flare163': {'dec': 1.56, 'radius': 1.8, 'ra': 116.55}, 'Flare2': {'dec': 9.38, 'radius': 1.39, 'ra': 267.78}, 'Flare3': {'dec': -44.26, 'radius': 0.51, 'ra': 84.07}, 'Flare0': {'dec': 39.12, 'radius': 0.74, 'ra': 263.99}, 'Flare1': {'dec': 61.27, 'radius': 0.84, 'ra': 18.12}, 'Flare6': {'dec': 44.87, 'radius': 0.56, 'ra': 206.64}, 'Flare7': {'dec': -7.55, 'radius': 0.56, 'ra': 306.65}, 'Flare4': {'dec': -38.36, 'radius': 1.39, 'ra': 299.07}, 'Flare5': {'dec': -27.82, 'radius': 0.84, 'ra': 343.02}, 'Flare8': {'dec': 48.59, 'radius': 1.39, 'ra': 283.36}, 'Flare9': {'dec': -55.05, 'radius': 1.8, 'ra': 7.28}, 'Flare188': {'dec': 70.77, 'radius': 1.39, 'ra': 131.43}, 'Flare90': {'dec': -46.03, 'radius': 1.8, 'ra': 320.5}, 'Flare91': {'dec': -11.71, 'radius': 0.95, 'ra': 112.24}, 'Flare92': {'dec': 2.49, 'radius': 1.39, 'ra': 122.8}, 'Flare93': {'dec': -40.37, 'radius': 1.39, 'ra': 53.43}, 'Flare94': {'dec': -42.84, 'radius': 1.39, 'ra': 299.19}, 'Flare95': {'dec': -53.17, 'radius': 0.84, 'ra': 159.57}, 'Flare96': {'dec': 29.94, 'radius': 1.39, 'ra': 184.36}, 'Flare97': {'dec': 47.56, 'radius': 1.39, 'ra': 250.29}, 'Flare98': {'dec': -32.97, 'radius': 1.39, 'ra': 268.0}, 'Flare99': {'dec': 10.49, 'radius': 0.35, 'ra': 226.28}, 'Flare169': {'dec': -34.21, 'radius': 1.8, 'ra': 84.89}, 'Flare168': {'dec': 31.46, 'radius': 1.39, 'ra': 329.9}, 'Flare186': {'dec': 41.63, 'radius': 0.84, 'ra': 50.15}, 'Flare156': {'dec': -64.43, 'radius': 1.8, 'ra': 171.21}, 'Flare157': {'dec': 68.58, 'radius': 0.84, 'ra': 255.11}, 'Flare154': {'dec': 4.41, 'radius': 1.01, 'ra': 190.12}, 'Flare155': {'dec': 79.94, 'radius': 1.39, 'ra': 57.74}, 'Flare152': {'dec': -21.06, 'radius': 0.51, 'ra': 278.63}, 'Flare153': {'dec': 60.94, 'radius': 0.63, 'ra': 158.35}, 'Flare150': {'dec': -70.17, 'radius': 1.01, 'ra': 202.32}, 'Flare151': {'dec': 6.21, 'radius': 1.39, 'ra': 160.17}, 'Flare206': {'dec': 40.39, 'radius': 1.39, 'ra': 351.55}, 'Flare207': {'dec': -22.6, 'radius': 0.74, 'ra': 42.88}, 'Flare204': {'dec': 30.37, 'radius': 0.68, 'ra': 30.87}, 'Flare205': {'dec': 11.16, 'radius': 1.39, 'ra': 309.08}, 'Flare202': {'dec': -48.41, 'radius': 0.59, 'ra': 83.24}, 'Flare203': {'dec': -75.45, 'radius': 0.68, 'ra': 327.06}, 'Flare158': {'dec': 43.38, 'radius': 0.51, 'ra': 257.7}, 'Flare159': {'dec': 22.39, 'radius': 1.8, 'ra': 52.48}, 'Flare25': {'dec': -2.74, 'radius': 1.8, 'ra': 136.96}, 'Flare24': {'dec': -2.3, 'radius': 1.39, 'ra': 7.85}, 'Flare27': {'dec': 0.84, 'radius': 1.39, 'ra': 129.98}, 'Flare26': {'dec': 13.97, 'radius': 1.01, 'ra': 84.5}, 'Flare21': {'dec': -8.21, 'radius': 0.63, 'ra': 122.14}, 'Flare20': {'dec': 71.14, 'radius': 0.56, 'ra': 109.46}, 'Flare23': {'dec': 58.34, 'radius': 0.68, 'ra': 16.04}, 'Flare22': {'dec': 39.92, 'radius': 0.84, 'ra': 176.37}, 'Flare29': {'dec': 44.56, 'radius': 0.68, 'ra': 140.16}, 'Flare28': {'dec': -5.35, 'radius': 1.8, 'ra': 4.77}, 'Flare162': {'dec': 9.36, 'radius': 1.39, 'ra': 352.57}, 'Flare47': {'dec': 23.04, 'radius': 1.39, 'ra': 18.03}, 'Flare46': {'dec': -7.87, 'radius': 1.3, 'ra': 337.38}, 'Flare45': {'dec': -33.63, 'radius': 1.39, 'ra': 199.72}, 'Flare44': {'dec': -11.17, 'radius': 0.74, 'ra': 207.78}, 'Flare43': {'dec': -21.46, 'radius': 1.39, 'ra': 352.31}, 'Flare42': {'dec': -20.18, 'radius': 0.84, 'ra': 97.19}, 'Flare41': {'dec': 32.52, 'radius': 1.8, 'ra': 53.44}, 'Flare40': {'dec': 16.21, 'radius': 0.53, 'ra': 343.57}, 'Flare49': {'dec': -19.23, 'radius': 0.68, 'ra': 172.33}, 'Flare48': {'dec': -23.56, 'radius': 0.49, 'ra': 74.06}, 'Flare149': {'dec': 21.37, 'radius': 0.51, 'ra': 186.22}, 'Flare148': {'dec': 27.29, 'radius': 1.39, 'ra': 265.0}, 'Flare141': {'dec': 81.38, 'radius': 1.39, 'ra': 161.49}, 'Flare140': {'dec': 32.2, 'radius': 1.01, 'ra': 18.41}, 'Flare143': {'dec': -5.82, 'radius': 0.51, 'ra': 194.27}, 'Flare142': {'dec': -46.74, 'radius': 1.39, 'ra': 105.88}, 'Flare145': {'dec': 56.84, 'radius': 1.01, 'ra': 276.32}, 'Flare144': {'dec': 37.89, 'radius': 1.39, 'ra': 165.75}, 'Flare147': {'dec': -61.6, 'radius': 0.84, 'ra': 38.73}, 'Flare146': {'dec': 20.45, 'radius': 0.74, 'ra': 133.77}, 'Flare211': {'dec': -17.3, 'radius': 1.8, 'ra': 30.96}, 'Flare210': {'dec': 29.51, 'radius': 0.63, 'ra': 180.23}, 'Flare213': {'dec': -25.73, 'radius': 0.74, 'ra': 246.58}, 'Flare212': {'dec': 4.21, 'radius': 1.39, 'ra': 127.78}, 'Flare208': {'dec': 48.34, 'radius': 1.39, 'ra': 254.18}, 'Flare209': {'dec': 34.34, 'radius': 0.68, 'ra': 347.93}, 'Flare32': {'dec': 10.4, 'radius': 0.74, 'ra': 47.18}, 'Flare33': {'dec': -52.33, 'radius': 1.39, 'ra': 276.98}, 'Flare30': {'dec': -25.2, 'radius': 1.39, 'ra': 55.7}, 'Flare31': {'dec': 77.17, 'radius': 1.8, 'ra': 256.91}, 'Flare36': {'dec': 55.3, 'radius': 1.39, 'ra': 198.03}, 'Flare37': {'dec': 35.99, 'radius': 0.74, 'ra': 214.86}, 'Flare34': {'dec': -80.23, 'radius': 1.39, 'ra': 287.49}, 'Flare35': {'dec': 21.6, 'radius': 1.39, 'ra': 83.23}, 'Flare38': {'dec': -14.4, 'radius': 0.68, 'ra': 339.35}, 'Flare39': {'dec': -41.83, 'radius': 0.63, 'ra': 217.09}}
NB: candidatesData and flaresData are dictionaries. The data in dicts is accessible via the keys, eg candidatesData[candidateName][variableName] :
In [ ]:
candidatesData['SNR357.0-1.0']['raErr']
In [ ]: