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

            Hide
            yusra Yusra AlSayyad added a comment -

            Fix for this was implemented on DM-13553

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

              People

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

                Dates

                Created:
                Updated:
                Resolved: