fit_model_to_spectrum#
- jdaviz.configs.default.plugins.model_fitting.fitting_backend.fit_model_to_spectrum(spectrum, component_list, expression, run_fitter=False, fitter=<astropy.modeling.fitting.TRFLSQFitter object>, window=None, n_cpu=None, **kwargs)[source]#
Fits a
CompoundModelto aSpectruminstance.If the input spectrum represents a spectral cube, then fits the model to every spaxel in the cube, using a multiprocessor pool running in parallel (if
n_cpuis larger than 1).- Parameters:
- spectrum
Spectrum The spectrum to be fitted.
- component_listlist
Spectral model subcomponents stored in a list. Their
'name'attribute must be unique. Each subcomponent should be an initialized object fromModel.- expressionstr
The arithmetic expression that combines together the model subcomponents. The subcomponents are referred via their
'name'attribute.- run_fitterbool
This is currently being ignored for 3D fits. When
False(the default), the function composes the compound model and returns it without fitting.- window
NoneorSpectralRegion - n_cpu
Noneor int This is only used for spectral cube fitting. Number of cores to use for multiprocessing. Using all the cores at once is not recommended. If
None, it will use max cores minus one. Set this to 1 for debugging.
- spectrum
- Returns:
- output_model
CompoundModelor list The model resulting from the fit. In the case of a 1D input spectrum, a single model instance is returned. In case of a 3D spectral cube input, instead o model instances for every spaxel, a list with 2D arrays, each one storing fitted parameter values for all spaxels, is returned.
- output_spectrum
Spectrum The realization of the fitted model as a spectrum. The spectrum will be 1D or 3D depending on the shape of input spectrum.
- output_model