Optimization & Simulation functions

Fitting spectra

class pyspex.spex.fit.Fit

This is the parent class of all fit related commands.

Variables:
  • stat (basestring) – Fit statistics.

  • cstat (float) – C-statistics value.

  • chisq (float) – Chi-squared value.

  • wstat (float) – W-statistics value (not recommended).

  • nfree (int) – Degrees of freedom.

  • cstatexp (float) – Expected C-statistics value (C-stat only).

  • cstatrms (float) – RMS uncertainty on expected C-stat value.

  • ann_rt (float) – Simulated annealing: rt

  • ann_eps (float) – Simulated annealing: eps

  • ann_t (float) – Simulated annealing: t

  • ann_vm (float) – Simulated annealing: vm

  • ann_ns (int) – Simulated annealing: ns

  • ann_max (int) – Simulated annealing: max evaluations

  • ann_print (int) – Simulated annealing: print flag

fit(niter=100)

Execute the SPEX fit command. The maximum number of iterations (niter) can be optionally set.

Parameters:

niter (int) – Number of fit iterations.

fit_print(status)

Print each fit iteration to the console (default is True). The status variable can be either True or False, which means printing is on or off, respectively.

Parameters:

status (bool) – Set fit to high verbosity (True is yes, False is no).

get_method()

Get the current type of statistics being used in the fit, for example chi2, cstat or wstat.

get_statistic()

Get the current type of statistics being used in the fit, for example chi2, cstat or wstat.

set_ann(param, value)

Set the simulating annealing method parameters.

Parameters:
  • param (str) – Type of annealing parameter (rt, t, eps, vm, ns, max, or print).

  • value (float) – Value of the parameter (will be converted to the nearest int if necessary).

set_method(meth)

Set the desired fit statistics.

Parameters:

stat (str) – Abbreviation for the fit statistics to be used. For example: ‘csta’, ‘chi2’, ‘wsta’.

set_statistic(stat)

Set the desired fit statistics.

Parameters:

stat (str) – Abbreviation for the fit statistics to be used. For example: ‘csta’, ‘chi2’, ‘wsta’.

set_statistic_inst(stat, inst, reg)

Set the desired fit statistics per instrument and region.

Parameters:
  • stat (str) – Abbreviation for the fit statistics to be used. For example: ‘csta’, ‘chi2’, ‘wsta’.

  • inst (int) – Instrument number.

  • reg (int) – Region number.

show()

Print the fit statistics to the terminal.

update()

Get the most recent statistics values from SPEX.

Error calculation

class pyspex.spex.fit.Error

Class to calculate errors for free fit parameters.

Variables:
  • sector (int) – Sector number of parameter

  • component (int) – Component number of parameter

  • parameter (str) – Parameter name

  • value (float) – Parameter value

  • lerr (float) – Lower error boundary

  • uerr (float) – Upper error boundary

  • lc (bool) – Is there a lower C-stat or chi**2 value found?

  • cmin (float) – Lowest C-stat or chi**2 value

  • pmin (float) – Parameter value for which a better C-stat or Chi**2 was found

  • dchi (float) – Delta C-stat or chi**2 to optimize for

  • calculated (bool) – Is the error calculated?

error(isect, icomp, name, dchi=None)

Calculate the error value for a particular parameter.

Parameters:
  • isect (int) – Sector number of the parameter.

  • icomp (int) – Component number of the parameter.

  • name (str) – Parameter name.

  • dchi (float) – (Optional) \(\Delta\chi^2\) value to optimize for (Default: 1.0, 68% errors)

get_value()

Convenience function to return the parameter value and the errors.

Returns:

A tuple with the parameter value, lower error and upper error.

Return type:

tuple

set_dchi(dchi)

Set the delta c-stat or delta chi**2 value that the error search should optimize for. The default value is 1.0.

Parameters:

dchi (float) – \(\Delta\chi^2\) value to optimize for (Default: 1.0, 68% errors)

start(value)

Set the starting value for the error calculation.

Parameters:

value (float) – Starting value for the error calculation.

Simulating spectra

class pyspex.spex.fit.Simulate

Class to simulate spectra.

set_bnoise(status)

Add Poisson noise to the background spectrum (status is True or False).

Parameters:

status (bool) – Add Poisson noise to the simulated background spectrum.

set_instrument(i1, i2, c1, c2)

Define the range of instruments to simulate.

Parameters:

irange – Instrument range to simulate (default all)

set_noise(status)

Add Poisson noise to the source spectrum (status is True or False).

Parameters:

status (bool) – Add Poisson noise to the simulated source spectrum.

set_random_seed(rand, seed)

Set the random seed to an integer value.

Parameters:
  • rand (bool) – Should the seed be randomly set?

  • seed (int) – Set the random seed for the simulation.

set_syserr(src, bkg)

Add a systematic error to the source spectrum (src) and to the background spectrum (bkg).

Parameters:
  • src (float) – Add a systematic error to the source spectrum.

  • bkg (float) – Add a systematic error to the background spectrum.

simulate(extime, ssys=None, bsys=None, noise=None, bnoise=None, seed=None)

Simulate a spectrum for exposure time extime and optionally with a number of options.

Parameters:
  • extime (float) – Exposure time to simulate.

  • ssys (float) – (Optional) Add a systematic error to the source spectrum (Default 0).

  • bsys (float) – (Optional) Add a systematic error to the background spectrum (Default 0).

  • noise (bool) – (Optional) Add Poisson noise to the simulated source spectrum (Default True).

  • bnoise (bool) – (Optional) Add Poisson noise to the simulated background spectrum (Default False).

  • seed (int) – (Optional) Set the random seed for the simulation (Default: system clock).

simulate_exposure(extime)

Simulate the spectrum for the provided exposure time.

Parameters:

extime (float) – Exposure time to simulate.