24from lsst.utils.deprecated
import deprecate_pybind11
29from ..image._slicing
import supportSlicing
30from ..image._disableArithmetic
import disableImageArithmetic
31from ..image._fitsIoWithOptions
import imageReadFitsWithOptions, exposureWriteFitsWithOptions
32from ._exposure
import ExposureI, ExposureF, ExposureD, ExposureU, ExposureL
37 def _set(self, index, value, origin):
38 """Set the pixel at the given index to a triple (value, mask, variance).
43 Position of the pixel to assign to.
45 A tuple of (value, mask, variance) scalars.
46 origin : `ImageOrigin`
47 Coordinate system of ``index`` (`PARENT` or `LOCAL`).
49 self.maskedImage._set(index, value=value, origin=origin)
51 def _get(self, index, origin):
52 """Return a triple (value, mask, variance) at the given index.
57 Position of the pixel to assign to.
58 origin : `ImageOrigin`
59 Coordinate system of ``index`` (`PARENT` or `LOCAL`).
61 return self.maskedImage._get(index, origin=origin)
68 return ExposureF(self, deep=
True)
71 return ExposureD(self, deep=
True)
74 return self.maskedImage.image
77 self.maskedImage.image = image
79 image = property(getImage, setImage)
82 return self.maskedImage.mask
85 self.maskedImage.mask = mask
87 mask = property(getMask, setMask)
90 return self.maskedImage.variance
93 self.maskedImage.variance = variance
95 variance = property(getVariance, setVariance)
97 readFitsWithOptions = classmethod(imageReadFitsWithOptions)
99 writeFitsWithOptions = exposureWriteFitsWithOptions
102Exposure.register(np.int32, ExposureI)
103Exposure.register(np.float32, ExposureF)
104Exposure.register(np.float64, ExposureD)
105Exposure.register(np.uint16, ExposureU)
106Exposure.register(np.uint64, ExposureL)
107Exposure.alias(
"I", ExposureI)
108Exposure.alias(
"F", ExposureF)
109Exposure.alias(
"D", ExposureD)
110Exposure.alias(
"U", ExposureU)
111Exposure.alias(
"L", ExposureL)
113for cls
in set(Exposure.values()):
117 cls.getFilter = deprecate_pybind11(
119 reason=
"Replaced by getFilterLabel. Will be removed after v22.",
122 cls.setFilter = deprecate_pybind11(
124 reason=
"Replaced by setFilterLabel. Will be removed after v22.",
def setImage(self, image)
def setVariance(self, variance)
daf::base::PropertySet * set
def disableImageArithmetic(cls)