Skip to content

Cube.wave object does not work anymore #39

@Knusper

Description

@Knusper

When trying to get the wavelength for a particular index in a Cube object, I would usually do:
cbe.wave[i], where [i] is the index of the layer and cbe is the Cube object.

For some reasons this fails now for a standard muse cube (created with CubeList.combine):

Here follows the error:

----> 1 cbe.wave[1]

File ~/miniconda3/envs/astropy_6/lib/python3.12/site-packages/mpdaf/obj/coords.py:1833, in WaveCoord.__getitem__(self, item)
   1831         else:
   1832             lbda = self.coord(pixel=self.shape + item)
-> 1833     return WaveCoord(crpix=1.0, cdelt=0, crval=lbda,
   1834                      cunit=self.unit, shape=1,
   1835                      ctype=self.wcs.wcs.ctype[0])
   1836 elif isinstance(item, slice):
   1837     if item.start is None:

File ~/miniconda3/envs/astropy_6/lib/python3.12/site-packages/mpdaf/obj/coords.py:1695, in WaveCoord.__init__(self, hdr, crpix, cdelt, crval, cunit, ctype, shape)
   1693 self.wcs.wcs.ctype[0] = ctype
   1694 self.wcs.wcs.crval[0] = crval
-> 1695 self.wcs.wcs.set()

SingularMatrixError: ERROR 3 in wcsset() at line 2868 of file cextern/wcslib/C/wcs.c:
Linear transformation matrix is singular.
ERROR 3 in linset() at line 702 of file cextern/wcslib/C/lin.c:
PCi_ja matrix is singular.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions