Displays the carpet in the given axis.

        Parameters
        ----------

        clustered : bool, optional
            Flag to indicate whether to show the clustered/reduced carpet or the original.
            You must run .cluster_rows_in_roi() before trying to show clustered carpet.

        ax_carpet : Axis, optional
            handle to a valid matplotlib Axis

        label_x_axis : str
            String label for the x-axis of the carpet

        label_y_axis : str
            String label for the y-axis of the carpet

        Returns
        -------

        ax_carpet : Axis
            handle to axis where carpet is shown

def show(self,
             clustered=False,
             ax_carpet=None,
             label_x_axis='time point',
             label_y_axis='voxels/ROI'):
        """
        Displays the carpet in the given axis.

        Parameters
        ----------

        clustered : bool, optional
            Flag to indicate whether to show the clustered/reduced carpet or the original.
            You must run .cluster_rows_in_roi() before trying to show clustered carpet.

        ax_carpet : Axis, optional
            handle to a valid matplotlib Axis

        label_x_axis : str
            String label for the x-axis of the carpet

        label_y_axis : str
            String label for the y-axis of the carpet

        Returns
        -------

        ax_carpet : Axis
            handle to axis where carpet is shown

        """

        if clustered is True and self._carpet_clustered is False:
            print('You must run .cluster_rows_in_roi() '
                  'before being able to show clustered carpet!')
            return

        if ax_carpet is None:
            self.ax_carpet = plt.gca()
        else:
            if not isinstance(ax_carpet, Axes):
                raise ValueError('Input must be a valid matplotlib Axis!')
            self.ax_carpet = ax_carpet

        plt.sca(self.ax_carpet)
        self.fig = plt.gcf()

        #   vmin/vmax are controlled, because we rescale all to [0, 1]
        self.imshow_params_carpet = dict(interpolation='none', cmap='gray',
                                         aspect='auto', origin='lower', zorder=1)
        # should we control vmin=0.0, vmax=1.0 ??

        if not clustered:
            self.carpet_handle = self.ax_carpet.imshow(self.carpet,
                                                   **self.imshow_params_carpet)
        else:
            self.carpet_handle = self.ax_carpet.imshow(self.clustered_carpet,
                                                       **self.imshow_params_carpet)

        # TODO decorating axes with labels
        self.ax_carpet.set(xlabel=label_x_axis, ylabel=label_y_axis,
                           frame_on=False)
        self.ax_carpet.set_ylim(auto=True)

        return self.ax_carpet