MultiProFitPsfConfig¶
- class lsst.meas.extensions.multiprofit.fit_coadd_psf.MultiProFitPsfConfig(*args, **kw)¶
- Bases: - CatalogPsfFitterConfig,- CoaddPsfFitSubConfig- Configuration for the MultiProFit Gaussian mixture PSF fitter. - Attributes Summary - Catalog index column key ( - str, default- 'id')- Whether/how to compute sqrt(variances) of each free parameter ( - str, default- 'INV_HESSIAN_BESTFIT')- Whether to estimate the Hessian from the Jacobian first, with finite differencing as a backup ( - bool, default- True)- Whether to compute parameter errors independently, ignoring covariances ( - bool, default- True)- Fitter configuration ( - ModelFitConfig, default- <class 'lsst.multiprofit.modeller.ModelFitConfig'>)- Fit centroid parameters ( - bool, default- True)- Fit linear parameters after optimization ( - bool, default- True)- Fit linear parameters after initialization ( - bool, default- True)- Whether to fit parent object PSFs ( - bool, default- False)- Flag column names to set, keyed by name of exception to catch ( - Dict, default- {})- Fill value for float fields when creating the output table. - Whether to initialize the ellipse parameters from the model config; if False, they will remain at the best-fit values for the previous source's PSF ( - bool, default- True)- Fill value for integer fields when creating the output table. - PSF model configuration ( - SourceConfig, default- lsst.multiprofit.sourceconfig.SourceConfig(component_groups={'': {'centroids': {'default': {'x': {'fixed': False, 'value_initial': 0.0}, 'y': {'fixed': False, 'value_initial': 0.0}}}, 'components_gauss': {'gauss1': {'prior_axrat_mean': 0.7, 'prior_axrat_stddev': 0.0, 'prior_size_mean': 1.0, 'prior_size_stddev': 0.0, 'fluxfrac': {'fixed': False, 'value_initial': 0.5}, 'flux': {'fixed': True, 'value_initial': 1.0}, 'rho': {'fixed': False, 'value_initial': 0.0}, 'size_x': {'fixed': False, 'value_initial': 1.5}, 'size_y': {'fixed': False, 'value_initial': 1.5}, 'transform_flux_name': 'log10', 'transform_fluxfrac_name': 'logit_fluxfrac', 'transform_rho_name': 'logit_rho', 'transform_size_name': 'log10', 'transform_frac_name': 'log10'}, 'gauss2': {'prior_axrat_mean': 0.7, 'prior_axrat_stddev': 0.0, 'prior_size_mean': 1.0, 'prior_size_stddev': 0.0, 'fluxfrac': {'fixed': True, 'value_initial': 1.0}, 'flux': {'fixed': False, 'value_initial': 1.0}, 'rho': {'fixed': False, 'value_initial': 0.0}, 'size_x': {'fixed': False, 'value_initial': 3.0}, 'size_y': {'fixed': False, 'value_initial': 3.0}, 'transform_flux_name': 'log10', 'transform_fluxfrac_name': 'logit_fluxfrac', 'transform_rho_name': 'logit_rho', 'transform_size_name': 'log10', 'transform_frac_name': 'log10'}}, 'components_sersic': {}, 'is_fractional': True, 'transform_fluxfrac_name': 'logit_fluxfrac', 'transform_flux_name': 'log10'}}))- Naming scheme for column names ( - str, default- 'default')- Column name prefix ( - str, default- 'mpf_deepCoaddPsf_')- Mean for axis ratio prior ( - float, default- 0.95)- Default suffix for error columns. - Methods Summary - compare(other[, shortcut, rtol, atol, output])- Compare this configuration to another - Configfor equality.- formatHistory(name, **kwargs)- Format a configuration field's history to a human-readable format. - freeze()- Make this config, and all subconfigs, read-only. - Get the key for centroid columns. - get_key_flux(band[, label])- Get the key for a flux column. - Get the key for Sersic effective radius columns. - Get the key for ellipse rho columns. - Get the key for Sersic index columns. - Get the key for Gaussian sigma columns. - get_key_size(label_size)- Get the key for a size column by its label. - get_prefixed_label(label, prefix)- Get a prefixed label with redundant underscores removed. - Get the suffix for declination columns. - Get the suffix for right ascension columns. - Get the suffix for x-axis columns. - Get the suffix for y-axis columns. - items()- Get configurations as - (field name, field value)pairs.- keys()- Get field names. - load(filename[, root])- Modify this config in place by executing the Python code in a configuration file. - loadFromStream(stream[, root, filename, ...])- Modify this Config in place by executing the Python code in the provided stream. - loadFromString(code[, root, filename, ...])- Modify this Config in place by executing the Python code in the provided string. - make_catalog(n_rows, **kwargs)- Make a catalog with default-initialized column values. - make_psf_model([component_group_fluxes])- Make a PsfModel object for a given source. - names()- Get all the field names in the config, recursively. - save(filename[, root])- Save a Python script to the named file, which, when loaded, reproduces this config. - saveToStream(outfile[, root, skipImports])- Save a configuration file to a stream, which, when loaded, reproduces this config. - saveToString([skipImports])- Return the Python script form of this configuration as an executable string. - schema([bands])- Return the schema as an ordered list of columns. - Subclass hook for computing defaults. - toDict()- Make a dictionary of field names and their values. - update(**kw)- Update values of fields specified by the keyword arguments. - validate()- Validate the Config, raising an exception if invalid. - values()- Get field values. - Attributes Documentation - compute_errors¶
- Whether/how to compute sqrt(variances) of each free parameter ( - str, default- 'INV_HESSIAN_BESTFIT')- Allowed values: - 'NONE'
- no errors computed 
- 'INV_HESSIAN'
- inverse hessian using noisy image as data 
- 'INV_HESSIAN_BESTFIT'
- inverse hessian using best-fit model as data 
- 'None'
- Field is optional 
 
 - compute_errors_from_jacobian¶
- Whether to estimate the Hessian from the Jacobian first, with finite differencing as a backup ( - bool, default- True)
 - compute_errors_no_covar¶
- Whether to compute parameter errors independently, ignoring covariances ( - bool, default- True)
 - config_fit¶
- Fitter configuration ( - ModelFitConfig, default- <class 'lsst.multiprofit.modeller.ModelFitConfig'>)
 - flag_errors¶
- Flag column names to set, keyed by name of exception to catch ( - Dict, default- {})
 - history¶
- Read-only history. 
 - initialize_ellipses¶
- Whether to initialize the ellipse parameters from the model config; if False, they will remain at the best-fit values for the previous source’s PSF ( - bool, default- True)
 - model¶
- PSF model configuration ( - SourceConfig, default- lsst.multiprofit.sourceconfig.SourceConfig(component_groups={'': {'centroids': {'default': {'x': {'fixed': False, 'value_initial': 0.0}, 'y': {'fixed': False, 'value_initial': 0.0}}}, 'components_gauss': {'gauss1': {'prior_axrat_mean': 0.7, 'prior_axrat_stddev': 0.0, 'prior_size_mean': 1.0, 'prior_size_stddev': 0.0, 'fluxfrac': {'fixed': False, 'value_initial': 0.5}, 'flux': {'fixed': True, 'value_initial': 1.0}, 'rho': {'fixed': False, 'value_initial': 0.0}, 'size_x': {'fixed': False, 'value_initial': 1.5}, 'size_y': {'fixed': False, 'value_initial': 1.5}, 'transform_flux_name': 'log10', 'transform_fluxfrac_name': 'logit_fluxfrac', 'transform_rho_name': 'logit_rho', 'transform_size_name': 'log10', 'transform_frac_name': 'log10'}, 'gauss2': {'prior_axrat_mean': 0.7, 'prior_axrat_stddev': 0.0, 'prior_size_mean': 1.0, 'prior_size_stddev': 0.0, 'fluxfrac': {'fixed': True, 'value_initial': 1.0}, 'flux': {'fixed': False, 'value_initial': 1.0}, 'rho': {'fixed': False, 'value_initial': 0.0}, 'size_x': {'fixed': False, 'value_initial': 3.0}, 'size_y': {'fixed': False, 'value_initial': 3.0}, 'transform_flux_name': 'log10', 'transform_fluxfrac_name': 'logit_fluxfrac', 'transform_rho_name': 'logit_rho', 'transform_size_name': 'log10', 'transform_frac_name': 'log10'}}, 'components_sersic': {}, 'is_fractional': True, 'transform_fluxfrac_name': 'logit_fluxfrac', 'transform_flux_name': 'log10'}}))
 - naming_scheme¶
- Naming scheme for column names ( - str, default- 'default')- Allowed values: - 'default'
- snake_case with {component_name}[_{band}]_{parameter}[_err] 
- 'camel'
- CamelCase with {component_name}[_{band}]_{parameter}[Err] 
- 'lsst'
- snake_case with [{band}_]{component_name}_{parameter}[Err] 
- 'None'
- Field is optional 
 
 - suffix_error¶
- Default suffix for error columns. Can be overridden by naming_scheme. ( - str, default- '_err')
 - Methods Documentation - compare(other, shortcut=True, rtol=1e-08, atol=1e-08, output=None)¶
- Compare this configuration to another - Configfor equality.- Parameters:
- otherlsst.pex.config.Config
- Other - Configobject to compare against this config.
- shortcutbool, optional
- If - True, return as soon as an inequality is found. Default is- True.
- rtolfloat, optional
- Relative tolerance for floating point comparisons. 
- atolfloat, optional
- Absolute tolerance for floating point comparisons. 
- outputcallable, optional
- A callable that takes a string, used (possibly repeatedly) to report inequalities. 
 
- other
- Returns:
- isEqualbool
- Truewhen the two- lsst.pex.config.Configinstances are equal.- Falseif there is an inequality.
 
- isEqual
 - See also - Notes - Unselected targets of - RegistryFieldfields and unselected choices of- ConfigChoiceFieldfields are not considered by this method.- Floating point comparisons are performed by - numpy.allclose.
 - formatHistory(name, **kwargs)¶
- Format a configuration field’s history to a human-readable format. - Parameters:
- namestr
- Name of a - Fieldin this config.
- **kwargs
- Keyword arguments passed to - lsst.pex.config.history.format.
 
- name
- Returns:
- historystr
- A string containing the formatted history. 
 
- history
 - See also 
 - freeze()¶
- Make this config, and all subconfigs, read-only. 
 - get_key_flux(band: str, label: str = '') str¶
- Get the key for a flux column. - Parameters:
- band
- The band of the flux column. 
- label
- A label for this flux, e.g. a component name. 
 
- Returns:
- key_flux
- The flux column key. 
 
 
 - get_key_size(label_size: str) str¶
- Get the key for a size column by its label. - Parameters:
- label_size
- The label of the size, usually specified in a ComponentConfig. 
 
- Returns:
- key_size
- The size column key. 
 
 
 - get_prefixed_label(label: str, prefix: str) str¶
- Get a prefixed label with redundant underscores removed. - Parameters:
- label
- The label to format. 
- prefix
- The prefix to prepend. 
 
- Returns:
- label_prefixed
- The prefixed label, with redundant underscores removed. 
 
 
 - items()¶
- Get configurations as - (field name, field value)pairs.- Returns:
- itemsItemsView
- Iterator of tuples for each configuration. Tuple items are: - Field name. 
- Field value. 
 
 
- items
 
 - keys()¶
- Get field names. - Returns:
- namesKeysView
- List of - lsst.pex.config.Fieldnames.
 
- names
 
 - load(filename, root='config')¶
- Modify this config in place by executing the Python code in a configuration file. - Parameters:
- filenamestr
- Name of the configuration file. A configuration file is Python module. 
- rootstr, optional
- Name of the variable in file that refers to the config being overridden. - For example, the value of root is - "config"and the file contains:- config.myField = 5 - Then this config’s field - myFieldis set to- 5.
 
- filename
 
 - loadFromStream(stream, root='config', filename=None, extraLocals=None)¶
- Modify this Config in place by executing the Python code in the provided stream. - Parameters:
- streamfile-like object, str,bytes, orCodeType
- Stream containing configuration override code. If this is a code object, it should be compiled with - mode="exec".
- rootstr, optional
- Name of the variable in file that refers to the config being overridden. - For example, the value of root is - "config"and the file contains:- config.myField = 5 - Then this config’s field - myFieldis set to- 5.
- filenamestr, optional
- Name of the configuration file, or - Noneif unknown or contained in the stream. Used for error reporting.
- extraLocalsdictofstrtoobject, optional
- Any extra variables to include in local scope when loading. 
 
- streamfile-like object, 
 - See also - Notes - For backwards compatibility reasons, this method accepts strings, bytes and code objects as well as file-like objects. New code should use - loadFromStringinstead for most of these types.
 - loadFromString(code, root='config', filename=None, extraLocals=None)¶
- Modify this Config in place by executing the Python code in the provided string. - Parameters:
- codestr,bytes, orCodeType
- Stream containing configuration override code. 
- rootstr, optional
- Name of the variable in file that refers to the config being overridden. - For example, the value of root is - "config"and the file contains:- config.myField = 5 - Then this config’s field - myFieldis set to- 5.
- filenamestr, optional
- Name of the configuration file, or - Noneif unknown or contained in the stream. Used for error reporting.
- extraLocalsdictofstrtoobject, optional
- Any extra variables to include in local scope when loading. 
 
- code
- Raises:
- ValueError
- Raised if a key in extraLocals is the same value as the value of the root argument. 
 
 
 - make_catalog(n_rows: int, **kwargs)¶
- Make a catalog with default-initialized column values. - Parameters:
- n_rows
- The number of rows to create. 
- **kwargs
- Keyword arguments to pass to self.schema. 
 
- Returns:
- catalog
- The initialized catalog. 
- columns
- The columns as returned by self.schema. 
 
 
 - make_psf_model(component_group_fluxes: list[list[dict[lsst.gauss2d.fit._gauss2d_fit.Channel, float]]] | None = None) [<class 'lsst.gauss2d.fit._gauss2d_fit.PsfModel'>, list[lsst.gauss2d.fit._gauss2d_fit.Prior]]¶
- Make a PsfModel object for a given source. - Parameters:
- component_group_fluxes
- Initial fluxes for each constituent ComponentGroup. 
 
- Returns:
- psf_model
- The rebuilt PSF model. 
 
 - Notes - This function does not initialize the PSF model. 
 - save(filename, root='config')¶
- Save a Python script to the named file, which, when loaded, reproduces this config. - Parameters:
- filenamestr
- Desination filename of this configuration. 
- rootstr, optional
- Name to use for the root config variable. The same value must be used when loading (see - lsst.pex.config.Config.load).
 
- filename
 
 - saveToStream(outfile, root='config', skipImports=False)¶
- Save a configuration file to a stream, which, when loaded, reproduces this config. - Parameters:
- outfilefile-like object
- Destination file object write the config into. Accepts strings not bytes. 
- rootstr, optional
- Name to use for the root config variable. The same value must be used when loading (see - lsst.pex.config.Config.load).
- skipImportsbool, optional
- If - Truethen do not include- importstatements in output, this is to support human-oriented output from- pipetaskwhere additional clutter is not useful.
 
 
 - saveToString(skipImports=False)¶
- Return the Python script form of this configuration as an executable string. - Parameters:
- Returns:
- codestr
- A code string readable by - loadFromString.
 
- code
 
 - schema(bands: list[str] | None = None) list[lsst.multiprofit.fitting.fit_catalog.ColumnInfo]¶
- Return the schema as an ordered list of columns. - Parameters:
- bands
- The bands to add band-dependent columns for. 
 
 
 - setDefaults()¶
- Subclass hook for computing defaults. - Notes - Derived - Configclasses that must compute defaults rather than using the- Fieldinstances’s defaults should do so here. To correctly use inherited defaults, implementations of- setDefaultsmust call their base class’s- setDefaults.
 - toDict()¶
- Make a dictionary of field names and their values. - See also - Notes - This method uses the - toDictmethod of individual fields. Subclasses of- Fieldmay need to implement a- toDictmethod for this method to work.
 - update(**kw)¶
- Update values of fields specified by the keyword arguments. - Parameters:
- **kw
- Keywords are configuration field names. Values are configuration field values. 
 
 - Notes - The - __atand- __labelkeyword arguments are special internal keywords. They are used to strip out any internal steps from the history tracebacks of the config. Do not modify these keywords to subvert a- Configinstance’s history.- Examples - This is a config with three fields: - >>> from lsst.pex.config import Config, Field >>> class DemoConfig(Config): ... fieldA = Field(doc="Field A", dtype=int, default=42) ... fieldB = Field(doc="Field B", dtype=bool, default=True) ... fieldC = Field(doc="Field C", dtype=str, default="Hello world") >>> config = DemoConfig() - These are the default values of each field: - >>> for name, value in config.iteritems(): ... print(f"{name}: {value}") fieldA: 42 fieldB: True fieldC: 'Hello world' - Using this method to update - fieldAand- fieldC:- >>> config.update(fieldA=13, fieldC="Updated!") - Now the values of each field are: - >>> for name, value in config.iteritems(): ... print(f"{name}: {value}") fieldA: 13 fieldB: True fieldC: 'Updated!' 
 - validate()¶
- Validate the Config, raising an exception if invalid. - Raises:
- lsst.pex.config.FieldValidationError
- Raised if verification fails. 
 
 - Notes - The base class implementation performs type checks on all fields by calling their - validatemethods.- Complex single-field validation can be defined by deriving new Field types. For convenience, some derived - lsst.pex.config.Field-types (- ConfigFieldand- ConfigChoiceField) are defined in- lsst.pex.configthat handle recursing into subconfigs.- Inter-field relationships should only be checked in derived - Configclasses after calling this method, and base validation is complete.
 - values()¶
- Get field values. - Returns:
- valuesValuesView
- Iterator of field values. 
 
- values