Skip to content

Commit

Permalink
fixup properties
Browse files Browse the repository at this point in the history
  • Loading branch information
parejkoj committed Jun 17, 2021
1 parent 3596f6d commit 18de34e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
10 changes: 10 additions & 0 deletions python/lsst/afw/image/exposure/_exposure.cc
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,19 @@ PyExposure<PixelT> declareExposure(lsst::utils::python::WrapperCollection &wrapp
cls.def("setMetadata", &ExposureT::setMetadata, "metadata"_a);
cls.def("getWidth", &ExposureT::getWidth);
cls.def("getHeight", &ExposureT::getHeight);
cls.def_property_readonly("width", &ExposureT::getWidth);
cls.def_property_readonly("height", &ExposureT::getHeight);
cls.def("getDimensions", &ExposureT::getDimensions);
cls.def("getX0", &ExposureT::getX0);
cls.def("getY0", &ExposureT::getY0);
cls.def_property_readonly("x0", &ExposureT::getX0);
cls.def_property_readonly("y0", &ExposureT::getY0);
cls.def("getXY0", &ExposureT::getXY0);
cls.def("setXY0", &ExposureT::setXY0, "xy0"_a);
cls.def("getBBox", &ExposureT::getBBox, "origin"_a = PARENT);
cls.def("getWcs", (std::shared_ptr<geom::SkyWcs>(ExposureT::*)()) & ExposureT::getWcs);
cls.def_property_readonly(
"wcs", (std::shared_ptr<geom::SkyWcs>(ExposureT::*)()) & ExposureT::getWcs);
cls.def("setWcs", &ExposureT::setWcs, "wcs"_a);
cls.def("hasWcs", &ExposureT::hasWcs);
cls.def("getDetector", &ExposureT::getDetector);
Expand All @@ -120,9 +126,13 @@ PyExposure<PixelT> declareExposure(lsst::utils::python::WrapperCollection &wrapp
cls.def_property_readonly("photoCalib", &ExposureT::getPhotoCalib);
cls.def("setPhotoCalib", &ExposureT::setPhotoCalib, "photoCalib"_a);
cls.def("getPsf", (std::shared_ptr<detection::Psf>(ExposureT::*)()) & ExposureT::getPsf);
cls.def_property_readonly(
"psf", (std::shared_ptr<detection::Psf>(ExposureT::*)()) & ExposureT::getPsf);
cls.def("setPsf", &ExposureT::setPsf, "psf"_a);
cls.def("hasPsf", &ExposureT::hasPsf);
cls.def("getInfo", (std::shared_ptr<ExposureInfo>(ExposureT::*)()) & ExposureT::getInfo);
cls.def_property_readonly(
"info", (std::shared_ptr<ExposureInfo>(ExposureT::*)()) & ExposureT::getInfo);
cls.def("setInfo", &ExposureT::setInfo, "exposureInfo"_a);

cls.def_property_readonly("visitInfo",
Expand Down
8 changes: 8 additions & 0 deletions tests/test_exposure.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,9 @@ def testGetMaskedImage(self):
# Check Exposure.getWidth() returns the MaskedImage's width
self.assertEqual(crOnlyWidth, self.exposureCrOnly.getWidth())
self.assertEqual(crOnlyHeight, self.exposureCrOnly.getHeight())
# check width/height properties
self.assertEqual(crOnlyWidth, self.exposureCrOnly.width)
self.assertEqual(crOnlyHeight, self.exposureCrOnly.height)

def testProperties(self):
self.assertMaskedImagesEqual(self.exposureMiOnly.maskedImage,
Expand Down Expand Up @@ -220,6 +223,8 @@ def testExposureInfoConstructor(self):
self.assertEqual(exposure.getFilterLabel(), gFilterLabel)

self.assertTrue(exposure.getInfo().hasWcs())
# check the ExposureInfo property
self.assertTrue(exposure.info.hasWcs())
self.assertEqual(exposure.getInfo().getWcs().getPixelOrigin(),
self.wcs.getPixelOrigin())
self.assertEqual(exposure.getInfo().getDetector().getName(),
Expand Down Expand Up @@ -279,6 +284,7 @@ def testSetExposureInfo(self):
# test properties
self.assertEqual(exposure.detector.getName(), self.detector.getName())
self.assertEqual(exposure.filterLabel, gFilterLabel)
self.assertEqual(exposure.wcs, self.wcs)

def testDefaultFilter(self):
"""Test that old convention of having a "default" filter replaced with `None`.
Expand Down Expand Up @@ -507,6 +513,8 @@ def getExposure():
psf = readExposure.getPsf()
self.assertIsNotNone(psf)
self.assertEqual(psf, self.psf)
# check psf property getter
self.assertEqual(readExposure.psf, self.psf)

def checkWcs(self, parentExposure, subExposure):
"""Compare WCS at corner points of a sub-exposure and its parent exposure
Expand Down

0 comments on commit 18de34e

Please sign in to comment.