Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-13563

IndexError in coaddBase.scaleVariance warps with low coverage

    XMLWordPrintable

Details

    Description

      scaleVariance fails for small images. Make coaddition algorithms more robust either by changing scaleVariance() or wrapping uses of it in a try block. I've also considered requiring a configurable number of pixels to cover a patch before its written out as a warp.

      compareWarpAssembleCoadd FATAL: Failed on dataId=DataId(initialdata={'tract': 9813, 'filter': 'HSC-Y', 'patch': '8,1'}, tag=set()): IndexError: cannot do a non-empty take from an empty axes.
      Traceback (most recent call last):
        File "/software/lsstsw/stack3_20171023/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+39/python/lsst/pipe/base/cmdLineTask.py", line 408, in __call__
          result = task.run(dataRef, **kwargs)
        File "/software/lsstsw/stack3_20171023/stack/miniconda3-4.3.21-10a4fa6/Linux64/pipe_base/14.0-6-ge2c9487+39/python/lsst/pipe/base/timer.py", line 150, in wrapper
          res = func(self, *args, **keyArgs)
        File "/home/yusra/lsst_devel/LSST/DMS/pipe_tasks_DM-13410/python/lsst/pipe/tasks/assembleCoadd.py", line 363, in run
          inputData.weightList, supplementaryData=supplementaryData)
        File "/home/yusra/lsst_devel/LSST/DMS/pipe_tasks_DM-13410/python/lsst/pipe/tasks/assembleCoadd.py", line 1605, in assemble
          spanSetMaskList = self.findArtifacts(templateCoadd, tempExpRefList, imageScalerList)
        File "/home/yusra/lsst_devel/LSST/DMS/pipe_tasks_DM-13410/python/lsst/pipe/tasks/assembleCoadd.py", line 1646, in findArtifacts
          warpDiffExp = self._readAndComputeWarpDiff(warpRef, imageScaler, templateCoadd)
        File "/home/yusra/lsst_devel/LSST/DMS/pipe_tasks_DM-13410/python/lsst/pipe/tasks/assembleCoadd.py", line 1767, in _readAndComputeWarpDiff
          log=self.log)
        File "/home/yusra/lsst_devel/LSST/DMS/pipe_tasks_DM-13410/python/lsst/pipe/tasks/coaddBase.py", line 306, in scaleVariance
          q1, q3 = numpy.percentile(sigNoise[good], (25, 75))
        File "/software/lsstsw/stack3_20171023/python/miniconda3-4.3.21/lib/python3.6/site-packages/numpy/lib/function_base.py", line 4269, in percentile
          interpolation=interpolation)
        File "/software/lsstsw/stack3_20171023/python/miniconda3-4.3.21/lib/python3.6/site-packages/numpy/lib/function_base.py", line 4011, in _ureduce
          r = func(a, **kwargs)
        File "/software/lsstsw/stack3_20171023/python/miniconda3-4.3.21/lib/python3.6/site-packages/numpy/lib/function_base.py", line 4386, in _percentile
          x1 = take(ap, indices_below, axis=axis) * weights_below
        File "/software/lsstsw/stack3_20171023/python/miniconda3-4.3.21/lib/python3.6/site-packages/numpy/core/fromnumeric.py", line 134, in take
          return _wrapfunc(a, 'take', indices, axis=axis, out=out, mode=mode)
        File "/software/lsstsw/stack3_20171023/python/miniconda3-4.3.21/lib/python3.6/site-packages/numpy/core/fromnumeric.py", line 57, in _wrapfunc
          return getattr(obj, method)(*args, **kwds)
      IndexError: cannot do a non-empty take from an empty axes.
      

      Attachments

        Issue Links

          Activity

            Fix for this was implemented on DM-13553

            yusra Yusra AlSayyad added a comment - Fix for this was implemented on DM-13553

            People

              yusra Yusra AlSayyad
              yusra Yusra AlSayyad
              Hsin-Fang Chiang, Yusra AlSayyad
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Jenkins

                  No builds found.