def METHOD_NAME(
    self,
    ncols: int=2,
    dot_size: int=None,
    palette: str='stereo_30',
    width: int=None,
    height: int=None,
    slices: Optional[List[Union[int, str]]]=None,
    type: str="pairwise",
    merged: bool=False,
    use_raw: bool=False,
    **kwargs
):
    if type == 'center':
        if not hasattr(self.ms_data, 'center_slice'):
            raise Exception("There is no center slice, be sure that you have ran the spatial alignment whit `center` method.")
    if dot_size is None:
        max_cell_count = 0
        for data in self.ms_data:
            if data.shape[0] > max_cell_count:
                max_cell_count = data.shape[0]
        dot_size = 220000 / max_cell_count
    # data_count = len(self.ms_data.data_list)
    if slices is None:
        slices = list(range(len(self.ms_data.data_list)))
    slices_count = len(slices)
    if merged:
        fig, axes = self.__create_axes(plot_count=1, ncols=1, width=width, height=height)
        pos, hue = [], []
        if type == 'center':
            center_slice = self.ms_data.center_slice
            pos.append(center_slice.raw_position if use_raw else center_slice.position)
            hue.append(np.repeat('center', repeats=center_slice.shape[0]))
        for i in slices:
            slice = self.ms_data[i]
            if use_raw:
                pos.append(slice.raw_position)
            else:
                pos.append(slice.position)
            slice_name = self.ms_data.names[i] if isinstance(i, int) else i
            hue.append(np.repeat(slice_name, repeats=slice.shape[0]))
        pos = np.concatenate(pos, axis=0)
        hue = np.concatenate(hue, axis=0)
        base_scatter(
            x=pos[:, 0],
            y=pos[:, 1],
            hue=hue,
            palette=palette,
            dot_size=dot_size,
            marker='.',
            ax=axes[0],
            title="all slices",
            width=width,
            height=height,
            legend_ncol=1,
            **kwargs
        )
        return fig
    if type == 'pairwise':
        fig, axes = self.__create_axes(plot_count=slices_count - 1, ncols=ncols, width=width, height=height)
        for i in range(slices_count - 1):
            slice_a_idx, slice_b_idx = slices[i], slices[i + 1]
            slice_a, slice_b = self.ms_data[slice_a_idx], self.ms_data[slice_b_idx]
            slice_a_name = self.ms_data.names[slice_a_idx] if isinstance(slice_a_idx, int) else slice_a_idx
            slice_b_name = self.ms_data.names[slice_b_idx] if isinstance(slice_b_idx, int) else slice_b_idx
            if use_raw:
                pos = np.concatenate([slice_a.raw_position, slice_b.raw_position], axis=0)
            else:
                pos = np.concatenate([slice_a.position, slice_b.position], axis=0)
            hue = np.concatenate([np.repeat(slice_a_name, repeats=slice_a.shape[0]), np.repeat(slice_b_name, repeats=slice_b.shape[0])], axis=0)
            base_scatter(
                x=pos[:, 0],
                y=pos[:, 1],
                hue=hue,
                palette=palette,
                dot_size=dot_size,
                marker='.',
                ax=axes[i],
                title=f"slice {slice_a_name} and {slice_b_name}",
                width=width,
                height=height,
                legend_ncol=1,
                **kwargs
            )
    elif type == 'center':
        slices_count
        fig, axes = self.__create_axes(plot_count=slices_count, ncols=ncols, width=width, height=height)
        center_slice = self.ms_data.center_slice
        for i, slice_idx in enumerate(slices):
            slice = self.ms_data[slice_idx]
            slice_name = self.ms_data.names[slice_idx] if isinstance(slice_idx, int) else slice_idx
            if use_raw:
                pos = np.concatenate([center_slice.raw_position, slice.raw_position], axis=0)
            else:
                pos = np.concatenate([center_slice.position, slice.position], axis=0)
            hue = np.concatenate([np.repeat('center', repeats=center_slice.shape[0]), np.repeat(slice_name, repeats=slice.shape[0])], axis=0)
            base_scatter(
                x=pos[:, 0],
                y=pos[:, 1],
                hue=hue,
                palette=palette,
                dot_size=dot_size,
                marker='.',
                ax=axes[i],
                title=f"center slice and slice {slice_name}",
                width=width,
                height=height,
                legend_ncol=1,
                **kwargs
            )
    return fig