ObsTests¶
- class lsst.obs.base.tests.ObsTests¶
Bases:
ButlerGetTests
,CameraTests
Aggregator class for all of the obs_* test classes.
Inherit from this class, then lsst.utils.tests.TestCase, in that order.
Example subclass:
class TestObs(lsst.obs.base.tests.ObsTests, lsst.utils.tests.TestCase): def setUp(self): self.setUp_tests(...) self.setUp_butler_get(...) self.setUp_camera(...)
Notes
The intention is for each obs package to have a single test class that inherits from this collector class, thus “automatically” getting all new tests. If those tests require setup that isn’t defined in a given obs package, that obs package will be broken until updated. This is intentional, as a way to prevent obs packages from falling behind out of neglect.
Methods Summary
setUp_butler_get
([ccdExposureId_bits, ...])Set up the necessary variables for butlerGet tests.
setUp_camera
([camera_name, n_detectors, ...])Set up the necessary variables for camera tests.
setUp_tests
(butler, dataIds)Set up the necessary shared variables used by multiple tests.
tearDown
()Check that the butler returns the right type of camera.
Test that we can get a linearizer for good detectorIds.
Check that bad detectorIds raise.
Get a camera instance and check it is an iterable.
Check the plate scale at center of focal plane.
test_raw
()Test that
raw_header_wcs
returns the unmodified header of the raw image.Methods Documentation
- setUp_butler_get(ccdExposureId_bits=None, exposureIds=None, filters=None, exptimes=None, detectorIds=None, detector_names=None, detector_serials=None, dimensions=None, sky_origin=None, raw_subsets=None, good_detectorIds=None, bad_detectorIds=None, linearizer_type=None, raw_header_wcs=None)¶
Set up the necessary variables for butlerGet tests.
All “exposure name” entries below should correspond to an entry in self.dataIds.
- Parameters:
- ccdExposureId_bits
int
expected value of ccdExposureId_bits
- exposureIds
dict
dict of exposure name : ccdExposureId (the number as returned by the butler)
- filters
dict
dict of exposure name : filter name
- exptimes
dict
dict of exposure name : exposure time
- detector_names
dict
dict of exposure name : detector name
- detectorIds
dict
dict of exposure name : detectorId
- detector_serials
dict
dict of exposure name : detector serial
- dimensions
dict
dict of exposure name : dimensions (as a geom.Extent2I)
- sky_origin
tuple
offloat
Longitude, Latitude of ‘raw’ exposure
- raw_subsets
tuple
of (kwargs,int
) keyword args and expected number of subsets for
butler.subset('raw', **kwargs)
- good_detectorIds
list
ofint
list of valid ccd numbers
- bad_detectorIds
list
ofint
list of invalid ccd numbers
- linearizer_type
dict
dict of detectorId (usually
int
): LinearizerType (e.g. lsst.ip.isr.LinearizeLookupTable.LinearityType), or unittest.SkipTest to skip all linearizer tests.- raw_header_wcs
lsst.afw.geom.SkyWcs
The SkyWcs object that should be returned by
butler.get("raw_header_wcs", dataId=self.dataIds["raw"])
- ccdExposureId_bits
- setUp_camera(camera_name=None, n_detectors=None, first_detector_name=None, plate_scale=None)¶
Set up the necessary variables for camera tests.
- Parameters:
- camera_name
str
name of this camera
- n_detectors
int
number of detectors in this camera
- first_detector_name
str
name of the first detector in this camera
- plate_scale
lsst.geom.Angle
plate scale at center of focal plane, as angle-on-sky/mm
- camera_name
- setUp_tests(butler, dataIds)¶
Set up the necessary shared variables used by multiple tests.
- Parameters:
- butler: `lsst.daf.butler.Butler`
A butler object, instantiated on the testdata repository for the obs package being tested.
- dataIds: `dict`
dictionary of (exposure name): (dataId of that exposure in the testdata repository), with unittest.SkipTest as the value for any exposures you do not have/do not want to test. It must contain a valid ‘raw’ dataId, in addition to ‘bias’,’flat’,’dark’, which may be set to SkipTest. For example:
self.dataIds = { "raw": {"visit": 1, "filter": "g"}, "bias": {"visit": 1}, "flat": {"visit": 1}, "dark": unittest.SkipTest, }
- tearDown()¶
- test_bias()¶
- test_camera_butler()¶
Check that the butler returns the right type of camera.
- test_dark()¶
- test_flat()¶
- test_get_linearizer()¶
Test that we can get a linearizer for good detectorIds.
- test_get_linearizer_bad_detectorIds()¶
Check that bad detectorIds raise.
- test_iterable()¶
Get a camera instance and check it is an iterable.
- test_plate_scale()¶
Check the plate scale at center of focal plane.
Check plate_scale using the FOCAL_PLANE to FIELD_ANGLE transform from the camera.
- test_raw()¶
- test_raw_header_wcs()¶
Test that
raw_header_wcs
returns the unmodified header of the raw image.
- test_subset_raw()¶