Skip to content

Commit

Permalink
Consolidate code in classification tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
TallJimbo committed Mar 31, 2015
1 parent 3d57476 commit 82a221e
Showing 1 changed file with 26 additions and 87 deletions.
113 changes: 26 additions & 87 deletions tests/testClassification.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,108 +68,47 @@ def testFlags(self):
config.slots.psfFlux = "base_PsfFlux"
config.slots.modelFlux = "base_GaussianFlux"

def runFlagTest(psfFlux=100.0, modelFlux=200.0,
psfFluxSigma=1.0, modelFluxSigma=2.0,
psfFluxFlag=False, modelFluxFlag=False):
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_flux", psfFlux)
source.set("base_PsfFlux_fluxSigma", psfFluxSigma)
source.set("base_PsfFlux_flag", psfFluxFlag)
source.set("base_GaussianFlux_flux", modelFlux)
source.set("base_GaussianFlux_fluxSigma", modelFluxSigma)
source.set("base_GaussianFlux_flag", modelFluxFlag)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
return source.get("base_ClassificationExtendedness_flag")

# Test no error case - all necessary values are set
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_flux", 100)
source.set("base_PsfFlux_fluxSigma", 1)
source.set("base_GaussianFlux_flux", 200)
source.set("base_GaussianFlux_fluxSigma", 2)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
self.assertFalse(source.get("base_ClassificationExtendedness_flag"))
self.assertFalse(runFlagTest())

# Test psfFlux flag case - failure in PsfFlux
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_flux", 100)
source.set("base_PsfFlux_fluxSigma", 1)
source.set("base_GaussianFlux_flux", 200)
source.set("base_GaussianFlux_fluxSigma", 2)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
source.set("base_PsfFlux_flag", True)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
self.assertTrue(source.get("base_ClassificationExtendedness_flag"))

# Test modelFlux flag case - falure in ModelFlux
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_flux", 100)
source.set("base_PsfFlux_fluxSigma", 1)
source.set("base_GaussianFlux_flux", 200)
source.set("base_GaussianFlux_fluxSigma", 2)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
source.set("base_GaussianFlux_flag", True)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
self.assertTrue(source.get("base_ClassificationExtendedness_flag"))
self.assertTrue(runFlagTest(psfFluxFlag=True))

# Test modelFlux flag case - failure in ModelFlux
self.assertTrue(runFlagTest(modelFluxFlag=True))

# Test modelFlux NAN case
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_flux", 100)
source.set("base_PsfFlux_fluxSigma", 1)
source.set("base_GaussianFlux_fluxSigma", 2)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
source.set("base_GaussianFlux_flag", True)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
self.assertTrue(source.get("base_ClassificationExtendedness_flag"))
self.assertTrue(runFlagTest(modelFlux=float("NaN"), modelFluxFlag=True))

# Test psfFlux NAN case
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_fluxSigma", 1)
source.set("base_GaussianFlux_flux", 200)
source.set("base_GaussianFlux_fluxSigma", 2)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
source.set("base_GaussianFlux_flag", True)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
self.assertTrue(source.get("base_ClassificationExtendedness_flag"))
self.assertTrue(runFlagTest(psfFlux=float("NaN"), psfFluxFlag=True))

# Test modelFluxErr NAN case when modelErrFactor is zero and non-zero
config.plugins["base_ClassificationExtendedness"].modelErrFactor = 0.
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_flux", 100)
source.set("base_PsfFlux_fluxSigma", 1)
source.set("base_GaussianFlux_flux", 200)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
self.assertFalse(source.get("base_ClassificationExtendedness_flag"))

self.assertFalse(runFlagTest(modelFluxSigma=float("NaN")))
config.plugins["base_ClassificationExtendedness"].modelErrFactor = 1.
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_flux", 100)
source.set("base_PsfFlux_fluxSigma", 1)
source.set("base_GaussianFlux_flux", 200)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
self.assertTrue(source.get("base_ClassificationExtendedness_flag"))
self.assertTrue(runFlagTest(modelFluxSigma=float("NaN")))

# Test psfFluxErr NAN case when psfErrFactor is zero and non-zero
config.plugins["base_ClassificationExtendedness"].psfErrFactor = 0.
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_flux", 100)
source.set("base_GaussianFlux_fluxSigma", 1)
source.set("base_GaussianFlux_flux", 200)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
self.assertFalse(source.get("base_ClassificationExtendedness_flag"))

self.assertFalse(runFlagTest(psfFluxSigma=float("NaN")))
config.plugins["base_ClassificationExtendedness"].psfErrFactor = 1.
task = self.makeSingleFrameMeasurementTask(config=config)
exposure, catalog = self.dataset.realize(10.0, task.schema)
source = catalog[0]
source.set("base_PsfFlux_flux", 100)
source.set("base_GaussianFlux_fluxSigma", 1)
source.set("base_GaussianFlux_flux", 200)
task.plugins["base_ClassificationExtendedness"].measure(source, exposure)
self.assertTrue(source.get("base_ClassificationExtendedness_flag"))
self.assertTrue(runFlagTest(psfFluxSigma=float("NaN")))

def suite():
"""Returns a suite containing all the test cases in this module."""
Expand Down

0 comments on commit 82a221e

Please sign in to comment.