<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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