lsst.afw 22.0.1-43-gf2a78aa89+d93e5fd551
_filter.py
Go to the documentation of this file.
1# This file is part of afw.
2#
3# Developed for the LSST Data Management System.
4# This product includes software developed by the LSST Project
5# (https://www.lsst.org).
6# See the COPYRIGHT file at the top-level directory of this distribution
7# for details of code ownership.
8#
9# This program is free software: you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation, either version 3 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program. If not, see <https://www.gnu.org/licenses/>.
21"""This file only exists to deprecate the Filter and FilterProperty classes.
22"""
23import warnings
24from lsst.utils import continueClass
25from ._imageLib import Filter, FilterProperty
26
27__all__ = ['Filter', 'FilterProperty']
28
29
30@continueClass
31class Filter:
32 # NOTE: Using `deprecate_pybind11` causes the `AUTO` and `UNKNOWN` static
33 # members to become `pybind11_builtins.pybind11_static_property` instead
34 # of `int`, which breaks any uses of them in the python layer, so we
35 # deprecate this way instead.
36 _init = Filter.__init__
37 _reset = Filter.reset
38 _define = Filter.define
39 _getNames = Filter.getNames
40 _deprecate_warning = "Replaced by FilterLabel. Will be removed after v22."
41
42 def __init__(self, *args, **kwargs):
43 warnings.warn(self._deprecate_warning_deprecate_warning, FutureWarning, stacklevel=2)
44 return self._init_init(*args, **kwargs)
45
46 @staticmethod
47 def reset(*args, **kwargs):
48 warnings.warn(Filter._deprecate_warning, FutureWarning, stacklevel=2)
49 Filter._reset(*args, **kwargs)
50
51 @staticmethod
52 def define(*args, **kwargs):
53 warnings.warn(Filter._deprecate_warning, FutureWarning, stacklevel=2)
54 return Filter._define(*args, **kwargs)
55
56 @staticmethod
57 def getNames(*args, **kwargs):
58 warnings.warn(Filter._deprecate_warning, FutureWarning, stacklevel=2)
59 return Filter._getNames(*args, **kwargs)
60
61
62@continueClass
64 # NOTE: Using `deprecate_pybind11` breaks the ability to call the `reset`
65 # static method so we deprecate this way instead.
66 _init = FilterProperty.__init__
67 _lookup = FilterProperty.lookup
68 _reset = FilterProperty.reset
69 _deprecate_warning = ("Removed with no replacement (but see lsst.afw.image.TransmissionCurve)."
70 "Will be removed after v22.")
71
72 def __init__(self, *args, **kwargs):
73 warnings.warn(self._deprecate_warning_deprecate_warning, FutureWarning, stacklevel=2)
74 return self._init_init(*args, **kwargs)
75
76 @staticmethod
77 def reset(*args, **kwargs):
78 warnings.warn(FilterProperty._deprecate_warning, FutureWarning, stacklevel=2)
79 FilterProperty._reset(*args, **kwargs)
80
81 @staticmethod
82 def lookup(*args, **kwargs):
83 warnings.warn(FilterProperty._deprecate_warning, FutureWarning, stacklevel=2)
84 return FilterProperty._lookup(*args, **kwargs)
def __init__(self, *args, **kwargs)
Definition: _filter.py:42
def reset(*args, **kwargs)
Definition: _filter.py:47
def define(*args, **kwargs)
Definition: _filter.py:52
def getNames(*args, **kwargs)
Definition: _filter.py:57
def __init__(self, *args, **kwargs)
Definition: _filter.py:72