Parameters#
- class scarlet2.Parameters(base)[source]#
Bases:
dictCollection class that contains parameters
Collection of optimizable parameters
This class creates a Pytree with the same shape as base and with
Parameterinstances and the nodes corresponding to the optimized parameters in base.Examples
>>> with Scene(model_frame) as scene: >>> Source(center1, spectrum1, morph1) >>> Source(center2, spectrum2, morph2) >>> >>> with Parameters(scene): >>> Parameter(scene.sources[0].spectrum.data, >>> name=f"spectrum:0", >>> constraint=constraints.positive, >>> stepsize=relative_step) >>> maxiter = 200 >>> scene_ = scene.fit(observation, max_iter=maxiter)
This example defines a scene with two sources, initialized with their respective center, spectrum, and morphology parameters. It then fits observation by adjusting only the spectrum array of the first source for 200 steps.
See also
- __iadd__(name, node, parameter)[source]#
Add parameter to collection
- Parameters:
name (
str) – Parameter namenode (
jnp.ndarray) – Parameter array in the base modelparameter (
Parameter) – Parameter specification to be added
- __isub__(name)[source]#
Remove parameter from collection
- Parameters:
name (
str) – Parameter name in the base model
- clear() None. Remove all items from D.#
- copy() a shallow copy of D#
- fromkeys(value=None, /)#
Create a new dictionary with keys from iterable and values set to value.
- get(key, default=None, /)#
Return the value for key if key is in the dictionary, else default.
- items() a set-like object providing a view on D's items#
- keys() a set-like object providing a view on D's keys#
- pop(k[, d]) v, remove specified key and return the corresponding value.#
If the key is not found, return the default if given; otherwise, raise a KeyError.
- popitem()#
Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
- setdefault(key, default=None, /)#
Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
- update([E, ]**F) None. Update D from dict/iterable E and F.#
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
- values() an object providing a view on D's values#