def dimensionNames(self):
        """ Returns ['Y', 'X', 'Band'].
            The underlying array is expected to be 3-dimensional. If this is not the case we fall
            back on the default dimension names ['Dim-0', 'Dim-1', ...]
        """
        if self._array is None:
            return []

        if self._array.ndim == 2:
            return ['Y', 'X']
        elif self._array.ndim == 3:
            return ['Y', 'X', 'Band']
        else:
            # Defensive programming: fall back on default names
            msg = "Expected 3D image. Got: {}".format(self._array.ndim)
            if DEBUGGING:
                raise ValueError(msg)
            logger.warn(msg)
            return super(PillowFileRti, self).dimensionNames
Returns ['Y', 'X', 'Band'].
            The underlying array is expected to be 3-dimensional. If this is not the case we fall
            back on the default dimension names ['Dim-0', 'Dim-1', ...]