LSST Applications g044012fb7c+6976b5ec80,g04a91732dc+88a5fc122b,g07dc498a13+7e3c5f68a2,g114c6a66ad+09472d7a76,g1409bbee79+7e3c5f68a2,g1a7e361dbc+7e3c5f68a2,g1fd858c14a+3a43eabc0e,g35bb328faa+fcb1d3bbc8,g3bd4b5ce2c+2647bb081c,g4e0f332c67+5d362be553,g53246c7159+fcb1d3bbc8,g5477a8d5ce+b19c77c7ae,g58d0cdf3ff+4a2e102ff8,g60b5630c4e+09472d7a76,g623d845a50+09472d7a76,g6f0c2978f1+fcf1c0bcd6,g71fabbc107+09472d7a76,g75b6c65c88+d0b1dc44cc,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g8852436030+349c7e81d4,g89139ef638+7e3c5f68a2,g9125e01d80+fcb1d3bbc8,g95236ca021+f7a31438ed,g989de1cb63+7e3c5f68a2,g9f33ca652e+f17d666fbc,gaaedd4e678+7e3c5f68a2,gabe3b4be73+1e0a283bba,gb1101e3267+f870f33517,gb58c049af0+f03b321e39,gc99c83e5f0+76d20ab76d,gcf25f946ba+349c7e81d4,gd0fa69b896+f3a65fa83c,gd6cbbdb0b4+c8606af20c,gde0f65d7ad+5bd27d919f,ge278dab8ac+932305ba37,gfba249425e+fcb1d3bbc8,w.2025.07
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