<p>I am trying to generate skymaps for a set of <a href="http://www.mpe.mpg.de/617954/Fermi-GBM" rel="nofollow noreferrer">Fermi GBM</a> triggers, containing the probability that a trigger originated in a given part of the sky.  For each trigger, I have access to the RA, dec, error radius, and reliability values.</p>

<p><a href="https://gcn.gsfc.nasa.gov/gcn/fermi_gbm_subthresh_archive.html" rel="nofollow noreferrer">This website</a> is a perfect example of what I am trying to do.  There is a table with with RA, Dec, error, and reliability values, which were used to generate maps <a href="https://gcn.gsfc.nasa.gov/notices_gbm_sub/gbm_subthresh_544041142.080000_map.png" rel="nofollow noreferrer">(sample)</a>.  My question is, how was this done?</p>

<p>My understanding of the problem is that I must first generate fits files based on the data, and then use either a python library or external program to render the skymap from the file.  </p>

<p>I have already looked at both <a href="http://healpy.readthedocs.io/en/latest/tutorial.html#creating-and-manipulating-maps" rel="nofollow noreferrer">healpy</a> and <a href="http://docs.astropy.org/en/stable/io/fits/" rel="nofollow noreferrer">astropy</a>, which provide a means to create and manipulate fits files.  Creating a blank fits file is easy, but I am at a loss as to how to populate the files I generate with relevant probabilities based on the data I have access to. Any help, even just a pointer in the right direction, would be greatly appreciated. Thank you for your time.</p>

<p>edit- description of the error radius parameter: </p>

<blockquote>
  <p>This parameter is the uncertainty in the position, in degrees. The GBM errors are not symmetric, and the given value is the average of the error ellipse.</p>
</blockquote>

<p>This is what results in the asymmetrical blob shapes.  </p>

CC BY-SA 3.0
2018-04-03T10:16:34.030Z
Isn't this "just" a Bayesian estimate? You want to calculate $Pr[\mathrm{location} = x|\mathrm{data}]= C Pr[\mathrm{data}|\mathrm{location}=x] Pr[\mathrm{location}=x]$ for some normalization constant C. I assume the prior term at the end is uniform, so all you need to do is to convert the error/reliability data into some distribution like the https://en.wikipedia.org/wiki/Kent_distribution or https://en.wikipedia.org/wiki/Von_Mises%E2%80%93Fisher_distribution and then calculate it for all points on the sky sphere.
Anders Sandberg
CC BY-SA 3.0
2018-04-03T17:14:14.323Z
There doesn't seem to be enough information. The maps show an asymmetric "blob" shaped distribution. The values that you have are just a measure of location and a measure of spread.  On its own that just gives you a circle on the sky.  If you assume a gaussian distribution, you get a fuzzy circle. But you need more information to justify a non circular distribution.
James K
CC BY-SA 3.0
2018-04-03T18:37:51.903Z
It looks like the map may be based on inference from the different sensors (the ovals) plus what I assume is some noise estimate data, resulting in the non-Gaussian blob. I can't see whether that raw data from the sensors is in the fits file, but otherwise the only thing Mike can do is to put a Gaussian (or Kent or von Mieses) blob on the map accordingly.
Anders Sandberg
CC BY-SA 3.0
2018-04-03T20:17:35.893Z
@JamesK Very good point,  I forgot to mention that the error_radius values given are not symmetric, and the given value is the average of the error ellipse.  This is what causes the asymmetrical blob shape in the skymap.  I will edit the main question to include this new piece of information.
Thank you all for your help thus far.
Mike
<python><gamma-ray-bursts><fits-header>
Generate probability skymap
Mike
# Generate probability skymap

(Asked by: username_0 on 2018-04-02)

I am trying to generate skymaps for a set of [Fermi GBM](http://www.mpe.mpg.de/617954/Fermi-GBM) triggers, containing the probability that a trigger originated in a given part of the sky. For each trigger, I have access to the RA, dec, error radius, and reliability values.

[This website](https://gcn.gsfc.nasa.gov/gcn/fermi_gbm_subthresh_archive.html) is a perfect example of what I am trying to do. There is a table with with RA, Dec, error, and reliability values, which were used to generate maps [(sample)](https://gcn.gsfc.nasa.gov/notices_gbm_sub/gbm_subthresh_544041142.080000_map.png). My question is, how was this done?

My understanding of the problem is that I must first generate fits files based on the data, and then use either a python library or external program to render the skymap from the file.

I have already looked at both [healpy](http://healpy.readthedocs.io/en/latest/tutorial.html#creating-and-manipulating-maps) and [astropy](http://docs.astropy.org/en/stable/io/fits/), which provide a means to create and manipulate fits files. Creating a blank fits file is easy, but I am at a loss as to how to populate the files I generate with relevant probabilities based on the data I have access to. Any help, even just a pointer in the right direction, would be greatly appreciated. Thank you for your time.

edit- description of the error radius parameter:

> This parameter is the uncertainty in the position, in degrees. The GBM errors are not symmetric, and the given value is the average of the error ellipse.

This is what results in the asymmetrical blob shapes.

**Tags:** python, gamma-ray-bursts, fits-header

> **Comments:**
> **username_1**: Isn't this "just" a Bayesian estimate? You want to calculate $Pr[\mathrm{location} = x|\mathrm{data}]= C Pr[\mathrm{data}|\mathrm{location}=x] Pr[\mathrm{location}=x]$ for some normalization constant C. I assume the prior term at the end is uniform, so all you need to do is to convert the error/reliability data into some distribution like the https://en.wikipedia.org/wiki/Kent_distribution or https://en.wikipedia.org/wiki/Von_Mises%E2%80%93Fisher_distribution and then calculate it for all points on the sky sphere.  
> **username_2**: There doesn't seem to be enough information. The maps show an asymmetric "blob" shaped distribution. The values that you have are just a measure of location and a measure of spread.  On its own that just gives you a circle on the sky.  If you assume a gaussian distribution, you get a fuzzy circle. But you need more information to justify a non circular distribution.  
> **username_1**: It looks like the map may be based on inference from the different sensors (the ovals) plus what I assume is some noise estimate data, resulting in the non-Gaussian blob. I can't see whether that raw data from the sensors is in the fits file, but otherwise the only thing username_0 can do is to put a Gaussian (or Kent or von Mieses) blob on the map accordingly.  
> **username_0**: @username_2 Very good point,  I forgot to mention that the error_radius values given are not symmetric, and the given value is the average of the error ellipse.  This is what causes the asymmetrical blob shape in the skymap.  I will edit the main question to include this new piece of information. Thank you all for your help thus far.  

---

## 0 answers

