LSST Applications  21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq Class Reference
Inheritance diagram for lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq:
lsst.pipe.tasks.functors.ComputePixelScale lsst.pipe.tasks.functors.LocalWcs lsst.pipe.tasks.functors.Functor

Public Member Functions

def __init__ (self, col, colCD_1_1, colCD_1_2, colCD_2_1, colCD_2_2, **kwargs)
 
def name (self)
 
def columns (self)
 
def pixelScaleArcseconds (self, cd11, cd12, cd21, cd22)
 
def computeDeltaRaDec (self, x, y, cd11, cd12, cd21, cd22)
 
def computeSkySeperation (self, ra1, dec1, ra2, dec2)
 
def getSkySeperationFromPixel (self, x1, y1, x2, y2, cd11, cd12, cd21, cd22)
 
def noDup (self)
 
def multilevelColumns (self, data, columnIndex=None, returnTuple=False)
 
def __call__ (self, data, dropna=False)
 
def difference (self, data1, data2, **kwargs)
 
def fail (self, df)
 
def shortname (self)
 

Public Attributes

 col
 
 colCD_1_1
 
 colCD_1_2
 
 colCD_2_1
 
 colCD_2_2
 
 filt
 
 dataset
 

Static Public Attributes

string name = "PixelScale"
 

Detailed Description

Convert a value in units pixels to units arcseconds.

Definition at line 1339 of file functors.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq.__init__ (   self,
  col,
  colCD_1_1,
  colCD_1_2,
  colCD_2_1,
  colCD_2_2,
**  kwargs 
)

Definition at line 1343 of file functors.py.

1349  **kwargs):
1350  self.col = col
1351  super().__init__(colCD_1_1,
1352  colCD_1_2,
1353  colCD_2_1,
1354  colCD_2_2,
1355  **kwargs)
1356 

Member Function Documentation

◆ __call__()

def lsst.pipe.tasks.functors.Functor.__call__ (   self,
  data,
  dropna = False 
)
inherited

Definition at line 340 of file functors.py.

340  def __call__(self, data, dropna=False):
341  try:
342  df = self._get_data(data)
343  vals = self._func(df)
344  except Exception:
345  vals = self.fail(df)
346  if dropna:
347  vals = self._dropna(vals)
348 
349  return vals
350 

◆ columns()

def lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq.columns (   self)
Columns required to perform calculation

Reimplemented from lsst.pipe.tasks.functors.ComputePixelScale.

Definition at line 1362 of file functors.py.

1362  def columns(self):
1363  return [self.col,
1364  self.colCD_1_1,
1365  self.colCD_1_2,
1366  self.colCD_2_1,
1367  self.colCD_2_2]
1368 

◆ computeDeltaRaDec()

def lsst.pipe.tasks.functors.LocalWcs.computeDeltaRaDec (   self,
  x,
  y,
  cd11,
  cd12,
  cd21,
  cd22 
)
inherited
Compute the distance on the sphere from x2, y1 to x1, y1.

Parameters
----------
x : `pandas.Series`
    X pixel coordinate.
y : `pandas.Series`
    Y pixel coordinate.
cd11 : `pandas.Series`
    [1, 1] element of the local Wcs affine transform.
cd11 : `pandas.Series`
    [1, 1] element of the local Wcs affine transform.
cd12 : `pandas.Series`
    [1, 2] element of the local Wcs affine transform.
cd21 : `pandas.Series`
    [2, 1] element of the local Wcs affine transform.
cd22 : `pandas.Series`
    [2, 2] element of the local Wcs affine transform.

Returns
-------
raDecTuple : tuple
    RA and dec conversion of x and y given the local Wcs. Returned
    units are in radians.

Definition at line 1170 of file functors.py.

1170  def computeDeltaRaDec(self, x, y, cd11, cd12, cd21, cd22):
1171  """Compute the distance on the sphere from x2, y1 to x1, y1.
1172 
1173  Parameters
1174  ----------
1175  x : `pandas.Series`
1176  X pixel coordinate.
1177  y : `pandas.Series`
1178  Y pixel coordinate.
1179  cd11 : `pandas.Series`
1180  [1, 1] element of the local Wcs affine transform.
1181  cd11 : `pandas.Series`
1182  [1, 1] element of the local Wcs affine transform.
1183  cd12 : `pandas.Series`
1184  [1, 2] element of the local Wcs affine transform.
1185  cd21 : `pandas.Series`
1186  [2, 1] element of the local Wcs affine transform.
1187  cd22 : `pandas.Series`
1188  [2, 2] element of the local Wcs affine transform.
1189 
1190  Returns
1191  -------
1192  raDecTuple : tuple
1193  RA and dec conversion of x and y given the local Wcs. Returned
1194  units are in radians.
1195 
1196  """
1197  return (x * cd11 + y * cd12, x * cd21 + y * cd22)
1198 

◆ computeSkySeperation()

def lsst.pipe.tasks.functors.LocalWcs.computeSkySeperation (   self,
  ra1,
  dec1,
  ra2,
  dec2 
)
inherited
Compute the local pixel scale conversion.

Parameters
----------
ra1 : `pandas.Series`
    Ra of the first coordinate in radians.
dec1 : `pandas.Series`
    Dec of the first coordinate in radians.
ra2 : `pandas.Series`
    Ra of the second coordinate in radians.
dec2 : `pandas.Series`
    Dec of the second coordinate in radians.

Returns
-------
dist : `pandas.Series`
    Distance on the sphere in radians.

Definition at line 1199 of file functors.py.

1199  def computeSkySeperation(self, ra1, dec1, ra2, dec2):
1200  """Compute the local pixel scale conversion.
1201 
1202  Parameters
1203  ----------
1204  ra1 : `pandas.Series`
1205  Ra of the first coordinate in radians.
1206  dec1 : `pandas.Series`
1207  Dec of the first coordinate in radians.
1208  ra2 : `pandas.Series`
1209  Ra of the second coordinate in radians.
1210  dec2 : `pandas.Series`
1211  Dec of the second coordinate in radians.
1212 
1213  Returns
1214  -------
1215  dist : `pandas.Series`
1216  Distance on the sphere in radians.
1217  """
1218  deltaDec = dec2 - dec1
1219  deltaRa = ra2 - ra1
1220  return 2 * np.arcsin(
1221  np.sqrt(
1222  np.sin(deltaDec / 2) ** 2
1223  + np.cos(dec2) * np.cos(dec1) * np.sin(deltaRa / 2) ** 2))
1224 

◆ difference()

def lsst.pipe.tasks.functors.Functor.difference (   self,
  data1,
  data2,
**  kwargs 
)
inherited
Computes difference between functor called on two different ParquetTable objects

Definition at line 351 of file functors.py.

351  def difference(self, data1, data2, **kwargs):
352  """Computes difference between functor called on two different ParquetTable objects
353  """
354  return self(data1, **kwargs) - self(data2, **kwargs)
355 

◆ fail()

def lsst.pipe.tasks.functors.Functor.fail (   self,
  df 
)
inherited

Definition at line 356 of file functors.py.

356  def fail(self, df):
357  return pd.Series(np.full(len(df), np.nan), index=df.index)
358 

◆ getSkySeperationFromPixel()

def lsst.pipe.tasks.functors.LocalWcs.getSkySeperationFromPixel (   self,
  x1,
  y1,
  x2,
  y2,
  cd11,
  cd12,
  cd21,
  cd22 
)
inherited
Compute the distance on the sphere from x2, y1 to x1, y1.

Parameters
----------
x1 : `pandas.Series`
    X pixel coordinate.
y1 : `pandas.Series`
    Y pixel coordinate.
x2 : `pandas.Series`
    X pixel coordinate.
y2 : `pandas.Series`
    Y pixel coordinate.
cd11 : `pandas.Series`
    [1, 1] element of the local Wcs affine transform.
cd11 : `pandas.Series`
    [1, 1] element of the local Wcs affine transform.
cd12 : `pandas.Series`
    [1, 2] element of the local Wcs affine transform.
cd21 : `pandas.Series`
    [2, 1] element of the local Wcs affine transform.
cd22 : `pandas.Series`
    [2, 2] element of the local Wcs affine transform.

Returns
-------
Distance : `pandas.Series`
    Arcseconds per pixel at the location of the local WC

Definition at line 1225 of file functors.py.

1225  def getSkySeperationFromPixel(self, x1, y1, x2, y2, cd11, cd12, cd21, cd22):
1226  """Compute the distance on the sphere from x2, y1 to x1, y1.
1227 
1228  Parameters
1229  ----------
1230  x1 : `pandas.Series`
1231  X pixel coordinate.
1232  y1 : `pandas.Series`
1233  Y pixel coordinate.
1234  x2 : `pandas.Series`
1235  X pixel coordinate.
1236  y2 : `pandas.Series`
1237  Y pixel coordinate.
1238  cd11 : `pandas.Series`
1239  [1, 1] element of the local Wcs affine transform.
1240  cd11 : `pandas.Series`
1241  [1, 1] element of the local Wcs affine transform.
1242  cd12 : `pandas.Series`
1243  [1, 2] element of the local Wcs affine transform.
1244  cd21 : `pandas.Series`
1245  [2, 1] element of the local Wcs affine transform.
1246  cd22 : `pandas.Series`
1247  [2, 2] element of the local Wcs affine transform.
1248 
1249  Returns
1250  -------
1251  Distance : `pandas.Series`
1252  Arcseconds per pixel at the location of the local WC
1253  """
1254  ra1, dec1 = self.computeDeltaRaDec(x1, y1, cd11, cd12, cd21, cd22)
1255  ra2, dec2 = self.computeDeltaRaDec(x2, y2, cd11, cd12, cd21, cd22)
1256  # Great circle distance for small separations.
1257  return self.computeSkySeperation(ra1, dec1, ra2, dec2)
1258 
1259 

◆ multilevelColumns()

def lsst.pipe.tasks.functors.Functor.multilevelColumns (   self,
  data,
  columnIndex = None,
  returnTuple = False 
)
inherited
Returns columns needed by functor from multilevel dataset

To access tables with multilevel column structure, the `MultilevelParquetTable`
or `DeferredDatasetHandle` need to be passed either a list of tuples or a
dictionary.

Parameters
----------
data : `MultilevelParquetTable` or `DeferredDatasetHandle`

columnIndex (optional): pandas `Index` object
    either passed or read in from `DeferredDatasetHandle`.

`returnTuple` : bool
    If true, then return a list of tuples rather than the column dictionary
    specification.  This is set to `True` by `CompositeFunctor` in order to be able to
    combine columns from the various component functors.

Definition at line 229 of file functors.py.

229  def multilevelColumns(self, data, columnIndex=None, returnTuple=False):
230  """Returns columns needed by functor from multilevel dataset
231 
232  To access tables with multilevel column structure, the `MultilevelParquetTable`
233  or `DeferredDatasetHandle` need to be passed either a list of tuples or a
234  dictionary.
235 
236  Parameters
237  ----------
238  data : `MultilevelParquetTable` or `DeferredDatasetHandle`
239 
240  columnIndex (optional): pandas `Index` object
241  either passed or read in from `DeferredDatasetHandle`.
242 
243  `returnTuple` : bool
244  If true, then return a list of tuples rather than the column dictionary
245  specification. This is set to `True` by `CompositeFunctor` in order to be able to
246  combine columns from the various component functors.
247 
248  """
249  if isinstance(data, DeferredDatasetHandle) and columnIndex is None:
250  columnIndex = data.get(component="columns")
251 
252  # Confirm that the dataset has the column levels the functor is expecting it to have.
253  columnLevels = self._get_data_columnLevels(data, columnIndex)
254 
255  columnDict = {'column': self.columns,
256  'dataset': self.dataset}
257  if self.filt is None:
258  columnLevelNames = self._get_data_columnLevelNames(data, columnIndex)
259  if "band" in columnLevels:
260  if self.dataset == "ref":
261  columnDict["band"] = columnLevelNames["band"][0]
262  else:
263  raise ValueError(f"'filt' not set for functor {self.name}"
264  f"(dataset {self.dataset}) "
265  "and ParquetTable "
266  "contains multiple filters in column index. "
267  "Set 'filt' or set 'dataset' to 'ref'.")
268  else:
269  columnDict['band'] = self.filt
270 
271  if isinstance(data, MultilevelParquetTable):
272  return data._colsFromDict(columnDict)
273  elif isinstance(data, DeferredDatasetHandle):
274  if returnTuple:
275  return self._colsFromDict(columnDict, columnIndex=columnIndex)
276  else:
277  return columnDict
278 

◆ name()

def lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq.name (   self)
Full name of functor (suitable for figure labels)

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 1358 of file functors.py.

1358  def name(self):
1359  return f"{self.col}_asArcsecondsSq"
1360 
table::Key< std::string > name
Definition: Amplifier.cc:116

◆ noDup()

def lsst.pipe.tasks.functors.Functor.noDup (   self)
inherited

Definition at line 148 of file functors.py.

148  def noDup(self):
149  if self._noDup is not None:
150  return self._noDup
151  else:
152  return self._defaultNoDup
153 

◆ pixelScaleArcseconds()

def lsst.pipe.tasks.functors.ComputePixelScale.pixelScaleArcseconds (   self,
  cd11,
  cd12,
  cd21,
  cd22 
)
inherited
Compute the local pixel to scale conversion in arcseconds.

Parameters
----------
cd11 : `pandas.Series`
    [1, 1] element of the local Wcs affine transform in radians.
cd11 : `pandas.Series`
    [1, 1] element of the local Wcs affine transform in radians.
cd12 : `pandas.Series`
    [1, 2] element of the local Wcs affine transform in radians.
cd21 : `pandas.Series`
    [2, 1] element of the local Wcs affine transform in radians.
cd22 : `pandas.Series`
    [2, 2] element of the local Wcs affine transform in radians.

Returns
-------
pixScale : `pandas.Series`
    Arcseconds per pixel at the location of the local WC

Definition at line 1272 of file functors.py.

1272  def pixelScaleArcseconds(self, cd11, cd12, cd21, cd22):
1273  """Compute the local pixel to scale conversion in arcseconds.
1274 
1275  Parameters
1276  ----------
1277  cd11 : `pandas.Series`
1278  [1, 1] element of the local Wcs affine transform in radians.
1279  cd11 : `pandas.Series`
1280  [1, 1] element of the local Wcs affine transform in radians.
1281  cd12 : `pandas.Series`
1282  [1, 2] element of the local Wcs affine transform in radians.
1283  cd21 : `pandas.Series`
1284  [2, 1] element of the local Wcs affine transform in radians.
1285  cd22 : `pandas.Series`
1286  [2, 2] element of the local Wcs affine transform in radians.
1287 
1288  Returns
1289  -------
1290  pixScale : `pandas.Series`
1291  Arcseconds per pixel at the location of the local WC
1292  """
1293  return 3600 * np.degrees(np.sqrt(np.fabs(cd11 * cd22 - cd12 * cd21)))
1294 

◆ shortname()

def lsst.pipe.tasks.functors.Functor.shortname (   self)
inherited
Short name of functor (suitable for column name/dict key)

Reimplemented in lsst.pipe.tasks.functors.Color, and lsst.pipe.tasks.functors.MagDiff.

Definition at line 366 of file functors.py.

366  def shortname(self):
367  """Short name of functor (suitable for column name/dict key)
368  """
369  return self.name
370 
371 

Member Data Documentation

◆ col

lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq.col

Definition at line 1350 of file functors.py.

◆ colCD_1_1

lsst.pipe.tasks.functors.LocalWcs.colCD_1_1
inherited

Definition at line 1164 of file functors.py.

◆ colCD_1_2

lsst.pipe.tasks.functors.LocalWcs.colCD_1_2
inherited

Definition at line 1165 of file functors.py.

◆ colCD_2_1

lsst.pipe.tasks.functors.LocalWcs.colCD_2_1
inherited

Definition at line 1166 of file functors.py.

◆ colCD_2_2

lsst.pipe.tasks.functors.LocalWcs.colCD_2_2
inherited

Definition at line 1167 of file functors.py.

◆ dataset

lsst.pipe.tasks.functors.Functor.dataset
inherited

Definition at line 144 of file functors.py.

◆ filt

lsst.pipe.tasks.functors.Functor.filt
inherited

Definition at line 143 of file functors.py.

◆ name

string lsst.pipe.tasks.functors.ComputePixelScale.name = "PixelScale"
staticinherited

Definition at line 1263 of file functors.py.


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