add_model
- sherpa.astro.ui.add_model(modelclass, args=(), kwargs={})
Create a user-defined model class.
Create a model from a class. The name of the class can then be used to create model components - e.g. with
set_model
orcreate_model_component
- as with any existing Sherpa model.- Parameters:
modelclass – A class derived from
sherpa.models.model.ArithmeticModel
. This class defines the functional form and the parameters of the model.args – Arguments for the class constructor.
kwargs – Keyword arguments for the class constructor.
See also
create_model_component
Create a model component.
list_models
List the available model types.
load_table_model
Load tabular data and use it as a model component.
load_user_model
Create a user-defined model.
set_model
Set the source model expression for a data set.
Notes
The
load_user_model
function is designed to make it easy to add a model, but the interface is not the same as the existing models (such as having to call bothload_user_model
andadd_user_pars
for each new instance). Theadd_model
function is used to add a model as a Python class, which is more work to set up, but then acts the same way as the existing models.Examples
The following example creates a model type called “mygauss1d” which will behave excatly the same as the existing “gauss1d” model. Normally the class used with
add_model
would add new functionality.>>> from sherpa.models import Gauss1D >>> class MyGauss1D(Gauss1D): ... pass ... >>> add_model(MyGauss1D) >>> set_source(mygauss1d.g1 + mygauss1d.g2)