Skip to content

Instantly share code, notes, and snippets.

@brianv0
Created September 11, 2019 14:17
Show Gist options
  • Save brianv0/5cdb0a3dddf2a3868957f89528b31252 to your computer and use it in GitHub Desktop.
Save brianv0/5cdb0a3dddf2a3868957f89528b31252 to your computer and use it in GitHub Desktop.
ip_diffim failed
============================= test session starts ==============================
platform linux -- Python 3.7.3, pytest-5.0.1, py-1.8.0, pluggy-0.12.0
rootdir: /scratch/bvan/lsst/distrib/ip_diffim, inifile: setup.cfg
plugins: doctestplus-0.3.0, flake8-1.0.4, xdist-1.29.0, remotedata-0.3.1, forked-1.0.2, openfiles-0.4.0, session2file-0.1.9, arraydiff-0.3, cov-2.7.1
gw0 I / gw1 I / gw2 I / gw3 I
gw0 [248] / gw1 [248] / gw2 [248] / gw3 [248]
........................................................................ [ 29%]
.............FFFF.........................................F............. [ 58%]
...........................s............................................ [ 87%]
................................ [100%]
=================================== FAILURES ===================================
_________________________ DipoleFitTest.testDipoleTask _________________________
[gw2] linux -- Python 3.7.3 /scratch/bvan/conda/envs/default/bin/python3.7
self = <test_dipoleFitter.DipoleFitTest testMethod=testDipoleTask>
def testDipoleTask(self):
"""!Test the dipole fitting singleFramePlugin.
Test that the resulting fluxes/centroids are entered into the
correct slots of the catalog, and have values that are very
close to the input values for both dipoles in the image.
Also test that the resulting fluxes are close to those
generated by the existing ip_diffim_DipoleMeasurement task
(PsfDipoleFit).
"""
params = DipoleTestImage()
sources = self._runDetection(params)
> self._checkTaskOutput(params, sources)
tests/test_dipoleFitter.py:237:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_dipoleFitter.py:189: in _checkTaskOutput
params.flux[i], rtol=rtol)
../../../conda/envs/default/share/eups/Linux64/utils/tickets.DM-20864-g2207ba3768+48c6bae73b/python/lsst/utils/tests.py:588: in assertFloatsAlmostEqual
testCase.fail("Non-finite values in lhs")
E AssertionError: Non-finite values in lhs
----------------------------- Captured stdout call -----------------------------
sourceDetection INFO: Detected 2 positive peaks in 2 footprints and 2 negative peaks in 2 footprints to 5.5 sigma
sourceDetection.background WARN: Too few points in grid to constrain fit: min(nx, ny) < approxOrder) [min(4, 4) < 6]
sourceDetection.background WARN: Reducing approxOrder to 3
sourceDetection INFO: Resubtracting the background after object detection
sourceDetection INFO: Detected 2 positive peaks in 2 footprints and 2 negative peaks in 2 footprints to 5.5 sigma
sourceDetection.background WARN: Too few points in grid to constrain fit: min(nx, ny) < approxOrder) [min(4, 4) < 6]
sourceDetection.background WARN: Reducing approxOrder to 3
sourceDetection INFO: Resubtracting the background after object detection
ip_diffim_DipoleFit INFO: Measuring 2 sources (2 parents, 0 children)
ip_diffim_DipoleFit WARN: DipoleFitPlugin failed on record 5: dipole fit failure
ip_diffim_DipoleFit WARN: DipoleFitPlugin failed on record 6: dipole fit failure
____________________ DipoleFitTest.testDipoleTaskNoNegImage ____________________
[gw2] linux -- Python 3.7.3 /scratch/bvan/conda/envs/default/bin/python3.7
self = <test_dipoleFitter.DipoleFitTest testMethod=testDipoleTaskNoNegImage>
def testDipoleTaskNoNegImage(self):
"""!Test the dipole fitting singleFramePlugin in the case where no
`negImage` is provided. It should be the same as above because
`negImage` can be constructed from `posImage-diffim`.
Test that the resulting fluxes/centroids are entered into the
correct slots of the catalog, and have values that are very
close to the input values for both dipoles in the image.
Also test that the resulting fluxes are close to those
generated by the existing ip_diffim_DipoleMeasurement task
(PsfDipoleFit).
"""
params = DipoleTestImage()
params.testImage.negImage = None
sources = self._runDetection(params)
> self._checkTaskOutput(params, sources)
tests/test_dipoleFitter.py:273:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_dipoleFitter.py:189: in _checkTaskOutput
params.flux[i], rtol=rtol)
../../../conda/envs/default/share/eups/Linux64/utils/tickets.DM-20864-g2207ba3768+48c6bae73b/python/lsst/utils/tests.py:588: in assertFloatsAlmostEqual
testCase.fail("Non-finite values in lhs")
E AssertionError: Non-finite values in lhs
----------------------------- Captured stdout call -----------------------------
sourceDetection INFO: Detected 2 positive peaks in 2 footprints and 2 negative peaks in 2 footprints to 5.5 sigma
sourceDetection.background WARN: Too few points in grid to constrain fit: min(nx, ny) < approxOrder) [min(4, 4) < 6]
sourceDetection.background WARN: Reducing approxOrder to 3
sourceDetection INFO: Resubtracting the background after object detection
sourceDetection INFO: Detected 2 positive peaks in 2 footprints and 2 negative peaks in 2 footprints to 5.5 sigma
sourceDetection.background WARN: Too few points in grid to constrain fit: min(nx, ny) < approxOrder) [min(4, 4) < 6]
sourceDetection.background WARN: Reducing approxOrder to 3
sourceDetection INFO: Resubtracting the background after object detection
ip_diffim_DipoleFit INFO: Measuring 2 sources (2 parents, 0 children)
ip_diffim_DipoleFit WARN: DipoleFitPlugin failed on record 5: dipole fit failure
ip_diffim_DipoleFit WARN: DipoleFitPlugin failed on record 6: dipole fit failure
____________________ DipoleFitTest.testDipoleTaskNoPosImage ____________________
[gw2] linux -- Python 3.7.3 /scratch/bvan/conda/envs/default/bin/python3.7
self = <test_dipoleFitter.DipoleFitTest testMethod=testDipoleTaskNoPosImage>
def testDipoleTaskNoPosImage(self):
"""!Test the dipole fitting singleFramePlugin in the case where no
`posImage` is provided. It should be the same as above because
`posImage` can be constructed from `diffim+negImage`.
Test that the resulting fluxes/centroids are entered into the
correct slots of the catalog, and have values that are very
close to the input values for both dipoles in the image.
Also test that the resulting fluxes are close to those
generated by the existing ip_diffim_DipoleMeasurement task
(PsfDipoleFit).
"""
params = DipoleTestImage()
params.testImage.posImage = None
sources = self._runDetection(params)
> self._checkTaskOutput(params, sources)
tests/test_dipoleFitter.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_dipoleFitter.py:189: in _checkTaskOutput
params.flux[i], rtol=rtol)
../../../conda/envs/default/share/eups/Linux64/utils/tickets.DM-20864-g2207ba3768+48c6bae73b/python/lsst/utils/tests.py:588: in assertFloatsAlmostEqual
testCase.fail("Non-finite values in lhs")
E AssertionError: Non-finite values in lhs
----------------------------- Captured stdout call -----------------------------
sourceDetection INFO: Detected 2 positive peaks in 2 footprints and 2 negative peaks in 2 footprints to 5.5 sigma
sourceDetection.background WARN: Too few points in grid to constrain fit: min(nx, ny) < approxOrder) [min(4, 4) < 6]
sourceDetection.background WARN: Reducing approxOrder to 3
sourceDetection INFO: Resubtracting the background after object detection
sourceDetection INFO: Detected 2 positive peaks in 2 footprints and 2 negative peaks in 2 footprints to 5.5 sigma
sourceDetection.background WARN: Too few points in grid to constrain fit: min(nx, ny) < approxOrder) [min(4, 4) < 6]
sourceDetection.background WARN: Reducing approxOrder to 3
sourceDetection INFO: Resubtracting the background after object detection
ip_diffim_DipoleFit INFO: Measuring 2 sources (2 parents, 0 children)
ip_diffim_DipoleFit WARN: DipoleFitPlugin failed on record 5: dipole fit failure
ip_diffim_DipoleFit WARN: DipoleFitPlugin failed on record 6: dipole fit failure
__________________ DipoleFitTest.testDipoleTaskNoPreSubImages __________________
[gw2] linux -- Python 3.7.3 /scratch/bvan/conda/envs/default/bin/python3.7
self = <test_dipoleFitter.DipoleFitTest testMethod=testDipoleTaskNoPreSubImages>
def testDipoleTaskNoPreSubImages(self):
"""!Test the dipole fitting singleFramePlugin in the case where no
pre-subtraction data (`posImage` or `negImage`) are provided.
In this case it just fits a dipole model to the diffim
(dipole) image alone. Note that this test will only pass for
widely-separated dipoles.
Test that the resulting fluxes/centroids are entered into the
correct slots of the catalog, and have values that are very
close to the input values for both dipoles in the image.
Also test that the resulting fluxes are close to those
generated by the existing ip_diffim_DipoleMeasurement task
(PsfDipoleFit).
"""
params = DipoleTestImage()
params.testImage.posImage = params.testImage.negImage = None
sources = self._runDetection(params)
> self._checkTaskOutput(params, sources)
tests/test_dipoleFitter.py:293:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_dipoleFitter.py:189: in _checkTaskOutput
params.flux[i], rtol=rtol)
../../../conda/envs/default/share/eups/Linux64/utils/tickets.DM-20864-g2207ba3768+48c6bae73b/python/lsst/utils/tests.py:588: in assertFloatsAlmostEqual
testCase.fail("Non-finite values in lhs")
E AssertionError: Non-finite values in lhs
----------------------------- Captured stdout call -----------------------------
sourceDetection INFO: Detected 2 positive peaks in 2 footprints and 2 negative peaks in 2 footprints to 5.5 sigma
sourceDetection.background WARN: Too few points in grid to constrain fit: min(nx, ny) < approxOrder) [min(4, 4) < 6]
sourceDetection.background WARN: Reducing approxOrder to 3
sourceDetection INFO: Resubtracting the background after object detection
sourceDetection INFO: Detected 2 positive peaks in 2 footprints and 2 negative peaks in 2 footprints to 5.5 sigma
sourceDetection.background WARN: Too few points in grid to constrain fit: min(nx, ny) < approxOrder) [min(4, 4) < 6]
sourceDetection.background WARN: Reducing approxOrder to 3
sourceDetection INFO: Resubtracting the background after object detection
ip_diffim_DipoleFit INFO: Measuring 2 sources (2 parents, 0 children)
ip_diffim_DipoleFit WARN: DipoleFitPlugin failed on record 5: dipole fit failure
ip_diffim_DipoleFit WARN: DipoleFitPlugin failed on record 6: dipole fit failure
______________________ DipoleFitTest.testDipoleAlgorithm _______________________
[gw3] linux -- Python 3.7.3 /scratch/bvan/conda/envs/default/bin/python3.7
self = <test_dipoleFitter.DipoleFitTest testMethod=testDipoleAlgorithm>
def testDipoleAlgorithm(self):
"""!Test the dipole fitting algorithm directly (fitDipole()).
Test that the resulting fluxes/centroids are very close to the
input values for both dipoles in the image.
"""
params = DipoleTestImage()
catalog = params.testImage.detectDipoleSources(minBinSize=32)
for s in catalog:
fp = s.getFootprint()
self.assertTrue(len(fp.getPeaks()) == 2)
rtol = params.rtol
offsets = params.offsets
testImage = params.testImage
for i, s in enumerate(catalog):
alg = DipoleFitAlgorithm(testImage.diffim, testImage.posImage, testImage.negImage)
result, _ = alg.fitDipole(
s, rel_weight=0.5, separateNegParams=False,
> verbose=params.verbose, display=params.display)
tests/test_dipoleFitter.py:117:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
python/lsst/ip/diffim/dipoleFitTask.py:829: in fitDipole
bgGradientOrder=bgGradientOrder, verbose=verbose)
python/lsst/ip/diffim/dipoleFitTask.py:759: in fitDipoleImpl
modelObj=dipoleModel)
../../../conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:998: in fit
kwargs[var] = _align(kwargs[var], mask, data)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
var = array([[[-16.5, -15.5, -14.5, ..., 14.5, 15.5, 16.5],
[-16.5, -15.5, -14.5, ..., 14.5, 15.5, 16.5],
...5],
[ 15.5, 15.5, 15.5, ..., 15.5, 15.5, 15.5],
[ 16.5, 16.5, 16.5, ..., 16.5, 16.5, 16.5]]])
mask = array([[[ True, True, True, ..., True, True, True],
[ True, True, True, ..., True, True, True],
...e],
[ True, True, True, ..., True, True, True],
[ True, True, True, ..., True, True, True]]])
data = array([ 0.42375344, -0.28085816, 0.48262876, ..., 1.304831 ,
2.4711592 , 3.6819208 ], dtype=float32)
def _align(var, mask, data):
"""Align missing data, if pandas is available."""
if isinstance(data, Series) and isinstance(var, Series):
return var.reindex_like(data).dropna()
elif mask is not None:
> return var[mask]
E IndexError: boolean index did not match indexed array along dimension 0; dimension is 2 but corresponding boolean dimension is 3
../../../conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:34: IndexError
----------------------------- Captured stdout call -----------------------------
sourceDetection INFO: Detected 2 positive peaks in 2 footprints and 2 negative peaks in 2 footprints to 5.5 sigma
sourceDetection.background WARN: Too few points in grid to constrain fit: min(nx, ny) < approxOrder) [min(4, 4) < 6]
sourceDetection.background WARN: Reducing approxOrder to 3
sourceDetection INFO: Resubtracting the background after object detection
=============================== warnings summary ===============================
/scratch/bvan/conda/envs/default/share/eups/Linux64/base/tickets.DM-20864-g6f30940fad+606ab73386/python/lsst/base/packages.py:31
/scratch/bvan/conda/envs/default/share/eups/Linux64/base/tickets.DM-20864-g6f30940fad+606ab73386/python/lsst/base/packages.py:31
/scratch/bvan/conda/envs/default/share/eups/Linux64/base/tickets.DM-20864-g6f30940fad+606ab73386/python/lsst/base/packages.py:31
/scratch/bvan/conda/envs/default/share/eups/Linux64/base/tickets.DM-20864-g6f30940fad+606ab73386/python/lsst/base/packages.py:31
/scratch/bvan/conda/envs/default/share/eups/Linux64/base/tickets.DM-20864-g6f30940fad+606ab73386/python/lsst/base/packages.py:31: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import Mapping
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/past/types/oldstr.py:5
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/past/types/oldstr.py:5
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/past/types/oldstr.py:5
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/past/types/oldstr.py:5
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/past/types/oldstr.py:5: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import Iterable
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219
/scratch/bvan/conda/envs/default/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C header, got 216 from PyObject
return f(*args, **kwds)
/scratch/bvan/conda/envs/default/share/eups/Linux64/proxmin/tickets.DM-20864-gcf227cf51e+da39a3ee5e/lib/python/proxmin-0.5.5-py3.7.egg/proxmin/operators.py:121
/scratch/bvan/conda/envs/default/share/eups/Linux64/proxmin/tickets.DM-20864-gcf227cf51e+da39a3ee5e/lib/python/proxmin-0.5.5-py3.7.egg/proxmin/operators.py:121
/scratch/bvan/conda/envs/default/share/eups/Linux64/proxmin/tickets.DM-20864-gcf227cf51e+da39a3ee5e/lib/python/proxmin-0.5.5-py3.7.egg/proxmin/operators.py:121
/scratch/bvan/conda/envs/default/share/eups/Linux64/proxmin/tickets.DM-20864-gcf227cf51e+da39a3ee5e/lib/python/proxmin-0.5.5-py3.7.egg/proxmin/operators.py:121
/scratch/bvan/conda/envs/default/share/eups/Linux64/proxmin/tickets.DM-20864-gcf227cf51e+da39a3ee5e/lib/python/proxmin-0.5.5-py3.7.egg/proxmin/operators.py:121
/scratch/bvan/conda/envs/default/share/eups/Linux64/proxmin/tickets.DM-20864-gcf227cf51e+da39a3ee5e/lib/python/proxmin-0.5.5-py3.7.egg/proxmin/operators.py:121
/scratch/bvan/conda/envs/default/share/eups/Linux64/proxmin/tickets.DM-20864-gcf227cf51e+da39a3ee5e/lib/python/proxmin-0.5.5-py3.7.egg/proxmin/operators.py:121
/scratch/bvan/conda/envs/default/share/eups/Linux64/proxmin/tickets.DM-20864-gcf227cf51e+da39a3ee5e/lib/python/proxmin-0.5.5-py3.7.egg/proxmin/operators.py:121
/scratch/bvan/conda/envs/default/share/eups/Linux64/proxmin/tickets.DM-20864-gcf227cf51e+da39a3ee5e/lib/python/proxmin-0.5.5-py3.7.egg/proxmin/operators.py:121: DeprecationWarning: invalid escape sequence \s
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/model.py:278: FutureWarning: The keyword 'missing' is deprecated as of lmfit 0.9.13 and will be removed in the next release. Use 'nan_policy' instead.
"Use 'nan_policy' instead.", FutureWarning)
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105
/scratch/bvan/conda/envs/default/lib/python3.7/site-packages/lmfit/minimizer.py:2105: FutureWarning: The option 'drop' is deprecated as of lmfit 0.9.13 and will be removed in the next release. Use 'omit' instead.
"instead.", FutureWarning)
-- Docs: https://docs.pytest.org/en/latest/warnings.html
- generated xml file: /scratch/bvan/lsst/distrib/ip_diffim/tests/.tests/pytest-ip_diffim.xml -
----------- coverage: platform linux, python 3.7.3-final-0 -----------
Name Stmts Miss Branch BrPart Cover
-------------------------------------------------------------------------------------
python/lsst/__init__.py 3 0 0 0 100%
python/lsst/gdb/__init__.py 3 0 0 0 100%
python/lsst/gdb/ip/__init__.py 3 0 0 0 100%
python/lsst/gdb/ip/diffim/__init__.py 0 0 0 0 100%
python/lsst/ip/__init__.py 3 0 0 0 100%
python/lsst/ip/diffim/__init__.py 23 0 0 0 100%
python/lsst/ip/diffim/dcrModel.py 222 90 84 10 52%
python/lsst/ip/diffim/deprecated.py 19 2 8 1 89%
python/lsst/ip/diffim/detail/__init__.py 1 0 0 0 100%
python/lsst/ip/diffim/detail/diffimDetailLib.py 11 0 0 0 100%
python/lsst/ip/diffim/diaCatalogSourceSelector.py 93 24 44 11 72%
python/lsst/ip/diffim/diaSourceAnalysis.py 75 56 14 0 21%
python/lsst/ip/diffim/diffimLib.py 15 0 0 0 100%
python/lsst/ip/diffim/diffimTools.py 261 95 72 8 59%
python/lsst/ip/diffim/dipoleFitTask.py 435 190 132 25 53%
python/lsst/ip/diffim/dipoleMeasurement.py 168 45 46 6 66%
python/lsst/ip/diffim/getTemplate.py 103 80 32 0 17%
python/lsst/ip/diffim/imageDecorrelation.py 223 37 52 18 75%
python/lsst/ip/diffim/imageMapReduce.py 262 28 98 8 88%
python/lsst/ip/diffim/imagePsfMatch.py 266 59 80 31 73%
python/lsst/ip/diffim/kernelCandidateQa.py 169 153 50 0 7%
python/lsst/ip/diffim/makeKernelBasisList.py 107 14 47 11 84%
python/lsst/ip/diffim/metrics.py 45 0 10 0 100%
python/lsst/ip/diffim/modelPsfMatch.py 149 8 36 7 92%
python/lsst/ip/diffim/psfMatch.py 294 51 130 11 82%
python/lsst/ip/diffim/snapPsfMatch.py 30 1 0 0 97%
python/lsst/ip/diffim/utils.py 685 582 202 5 python/lsst/ip/diffim/utils.py 685 582 202 5 13%
python/lsst/ip/diffim/version.py 5 0 0 0 100%
python/lsst/ip/diffim/zogy.py 469 62 94 22 84%
tests/test_assessSpatialKernelVisitor.py 94 2 5 1 97%
tests/test_basisLists.py 166 12 18 1 93%
tests/test_buildSingleKernelVisitor.py 194 8 14 1 96%
tests/test_buildSpatialKernelVisitor.py 111 3 22 1 97%
tests/test_compareToHotpants.py 302 2 84 1 99%
tests/test_dcrModel.py 318 3 66 2 99%
tests/test_diaCatalogSourceSelector.py 79 2 10 2 96%
tests/test_dipole.py 271 20 28 10 90%
tests/test_dipoleFitter.py 111 19 12 4 81%
tests/test_findSetBits.py 49 2 2 1 94%
tests/test_imageDecorrelation.py 224 10 22 8 93%
tests/test_imageMapReduce.py 283 6 56 5 97%
tests/test_imagePsfMatch.py 166 3 14 1 98%
tests/test_imageStatistics.py 125 2 38 3 97%
tests/test_imageSubtract.py 75 4 14 3 92%
tests/test_ipDiffimConfig.py 41 2 2 1 93%
tests/test_kernelCandidateAndSolution.py 318 35 54 3 90%
tests/test_kernelCandidateDetection.py 76 4 12 3 92%
tests/test_kernelPca.py 168 2 30 1 98%
tests/test_kernelSumVisitor.py 100 3 20 1 97%
tests/test_metrics.py 104 2 4 1 97%
tests/test_modelPsfMatch.py 91 3 10 1 96%
tests/test_snapPsfMatch.py 84 2 2 1 97%
tests/test_subtractExposures.py 170 7 40 5 94%
tests/test_zogy.py 164 2 10 1 98%
-------------------------------------------------------------------------------------
TOTAL 8026 1737 1820 236 75%
Coverage HTML written to dir tests/.tests/pytest-ip_diffim.xml-htmlcov
Coverage XML written to file tests/.tests/pytest-ip_diffim.xml-cov-ip_diffim.xml
======== 5 failed, 242 passed, 1 skipped, 56 warnings in 42.54 seconds =========
@brianv0
Copy link
Author

brianv0 commented Sep 11, 2019

some pdb output from the IndexError

(Pdb) data
array([ 0.42375344, -0.28085816,  0.48262876, ...,  1.304831  ,
        2.4711592 ,  3.6819208 ], dtype=float32)
(Pdb) var
array([[[-16.5, -15.5, -14.5, ...,  14.5,  15.5,  16.5],
        [-16.5, -15.5, -14.5, ...,  14.5,  15.5,  16.5],
        [-16.5, -15.5, -14.5, ...,  14.5,  15.5,  16.5],
        ...,
        [-16.5, -15.5, -14.5, ...,  14.5,  15.5,  16.5],
        [-16.5, -15.5, -14.5, ...,  14.5,  15.5,  16.5],
        [-16.5, -15.5, -14.5, ...,  14.5,  15.5,  16.5]],

       [[-16.5, -16.5, -16.5, ..., -16.5, -16.5, -16.5],
        [-15.5, -15.5, -15.5, ..., -15.5, -15.5, -15.5],
        [-14.5, -14.5, -14.5, ..., -14.5, -14.5, -14.5],
        ...,
        [ 14.5,  14.5,  14.5, ...,  14.5,  14.5,  14.5],
        [ 15.5,  15.5,  15.5, ...,  15.5,  15.5,  15.5],
        [ 16.5,  16.5,  16.5, ...,  16.5,  16.5,  16.5]]])
(Pdb) mask
array([[[ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True],
        ...,
        [ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True]],

       [[ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True],
        ...,
        [ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True]],

       [[ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True],
        ...,
        [ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True],
        [ True,  True,  True, ...,  True,  True,  True]]])

@brianv0
Copy link
Author

brianv0 commented Sep 11, 2019

One of the dipole fit errors:

184  	        offsets = params.offsets
185  	        for i, r1 in enumerate(sources):
186  	            result = r1.extract("ip_diffim_DipoleFit*")
187  	            self.assertFloatsAlmostEqual((result['ip_diffim_DipoleFit_pos_instFlux'] +
188  	                                          abs(result['ip_diffim_DipoleFit_neg_instFlux']))/2.,
189  ->	                                         params.flux[i], rtol=rtol)
190  	            self.assertFloatsAlmostEqual(result['ip_diffim_DipoleFit_pos_centroid_x'],
191  	                                         params.xc[i] + offsets[i], rtol=rtol)
192  	            self.assertFloatsAlmostEqual(result['ip_diffim_DipoleFit_pos_centroid_y'],
193  	                                         params.yc[i] + offsets[i], rtol=rtol)
194  	            self.assertFloatsAlmostEqual(result['ip_diffim_DipoleFit_neg_centroid_x'],
(Pdb) result
{'ip_diffim_DipoleFit_pos_instFlux': nan, 'ip_diffim_DipoleFit_pos_instFluxErr': nan, 'ip_diffim_DipoleFit_pos_centroid_x': nan, 'ip_diffim_DipoleFit_pos_centroid_y': nan, 'ip_diffim_DipoleFit_neg_instFlux': nan, 'ip_diffim_DipoleFit_neg_instFluxErr': nan, 'ip_diffim_DipoleFit_neg_centroid_x': nan, 'ip_diffim_DipoleFit_neg_centroid_y': nan, 'ip_diffim_DipoleFit_centroid_x': nan, 'ip_diffim_DipoleFit_centroid_y': nan, 'ip_diffim_DipoleFit_instFlux': nan, 'ip_diffim_DipoleFit_orientation': nan, 'ip_diffim_DipoleFit_separation': nan, 'ip_diffim_DipoleFit_chi2dof': nan, 'ip_diffim_DipoleFit_signalToNoise': nan, 'ip_diffim_DipoleFit_flag_classification': False, 'ip_diffim_DipoleFit_flag_classificationAttempted': False, 'ip_diffim_DipoleFit_flag': True, 'ip_diffim_DipoleFit_flag_edge': False}
(Pdb) dir()
['i', 'offsets', 'params', 'r1', 'result', 'rtol', 'self', 'sources']
(Pdb) params.flux
[2500.0, 2345.0]
(Pdb) rtol
0.01
(Pdb) r1
<class 'lsst.afw.table.SourceRecord'>
id: 5
coord_ra: 0.785376 rad
coord_dec: 0.785387 rad
parent: 0
flags_negative: 0
ip_diffim_NaiveDipoleCentroid_flag: 0
ip_diffim_NaiveDipoleCentroid_pos_flag: 0
ip_diffim_NaiveDipoleCentroid_neg_flag: 0
ip_diffim_NaiveDipoleCentroid_x: 65.4391
ip_diffim_NaiveDipoleCentroid_y: 38.5013
ip_diffim_NaiveDipoleCentroid_xErr: nan
ip_diffim_NaiveDipoleCentroid_yErr: nan
ip_diffim_NaiveDipoleCentroid_pos_x: 63.0403
ip_diffim_NaiveDipoleCentroid_pos_y: 36.0946
ip_diffim_NaiveDipoleCentroid_pos_xErr: nan
ip_diffim_NaiveDipoleCentroid_pos_yErr: nan
ip_diffim_NaiveDipoleCentroid_neg_x: 67.8804
ip_diffim_NaiveDipoleCentroid_neg_y: 40.9504
ip_diffim_NaiveDipoleCentroid_neg_xErr: nan
ip_diffim_NaiveDipoleCentroid_neg_yErr: nan
base_CircularApertureFlux_3_0_instFlux: -10.8449
base_CircularApertureFlux_3_0_instFluxErr: 14.7343
base_CircularApertureFlux_3_0_flag: 0
base_CircularApertureFlux_3_0_flag_apertureTruncated: 0
base_CircularApertureFlux_3_0_flag_sincCoeffsTruncated: 0
base_CircularApertureFlux_4_5_instFlux: 0.932217
base_CircularApertureFlux_4_5_instFluxErr: 22.0444
base_CircularApertureFlux_4_5_flag: 0
base_CircularApertureFlux_4_5_flag_apertureTruncated: 0
base_CircularApertureFlux_4_5_flag_sincCoeffsTruncated: 0
base_CircularApertureFlux_6_0_instFlux: 44.118
base_CircularApertureFlux_6_0_instFluxErr: 29.5647
base_CircularApertureFlux_6_0_flag: 0
base_CircularApertureFlux_6_0_flag_apertureTruncated: 0
base_CircularApertureFlux_6_0_flag_sincCoeffsTruncated: 0
base_CircularApertureFlux_9_0_instFlux: 104.354
base_CircularApertureFlux_9_0_instFluxErr: 44.6057
base_CircularApertureFlux_9_0_flag: 0
base_CircularApertureFlux_9_0_flag_apertureTruncated: 0
base_CircularApertureFlux_9_0_flag_sincCoeffsTruncated: 0
base_CircularApertureFlux_12_0_instFlux: 201.139
base_CircularApertureFlux_12_0_instFluxErr: 60.1332
base_CircularApertureFlux_12_0_flag: 0
base_CircularApertureFlux_12_0_flag_apertureTruncated: 0
base_CircularApertureFlux_17_0_instFlux: 310.569
base_CircularApertureFlux_17_0_instFluxErr: 85.2291
base_CircularApertureFlux_17_0_flag: 0
base_CircularApertureFlux_17_0_flag_apertureTruncated: 0
base_CircularApertureFlux_25_0_instFlux: 252.276
base_CircularApertureFlux_25_0_instFluxErr: 125.603
base_CircularApertureFlux_25_0_flag: 0
base_CircularApertureFlux_25_0_flag_apertureTruncated: 0
base_CircularApertureFlux_35_0_instFlux: nan
base_CircularApertureFlux_35_0_instFluxErr: nan
base_CircularApertureFlux_35_0_flag: 1
base_CircularApertureFlux_35_0_flag_apertureTruncated: 1
base_CircularApertureFlux_50_0_instFlux: nan
base_CircularApertureFlux_50_0_instFluxErr: nan
base_CircularApertureFlux_50_0_flag: 1
base_CircularApertureFlux_50_0_flag_apertureTruncated: 1
base_CircularApertureFlux_70_0_instFlux: nan
base_CircularApertureFlux_70_0_instFluxErr: nan
base_CircularApertureFlux_70_0_flag: 1
base_CircularApertureFlux_70_0_flag_apertureTruncated: 1
base_PixelFlags_flag: 0
base_PixelFlags_flag_offimage: 0
base_PixelFlags_flag_edge: 1
base_PixelFlags_flag_interpolated: 1
base_PixelFlags_flag_saturated: 1
base_PixelFlags_flag_cr: 1
base_PixelFlags_flag_bad: 1
base_PixelFlags_flag_suspect: 0
base_PixelFlags_flag_interpolatedCenter: 1
base_PixelFlags_flag_saturatedCenter: 0
base_PixelFlags_flag_crCenter: 0
base_PixelFlags_flag_suspectCenter: 0
base_PsfFlux_instFlux: 6.71428
base_PsfFlux_instFluxErr: 20.0267
base_PsfFlux_area: 50.1235
base_PsfFlux_flag: 0
base_PsfFlux_flag_noGoodPixels: 0
base_PsfFlux_flag_edge: 0
ip_diffim_NaiveDipoleFlux_flag: 0
ip_diffim_NaiveDipoleFlux_pos_flag: 0
ip_diffim_NaiveDipoleFlux_neg_flag: 0
ip_diffim_NaiveDipoleFlux_pos_instFlux: 2788.7
ip_diffim_NaiveDipoleFlux_pos_instFluxErr: 52.8081
ip_diffim_NaiveDipoleFlux_neg_instFlux: -2515.87
ip_diffim_NaiveDipoleFlux_neg_instFluxErr: -nan
ip_diffim_NaiveDipoleFlux_npos: 348
ip_diffim_NaiveDipoleFlux_nneg: 308
ip_diffim_PsfDipoleFlux_flag: 0
ip_diffim_PsfDipoleFlux_pos_flag: 0
ip_diffim_PsfDipoleFlux_neg_flag: 0
ip_diffim_PsfDipoleFlux_pos_instFlux: 2499.48
ip_diffim_PsfDipoleFlux_pos_instFluxErr: 21.1494
ip_diffim_PsfDipoleFlux_neg_instFlux: -2468.21
ip_diffim_PsfDipoleFlux_neg_instFluxErr: 21.3347
ip_diffim_PsfDipoleFlux_chi2dof: 0.959559
ip_diffim_PsfDipoleFlux_pos_centroid_x: 63.2891
ip_diffim_PsfDipoleFlux_pos_centroid_y: 36.6075
ip_diffim_PsfDipoleFlux_pos_centroid_xErr: nan
ip_diffim_PsfDipoleFlux_pos_centroid_yErr: nan
ip_diffim_PsfDipoleFlux_neg_centroid_x: 67.286
ip_diffim_PsfDipoleFlux_neg_centroid_y: 40.6494
ip_diffim_PsfDipoleFlux_neg_centroid_xErr: nan
ip_diffim_PsfDipoleFlux_neg_centroid_yErr: nan
ip_diffim_PsfDipoleFlux_centroid_x: 65.2876
ip_diffim_PsfDipoleFlux_centroid_y: 38.6285
ip_diffim_PsfDipoleFlux_centroid_xErr: nan
ip_diffim_PsfDipoleFlux_centroid_yErr: nan
ip_diffim_DipoleFit_pos_instFlux: nan
ip_diffim_DipoleFit_pos_instFluxErr: nan
ip_diffim_DipoleFit_pos_centroid_x: nan
ip_diffim_DipoleFit_pos_centroid_y: nan
ip_diffim_DipoleFit_neg_instFlux: nan
ip_diffim_DipoleFit_neg_instFluxErr: nan
ip_diffim_DipoleFit_neg_centroid_x: nan
ip_diffim_DipoleFit_neg_centroid_y: nan
ip_diffim_DipoleFit_centroid_x: nan
ip_diffim_DipoleFit_centroid_y: nan
ip_diffim_DipoleFit_instFlux: nan
ip_diffim_DipoleFit_orientation: nan
ip_diffim_DipoleFit_separation: nan
ip_diffim_DipoleFit_chi2dof: nan
ip_diffim_DipoleFit_signalToNoise: nan
ip_diffim_DipoleFit_flag_classification: 0
ip_diffim_DipoleFit_flag_classificationAttempted: 0
ip_diffim_DipoleFit_flag: 1
ip_diffim_DipoleFit_flag_edge: 0
(Pdb) up
> /scratch/bvan/lsst/distrib/ip_diffim/tests/test_dipoleFitter.py(237)testDipoleTask()
-> self._checkTaskOutput(params, sources)
(Pdb) dir()
['params', 'self', 'sources']
(Pdb) sources
<class 'lsst.afw.table.SourceCatalog'>
 id      coord_ra          coord_dec      parent flags_negative ... ip_diffim_DipoleFit_flag_classification ip_diffim_DipoleFit_flag_classificationAttempted ip_diffim_DipoleFit_flag ip_diffim_DipoleFit_flag_edge
           rad                rad                               ...                                                                                                                                                
--- ------------------ ------------------ ------ -------------- ... --------------------------------------- ------------------------------------------------ ------------------------ -----------------------------
  5  0.785376306934741 0.7853874985960185      0          False ...                                   False                                            False                     True                         False
  6 0.7854325308443354  0.785426259075173      0          False ...                                   False                                            False                     True                         False
(Pdb) 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment