ProductField#

final class lsst.images.fields.ProductField(operands: Iterable[Field])#

Bases: BaseField

A field that multiplies other fields lazily.

Parameters#

operandsIterable [ BaseField ]

The fields to multiply together.

Attributes Summary

bounds

The region over which this field can be evaluated (Bounds).

is_constant

Whether the field is spatially constant (bool).

operands

The fields that are multiplied together (tuple [BaseField, ...]).

unit

The units of the field (astropy.units.UnitBase or None).

Methods Summary

__call__(*, x, y[, quantity])

Call self as a function.

evaluate(*, x, y[, quantity])

Evaluate at non-gridded points.

from_legacy(legacy[, unit, bounds])

Convert from a legacy lsst.afw.math.ProductBoundedField.

make_legacy_photo_calib(image_unit)

Make a legacy lsst.afw.image.PhotoCalib for an image with the given units, if that is possible without a photometric scaling field.

multiply_constant(factor)

Multiply by a constant, returning a new field of the same type.

render([bbox, dtype])

Create an image realization of the field.

serialize(archive)

Serialize the field to an output archive.

to_legacy()

Convert to a legacy lsst.afw.math.ProductBoundedField.

to_legacy_photo_calib(image_unit)

Convert to a legacy lsst.afw.image.PhotoCalib.

Attributes Documentation

bounds#
is_constant#
operands#

The fields that are multiplied together (tuple [BaseField, …]).

unit#

Methods Documentation

__call__(*, x: ndarray, y: ndarray, quantity: bool = False) ndarray | Quantity#

Call self as a function.

evaluate(*, x: ndarray, y: ndarray, quantity: bool = False) ndarray | Quantity#

Evaluate at non-gridded points.

Parameters#

x

X coordinates to evaluate at.

y

Y coordinates to evaluate at; must be broadcast-compatible with x.

quantity

If True, return an astropy.units.Quantity instead of a numpy.ndarray. If unit is None, the returned object will be a dimensionless Quantity.

static from_legacy(legacy: LegacyProductBoundedField, unit: astropy.units.UnitBase | None = None, bounds: Bounds | None = None) ProductField#

Convert from a legacy lsst.afw.math.ProductBoundedField.

Parameters#

legacy

Legacy field to convert.

unit

The units of the returned field (lsst.afw.math.BoundedField objects do not know their units).

bounds

The bounds of the returned field, if they should be different from the bounding box of legacy.

static make_legacy_photo_calib(image_unit: astropy.units.UnitBase) LegacyPhotoCalib | None#

Make a legacy lsst.afw.image.PhotoCalib for an image with the given units, if that is possible without a photometric scaling field.

multiply_constant(factor: float | Quantity | UnitBase) ProductField#

Multiply by a constant, returning a new field of the same type.

Parameters#

factor

Factor to multiply by. When this has units, those should multiply self.unit or set the units of the returned field if self.unit is None.

render(bbox: Box | None = None, *, dtype: type[Any] | dtype[Any] | _SupportsDType[dtype[Any]] | tuple[Any, Any] | list[Any] | _DTypeDict | str | None = None) Image#

Create an image realization of the field.

Parameters#

bbox

Bounding box of the image. If not provided, self.bounds.bbox will be used.

dtype

Pixel data type for the returned image.

serialize(archive: OutputArchive[Any]) ProductFieldSerializationModel#

Serialize the field to an output archive.

to_legacy() LegacyProductBoundedField#

Convert to a legacy lsst.afw.math.ProductBoundedField.

to_legacy_photo_calib(image_unit: astropy.units.UnitBase) LegacyPhotoCalib#

Convert to a legacy lsst.afw.image.PhotoCalib.

Parameters#

image_unit

The units of the pixels the returned PhotoCalib will be associated with.