LSST Applications  21.0.0+75b29a8a7f,21.0.0+e70536a077,21.0.0-1-ga51b5d4+62c747d40b,21.0.0-10-gbfb87ad6+3307648ee3,21.0.0-15-gedb9d5423+47cba9fc36,21.0.0-2-g103fe59+fdf0863a2a,21.0.0-2-g1367e85+d38a93257c,21.0.0-2-g45278ab+e70536a077,21.0.0-2-g5242d73+d38a93257c,21.0.0-2-g7f82c8f+e682ffb718,21.0.0-2-g8dde007+d179fbfa6a,21.0.0-2-g8f08a60+9402881886,21.0.0-2-ga326454+e682ffb718,21.0.0-2-ga63a54e+08647d4b1b,21.0.0-2-gde069b7+26c92b3210,21.0.0-2-gecfae73+0445ed2f95,21.0.0-2-gfc62afb+d38a93257c,21.0.0-27-gbbd0d29+ae871e0f33,21.0.0-28-g5fc5e037+feb0e9397b,21.0.0-3-g21c7a62+f4b9c0ff5c,21.0.0-3-g357aad2+57b0bddf0b,21.0.0-3-g4be5c26+d38a93257c,21.0.0-3-g65f322c+3f454acf5d,21.0.0-3-g7d9da8d+75b29a8a7f,21.0.0-3-gaa929c8+9e4ef6332c,21.0.0-3-ge02ed75+4b120a55c4,21.0.0-4-g3300ddd+e70536a077,21.0.0-4-g591bb35+4b120a55c4,21.0.0-4-gc004bbf+4911b9cd27,21.0.0-4-gccdca77+f94adcd104,21.0.0-4-ge8fba5a+2b3a696ff9,21.0.0-5-gb155db7+2c5429117a,21.0.0-5-gdf36809+637e4641ee,21.0.0-6-g00874e7+c9fd7f7160,21.0.0-6-g4e60332+4b120a55c4,21.0.0-7-gc8ca178+40eb9cf840,21.0.0-8-gfbe0b4b+9e4ef6332c,21.0.0-9-g2fd488a+d83b7cd606,w.2021.05
LSST Data Management Base Package
Public Member Functions | Static Public Attributes | List of all members
lsst.obs.base.filters.FilterDefinition Class Reference

Public Member Functions

def __post_init__ (self)
 
def __str__ (self)
 
def defineFilter (self)
 
def makeFilterLabel (self)
 

Static Public Attributes

 str
 
 float
 
 set
 

Detailed Description

The definition of an instrument's filter bandpass.

This class is used to interface between the `~lsst.afw.image.Filter` class
and the Gen2 `~lsst.daf.persistence.CameraMapper` and Gen3
`~lsst.obs.base.Instruments` and ``physical_filter``/``band``
`~lsst.daf.butler.Dimension`.

This class is likely temporary, until we have a better versioned filter
definition system that includes complete transmission information.

Definition at line 137 of file filters.py.

Member Function Documentation

◆ __post_init__()

def lsst.obs.base.filters.FilterDefinition.__post_init__ (   self)

Definition at line 200 of file filters.py.

200  def __post_init__(self):
201  # force alias to be immutable, so that hashing works
202  if not isinstance(self.alias, frozenset):
203  object.__setattr__(self, 'alias', frozenset(self.alias))
204 

◆ __str__()

def lsst.obs.base.filters.FilterDefinition.__str__ (   self)

Definition at line 205 of file filters.py.

205  def __str__(self):
206  txt = f"FilterDefinition(physical_filter='{self.physical_filter}', lambdaEff='{self.lambdaEff}'"
207  if self.band is not None:
208  txt += f", band='{self.band}'"
209  if self.afw_name is not None:
210  txt += f", afw_name='{self.afw_name}'"
211  if not np.isnan(self.lambdaMin):
212  txt += f", lambdaMin='{self.lambdaMin}'"
213  if not np.isnan(self.lambdaMax):
214  txt += f", lambdaMax='{self.lambdaMax}'"
215  if len(self.alias) != 0:
216  txt += f", alias='{self.alias}'"
217  return txt + ")"
218 

◆ defineFilter()

def lsst.obs.base.filters.FilterDefinition.defineFilter (   self)
Declare the filters via afw.image.Filter.

Definition at line 219 of file filters.py.

219  def defineFilter(self):
220  """Declare the filters via afw.image.Filter.
221  """
222  aliases = set(self.alias)
223  name = self.physical_filter
224  if self.band is not None:
225  name = self.band
226  aliases.add(self.physical_filter)
227  if self.afw_name is not None:
228  name = self.afw_name
229  aliases.add(self.physical_filter)
230  # Only add `physical_filter/band` as an alias if afw_name is defined.ee
231  if self.afw_name is not None:
232  if self.band is not None:
233  aliases.add(self.band)
234  with warnings.catch_warnings():
235  # surpress Filter warnings; we already know this is deprecated
236  warnings.simplefilter('ignore', category=FutureWarning)
238  lambdaEff=self.lambdaEff,
239  lambdaMin=self.lambdaMin,
240  lambdaMax=self.lambdaMax,
241  alias=sorted(aliases))
242 
def defineFilter(name, lambdaEff, lambdaMin=np.nan, lambdaMax=np.nan, alias=[], force=False)
Definition: utils.py:66
daf::base::PropertySet * set
Definition: fits.cc:912

◆ makeFilterLabel()

def lsst.obs.base.filters.FilterDefinition.makeFilterLabel (   self)
Create a complete FilterLabel for this filter.

Definition at line 243 of file filters.py.

243  def makeFilterLabel(self):
244  """Create a complete FilterLabel for this filter.
245  """
246  return lsst.afw.image.FilterLabel(band=self.band, physical=self.physical_filter)
A group of labels for a filter in an exposure or coadd.
Definition: FilterLabel.h:58
std::shared_ptr< FilterLabel > makeFilterLabel(Filter const &filter)
Convert an old-style Filter to a FilterLabel.

Member Data Documentation

◆ float

lsst.obs.base.filters.FilterDefinition.float
static

Definition at line 190 of file filters.py.

◆ set

lsst.obs.base.filters.FilterDefinition.set
static

Definition at line 195 of file filters.py.

◆ str

lsst.obs.base.filters.FilterDefinition.str
static

Definition at line 164 of file filters.py.


The documentation for this class was generated from the following file: