lsst.jointcal g4500d70958+8489987515
Loading...
Searching...
No Matches
Functions
lsst.jointcal.testUtils Namespace Reference

Functions

 canRunTests ()
 
 createTwoFakeCcdImages (num1=4, num2=4, seed=100, fakeDetectorId=12, photoCalibMean1=1e-2, photoCalibMean2=1.2e-2, fakeWcses=(None, None), fakeVisitInfos=(None, None))
 
 createFakeCcdImage (butler, visit, num, fluxFieldName, photoCalibMean=1e-2, photoCalibErr=1.0, fakeDetectorId=12, fakeWcs=None, fakeVisitInfo=None)
 
 createFakeCatalog (num, bbox, fluxFieldName, skyWcs=None, refCat=False)
 
 fillCatalog (schema, num, bbox, centroidKey, xErrKey, yErrKey, shapeKey, fluxFieldName, skyWcs=None, fluxErrFraction=0.05, refCat=False)
 
 getMeasuredStarsFromCatalog (catalog, pixToFocal)
 

Detailed Description

Functions to help create jointcal tests by generating fake data.

Function Documentation

◆ canRunTests()

lsst.jointcal.testUtils.canRunTests ( )
Returns True if the necessary packages and files are available.

We need ``obs_cfht`` to load the test/data/cfht_minimal dataset, which
includes the metadata that is used to build the fake catalogs.

Definition at line 39 of file testUtils.py.

◆ createFakeCatalog()

lsst.jointcal.testUtils.createFakeCatalog (   num,
  bbox,
  fluxFieldName,
  skyWcs = None,
  refCat = False 
)
Return a fake minimally-useful catalog for jointcal.

Parameters
----------
num : `int`
    Number of sources to put in the catalogs. Should be
    a square, to have sqrt(num) centroids on a grid.
bbox : `lsst.geom.Box2I`
    Bounding Box of the detector to populate.
fluxFieldName : `str`
    Name of the flux field to populate in the catalog, without `_instFlux`
    (e.g. "slot_CalibFlux").
skyWcs : `lsst.afw.geom.SkyWcs` or None, optional
    If supplied, use this to fill in coordinates from centroids.
refCat : `bool`, optional
    Return a ``SimpleCatalog`` so that it behaves like a reference catalog?

Returns
-------
catalog : `lsst.afw.table.SourceCatalog`
    A populated source catalog.

Definition at line 191 of file testUtils.py.

◆ createFakeCcdImage()

lsst.jointcal.testUtils.createFakeCcdImage (   butler,
  visit,
  num,
  fluxFieldName,
  photoCalibMean = 1e-2,
  photoCalibErr = 1.0,
  fakeDetectorId = 12,
  fakeWcs = None,
  fakeVisitInfo = None 
)
Create a fake CcdImage by making a fake catalog.

Parameters
----------
butler : `lsst.daf.butler.Butler`
    Butler to load metadata from.
visit : `int`
    Visit identifier to build a butler dataId.
num : `int`
    Number of sources to put in the catalogs. Should be
    a square, to have sqrt(num) centroids on a grid.
fluxFieldName : `str`
    Name of the flux field to populate in the catalog, without `_instFlux`
    (e.g. "slot_CalibFlux").
photoCalibMean : `float`, optional
    Value to set for calibrationMean in the created PhotoCalib.
    Note: this value is 1/instFluxMag0, so it should be less than 1.
photoCalibErr : `float`, optional
    Value to set for calibrationErr in the created PhotoCalib.
fakeDetectorId : `int`, optional
    Use this as the detectorId in the returned CcdImage.
fakeWcs : `lsst.afw.geom.SkyWcs`, optional
    A SkyWcs to use instead of one read from disk.
fakeVisitInfo : `lsst.afw.image.VisitInfo`, optional
    A VisitInfo to use instead of one read from disk.

Returns
-------
struct : `lsst.pipe.base.Struct`
   Result struct with components:

   - `catalog` : Catalogs containing fake sources
       (`lsst.afw.table.SourceCatalog`).
   - `ccdImage` : CcdImage containing the metadata and fake sources
       (`lsst.jointcal.CcdImage`).
   - `bbox` : Bounding Box of the image (`lsst.geom.Box2I`).
   - `skyWcs` : SkyWcs of the image (`lsst.afw.geom.SkyWcs`).

Definition at line 133 of file testUtils.py.

◆ createTwoFakeCcdImages()

lsst.jointcal.testUtils.createTwoFakeCcdImages (   num1 = 4,
  num2 = 4,
  seed = 100,
  fakeDetectorId = 12,
  photoCalibMean1 = 1e-2,
  photoCalibMean2 = 1.2e-2,
  fakeWcses = (NoneNone),
  fakeVisitInfos = (NoneNone) 
)
Return two fake ccdImages built on CFHT Megacam metadata.

If ``num1 == num2``, the catalogs will align on-sky so each source will
have a match in the other catalog.

This uses the butler dataset stored in `tests/data/cfht_minimal` to
bootstrap the metadata.

Parameters
----------
num1, num2 : `int`, optional
    Number of sources to put in the first and second catalogs. Should be
    a square, to have sqrt(num) centroids on a grid.
seed : `int`, optional
    Seed value for np.random.
fakeDetectorId : `int`, optional
    Sensor identifier to use for both CcdImages. The wcs, bbox, photoCalib, etc.
    will still be drawn from the CFHT ccd=12 files, as that is the only
    testdata that is included in this simple test dataset.
photoCalibMean1, photoCalibMean2: `float`, optional
    The mean photometric calibration to pass to each ccdImage construction.
    Note: this value is 1/instFluxMag0, so it should be less than 1.
fakeWcses : `list` [`lsst.afw.geom.SkyWcs`], optional
    The SkyWcses to use instead of the ones read from disk.
fakeWcses : `list` [`lsst.afw.image.VisitInfo`], optional
    The VisitInfos to use instead of the ones read from disk.

Returns
-------
struct : `lsst.pipe.base.Struct`
   Result struct with components:

   - `camera` : Camera representing these catalogs
       (`lsst.afw.cameraGeom.Camera`).
   - `catalogs` : Catalogs containing fake sources
       (`list` of `lsst.afw.table.SourceCatalog`).
   - `ccdImageList` : CcdImages containing the metadata and fake sources
       (`list` of `lsst.jointcal.CcdImage`).
   - `bbox` : Bounding Box of the image (`lsst.geom.Box2I`).
   - 'fluxFieldName' : name of the instFlux field in the catalogs ('str').

Definition at line 52 of file testUtils.py.

◆ fillCatalog()

lsst.jointcal.testUtils.fillCatalog (   schema,
  num,
  bbox,
  centroidKey,
  xErrKey,
  yErrKey,
  shapeKey,
  fluxFieldName,
  skyWcs = None,
  fluxErrFraction = 0.05,
  refCat = False 
)
Return a catalog populated with fake, but reasonable, sources.

Centroids are placed on a uniform grid, errors are normally distributed.

Parameters
----------
schema : `lsst.afw.table.Schema`
    Pre-built schema to make the catalog from.
num : `int`
    Number of sources to put in the catalog.
bbox : `lsst.geom.Box2I`
    Bounding box of the ccd to put sources in.
centroidKey : `lsst.afw.table.Key`
    Key for the centroid field to populate.
xErrKey : `lsst.afw.table.Key`
    Key for the xErr field to populate.
yErrKey : `lsst.afw.table.Key`
    Key for the yErr field to populate.
shapeKey : `lsst.afw.table.Key`
    Key for the shape field to populate.
fluxFieldName : `str`
    Name of the flux field to populate in the catalog, without `_instFlux`
    (e.g. "slot_CalibFlux").
skyWcs : `lsst.afw.geom.SkyWcs` or None, optional
    If supplied, use this to fill in coordinates from centroids.
fluxErrFraction : `float`, optional
    Fraction of instFlux to use for the instFluxErr.
refCat : `bool`, optional
    Return a ``SimpleCatalog`` so that it behaves like a reference catalog?

Returns
-------
catalog : `lsst.afw.table.SourceCatalog`
    The filled catalog.

Definition at line 236 of file testUtils.py.

◆ getMeasuredStarsFromCatalog()

lsst.jointcal.testUtils.getMeasuredStarsFromCatalog (   catalog,
  pixToFocal 
)
Return a list of measuredStars built from a catalog.

Parameters
----------
catalog : `lsst.afw.table.SourceCatalog`
    The table to get sources from.
pixToFocal : `lsst.afw.geom.TransformPoint2ToPoint2`
    Transform that goes from pixel to focal plane coordinates, to set the
    MeasuredStar x/y focal points.

Returns
-------
stars : `list` of `lsst.jointcal.MeasuredStar`
    MeasuredStars built from the catalog sources.

Definition at line 313 of file testUtils.py.