LSST Applications g04e9c324dd+8c5ae1fdc5,g0644efc3f0+09e1198e5e,g123d84c11c+8c5ae1fdc5,g1ec0fe41b4+6ec6b74de1,g1fd858c14a+3ffa984376,g3533f9d6cb+09e1198e5e,g35bb328faa+8c5ae1fdc5,g35ef7ab7cf+266198310b,g495290aba3+89f6b6dd9e,g53246c7159+8c5ae1fdc5,g60b5630c4e+09e1198e5e,g663da51e9b+8d6ae63d30,g6735e52a0d+29de3d959a,g67b6fd64d1+57193d00fb,g6c75a56628+7a48c497dd,g78460c75b0+7e33a9eb6d,g786e29fd12+668abc6043,g844c57033c+03ddc13274,g8852436030+08a5a9c358,g89139ef638+57193d00fb,g989de1cb63+57193d00fb,g9f33ca652e+945cd5ea73,ga1e959baac+5fbc491aed,ga2f891cd6c+09e1198e5e,gabe3b4be73+8856018cbb,gabf8522325+cc757f8247,gac2eed3f23+57193d00fb,gb1101e3267+9443485152,gb89ab40317+57193d00fb,gcf25f946ba+08a5a9c358,gd107969129+a4cb2c4ed1,gd6cbbdb0b4+8e46defd2a,gde0f65d7ad+31a6a3d176,ge278dab8ac+2322f1d6ea,ge410e46f29+57193d00fb,gf30d85a44d+f9c24d3818,gf5e32f922b+8c5ae1fdc5,gff02db199a+041df0bfe7,w.2025.28
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst.afw.image._image._disableArithmetic Namespace Reference

Functions

 wrapNotImplemented (cls, attr)
 
 disableImageArithmetic (cls)
 
 disableMaskArithmetic (cls)
 

Function Documentation

◆ disableImageArithmetic()

lsst.afw.image._image._disableArithmetic.disableImageArithmetic ( cls)
Add helpful error messages about image arithmetic

Definition at line 66 of file _disableArithmetic.py.

66def disableImageArithmetic(cls):
67 """Add helpful error messages about image arithmetic"""
68 for attr in ("__add__", "__sub__", "__mul__", "__truediv__",
69 "__radd__", "__rsub__", "__rmul__", "__rtruediv__"):
70 setattr(cls, attr, wrapNotImplemented(cls, attr))
71
72

◆ disableMaskArithmetic()

lsst.afw.image._image._disableArithmetic.disableMaskArithmetic ( cls)
Add helpful error messages about mask arithmetic

Definition at line 73 of file _disableArithmetic.py.

73def disableMaskArithmetic(cls):
74 """Add helpful error messages about mask arithmetic"""
75 for attr in ("__or__", "__and__", "__xor__",
76 "__ror__", "__rand__", "__rxor__"):
77 setattr(cls, attr, wrapNotImplemented(cls, attr))

◆ wrapNotImplemented()

lsst.afw.image._image._disableArithmetic.wrapNotImplemented ( cls,
attr )
Wrap a method providing a helpful error message about image arithmetic

Parameters
----------
cls : `type`
    Class in which the method is to be defined.
attr : `str`
    Name of the method.

Returns
-------
method : callable
    Wrapped method.

Definition at line 27 of file _disableArithmetic.py.

27def wrapNotImplemented(cls, attr):
28 """Wrap a method providing a helpful error message about image arithmetic
29
30 Parameters
31 ----------
32 cls : `type`
33 Class in which the method is to be defined.
34 attr : `str`
35 Name of the method.
36
37 Returns
38 -------
39 method : callable
40 Wrapped method.
41 """
42 existing = getattr(cls, attr, None)
43
44 def notImplemented(self, other):
45 """Provide a helpful error message about image arithmetic
46
47 Unless we're operating on an ImageSlice, in which case it might be
48 defined.
49
50 Parameters
51 ----------
52 self : subclass of `lsst.afw.image.ImageBase`
53 Image someone's attempting to do arithmetic with.
54 other : anything
55 The operand of the arithmetic operation.
56 """
57 if existing is not None and isinstance(other, (ImageSliceF, ImageSliceD)):
58 return existing(self, other)
59 raise NotImplementedError("This arithmetic operation is not implemented, in order to prevent the "
60 "accidental proliferation of temporaries. Please use the in-place "
61 "arithmetic operations (e.g., += instead of +) or operate on the "
62 "underlying arrays.")
63 return notImplemented
64
65