Synopsis
Plot a radial or elliptical profile of the fit (data and model) and residuals (data-model) to imaging data.
Syntax
prof_fit_resid( [id], [model=None, rstep=None, rmin=None, rmax=None, rlo=None, rhi=None, xpos=None, ypos=None, ellip=None, theta=None, group_counts=None, group_snr=None, label=True, recalc=True] )
Description
The prof_fit_resid command calculates the radial - or elliptical - profile of the imaging data, model, and residual (data-model), and plots them. It is a combination of the plot_fit() and plot_resid() commands, where the residuals appear in a separate plot below the fit values. The profile is defined by the existing model compenents, although it is possible to over-ride these values.
The residual values are calculated as
data - model
The prof_fit_delchi() command can be used if you want to plot
(data - model) / error
Loading the routine
The routine can be loaded into Sherpa by saying:
from sherpa_contrib.profiles import *
Argument options
The argument options are the same as for the prof_data() command, except for the overplot command which is not supported, and are described in the ahelp page for prof_data().
Changing the plot defaults
The plot created by prof_fit_resid() is controlled by the data, model, and resid preferences - i.e. the values returned by get_data_prof_prefs(), get_model_prof_prefs(), and get_resid_prof_prefs(). Changing these settings will therefore change the appearance of any new plots created by prof_fit_resid(). For example
sherpa> get_data_prof_prefs()["xlog"] = True sherpa> get_model_prof_prefs()["linecolor"] = "green" sherpa> get_resid_prof_prefs()["errstyle"] = "capped"
will cause any new fit plots to use logarithmic scaling for the X axis, draw the model using a green line, and use the capped style for drawing the error bars in the residual plot. See the ahelp files for get_data_prof_prefs, get_model_prof_prefs, and get_resid_prof_prefs for the available preference settings.
Examples
Example 1
sherpa> prof_fit_resid() sherpa> get_data_prof_prefs()["ylog"] = True sherpa> get_resid_prof_prefs()["xlog"] = True sherpa> prof_fit_resid()
The plots are created, first with the default settings and then after setting the the Y and X axes to log scaling.
Example 2
sherpa> prof_fit_resid(group_snr=15)
The data is plotted after the bins have been grouped so that each bin has a signal to noise ratio of 15 or more.
Example 3
sherpa> prof_fit_resid(rmin=10, rmax=100, rstep=5)
Calculate the profile in radial bins with low/high limits of 10-15, 15-20, 20-25, ..., 90-95, 95-100. If the group_counts or group_snr option was also given - e.g.
sherpa> prof_fit_resid(rmin=10, rmax=100, rstep=5, group_counts=100)
then the grouping would be applied to these bins.
Example 4
sherpa> prof_fit_resid(rlo=[0,10,20,40,60,100,200])
Calculate the profile in radial bins with low/high limits of 0-10, 10-20, 20-40, 40-60, 60-100, 100-200.
Example 5
sherpa> prof_fit_resid(rstep=[1,10,2,20,5,50,10])
The radii used for the radial bins depends on the radius as shown in the table below:
radius | bin width |
---|---|
0 to 10 | 1 |
10 to 20 | 2 |
20 to 50 | 5 |
above 50 | 10 |
The minimum and maximum radii used are taken from the data.
Example 6
sherpa> load_image("img.fits") sherpa> set_source(beta2d.clus + gauss2d.qso + const2d.bgnd) sherpa> fit() ... sherpa> prof_fit_resid(model=qso) sherpa> thaw(clus.ellip) sherpa> thaw(clus.theta) sherpa> fit() ... sherpa> prof_fit_resid(model=clus)
Since the model expression contains two components which have xpos, ypos, ellip, and theta parameters - namely clus and qso - the model argument is used to select the gauss2d (qso) values for the first plot and the beta2d (clus) values for the second plot.
If the clus model has a non-zero ellipticity then the second plot will have used elliptical annuli to calculate the profile. To use circular annuli in this case we can manually override the model's ellipticity parameter by saying:
sherpa> prof_fit_resid(model=clus, ellip=0)
Bugs
See the bugs pages on the Sherpa website for an up-to-date listing of known bugs.
See Also
- contrib
- get_data_prof, get_data_prof_prefs, get_delchi_prof, get_delchi_prof_prefs, get_fit_prof, get_model_prof, get_model_prof_prefs, get_resid_prof, get_resid_prof_prefs, get_source_prof, get_source_prof_prefs, plot_chart_spectrum, plot_marx_spectrum, prof_data, prof_delchi, prof_fit, prof_fit_delchi, prof_model, prof_resid, prof_source, sherpa_profiles
- data
- get_arf_plot, get_bkg_chisqr_plot, get_bkg_delchi_plot, get_bkg_fit_plot, get_bkg_model_plot, get_bkg_plot, get_bkg_ratio_plot, get_bkg_resid_plot, get_bkg_source_plot
- modeling
- normal_sample, t_sample, uniform_sample
- plotting
- get_cdf_plot, get_energy_flux_hist, get_pdf_plot, get_photon_flux_hist, get_pvalue_plot, get_pvalue_results, get_split_plot, plot, plot_arf, plot_bkg, plot_bkg_chisqr, plot_bkg_delchi, plot_bkg_fit, plot_bkg_fit_delchi, plot_bkg_fit_resid, plot_bkg_model, plot_bkg_ratio, plot_bkg_resid, plot_bkg_source, plot_cdf, plot_chisqr, plot_data, plot_delchi, plot_energy_flux, plot_fit, plot_fit_delchi, plot_fit_resid, plot_model, plot_model_component, plot_order, plot_pdf, plot_photon_flux, plot_pvalue, plot_ratio, plot_resid, plot_scatter, plot_source, plot_source_component, plot_trace, set_xlinear, set_xlog, set_ylinear, set_ylog
- psfs
- plot_kernel
- statistics
- get_chisqr_plot, get_delchi_plot
- visualization
- contour_resid