Sometimes, users just what to simulate a simple model and plot. This can be done quickly with five easy steps. Define the grid, the model, the initial model parameter values, add noise, and plot.
Example:
#!/usr/bin/env python
from sherpa.astro.ui import *
# create simple grid [0.1, 10] with a
# bin size of 0.01
dataspace1d(0.1,10,0.01, dstype=Data1D)
# define a gaussian model plus a constant
set_model(gauss1d.g1+const1d.c1)
# initialize parameter values
g1.pos = 5
g1.fwhm = 2.5
g1.ampl = 75
c1.c0 = 0.1
# evaluate the model, add poisson noise,
# and populate the dataspace
fake()
# plot faked data
plot_data()
Subscribe to:
Post Comments (Atom)
Can you take the same 5 steps to simulate 2D data?
ReplyDeleteOf course I would be using corresponding 2d functions:
dataspace2d()
....
Yes, same number of steps, but slightly different to simulate 2D data.
ReplyDelete#!/usr/bin/env python
from sherpa.astro.ui import *
dataspace2d([256,256])
set_model(gauss2d.g1+const2d.c1)
g1.fwhm = 128
g1.xpos = 128
g1.ypos = 128
g1.ampl = 75
c1.c0 = 0.1
fake()
image_data()