def save_plane(self, plane='sagittal', index=None, format='.png', suffix='', seg=None, thr=0, cmap_col='red', path_output='./'):
        """
        Save a slice of self in the specified plan.

        :param plane: 'sagittal', 'coronal' or 'axial'. default = 'sagittal'

        :param index: index of the slice to save (if none, middle slice in the given direction/plan)

        :param format: format to be saved in. default = '.png'

        :param suffix: suffix to add to the image file name.

        :param seg: segmentation to add in transparency to the image to save. Type Image.

        :param thr: threshold to apply to the segmentation

        :param col: colormap description : 'red', 'red-yellow', or 'blue-cyan'

        :return filename_png: file name of the saved image
        """
        import matplotlib.pyplot as plt
        import matplotlib.cm as cm
        from math import sqrt
        from sct_utils import slash_at_the_end
        if type(index) is not list:
            index = [index]

        slice_list = [self.get_slice(plane=plane, index=i, seg=seg) for i in index]
        path_output = slash_at_the_end(path_output, 1)
        if seg is not None:
            import matplotlib.colors as col
            color_white = col.colorConverter.to_rgba('white', alpha=0.0)
            if cmap_col == 'red-yellow':
                color_red = col.colorConverter.to_rgba('red', alpha=0.7)
                color_yellow = col.colorConverter.to_rgba('yellow', alpha=0.8)
                cmap_seg = col.LinearSegmentedColormap.from_list('cmap_seg', [color_white, color_yellow, color_red], N=256)
            elif cmap_col == 'blue-cyan':
                color_blue = col.colorConverter.to_rgba('blue', alpha=0.7)
                color_cyan = col.colorConverter.to_rgba('cyan', alpha=0.8)
                cmap_seg = col.LinearSegmentedColormap.from_list('cmap_seg', [color_white, color_blue, color_cyan], N=256)
            else:
                color_red = col.colorConverter.to_rgba('red', alpha=0.7)
                cmap_seg = col.LinearSegmentedColormap.from_list('cmap_seg', [color_white, color_red], N=256)

        n_lines = int(sqrt(len(slice_list)))
        n_col = int(len(slice_list)/n_lines)
        n_lines += 1

        try:
            fig = plt.figure(figsize=(n_lines*10, n_col*20))
            for i, slices in enumerate(slice_list):
                slice_im, slice_seg = slices
                plot = fig.add_subplot(n_lines, n_col, i+1)
                plot.imshow(slice_im, cmap=cm.gray, interpolation='nearest')
                if index[i] is None:
                    title = 'mid slice'
                else:
                    title = 'slice '+str(index[i])
                plot.set_title(title)
                if seg is not None:
                    slice_seg[slice_seg < thr] = 0
                    plot.imshow(slice_seg, cmap=cmap_seg, interpolation='nearest')
                plt.axis('off')

            # plt.imshow(slice, cmap=cm.gray, interpolation='nearest')
            # if seg is not None:
            #     plt.imshow(slice_seg, cmap=cmap_seg, interpolation='nearest')
            # plt.axis('off')
            fname_png = path_output + self.file_name + suffix + format
            plt.savefig(fname_png, bbox_inches='tight')
        except __HOLE__, e:
            from sct_utils import printv
            printv('WARNING: your device does not seem to have display feature', self.verbose, type='warning')
            printv(str(e), self.verbose, type='warning')
        return fname_png
dataset/ETHPy150Open neuropoly/spinalcordtoolbox/scripts/msct_image.py/Image.save_plane