create_model_component¶
- sherpa.ui.create_model_component(typename=None, name=None)¶
Create a model component.
Model components created by this function are set to their default values. Components can also be created directly using the syntax
typename.name
, such as in calls toset_model
andset_source
(unless you have calledset_model_autoassign_func
to change the default model auto-assignment setting).- Parameters
typename (str) – The name of the model. This should match an entry from the return value of
list_models
, and defines the type of model.name (str) – The name used to refer to this instance, or component, of the model. A Python variable will be created with this name that can be used to inspect and change the model parameters, as well as use it in model expressions.
- Returns
model
- Return type
the sherpa.models.Model object created
See also
delete_model_component
Delete a model component.
get_model_component
Returns a model component given its name.
list_models
List the available model types.
list_model_components
List the names of all the model components.
set_model
Set the source model expression for a data set.
set_model_autoassign_func
Set the method used to create model component identifiers.
Notes
This function can over-write an existing component. If the over-written component is part of a source expression - as set by
set_model
- then the model evaluation will still use the old model definition (and be able to change the fit parameters), but direct access to its parameters is not possible since the name now refers to the new component (this is true using direct access, such asmname.parname
, or withset_par
).Examples
Create an instance of the
powlaw1d
model calledpl
, and then freeze itsgamma
parameter to 2.6.>>> create_model_component("powlaw1d", "pl") >>> pl.gamma = 2.6 >>> freeze(pl.gamma)
Create a blackbody model called bb, check that it is reconized as a component, and display its parameters:
>>> create_model_component("bbody", "bb") >>> list_model_components() >>> print(bb) >>> print(bb.ampl)