def METHOD_NAME(self):
    slices = []
    for slice_path in self._demo_3d_file_list:
        slices.append(AnnBasedStereoExpData(slice_path))
    merged_data = merge(*slices, space_between='0.7um', reorganize_coordinate=False)
    self._preprocess(merged_data)
    ty_col = 'annotation'
    merged_data.cells[ty_col] = merged_data.cells[ty_col].astype('category')
    merged_data.tl.paga(groups=ty_col)
    x_raw = merged_data.position[:, 0]
    y_raw = merged_data.position[:, 1]
    z_raw = merged_data.position_z.reshape(1, -1)[0]
    ty = merged_data.cells[ty_col].to_numpy()
    con = merged_data.tl.result['paga']['connectivities'].todense()  # arr (n_clus, n_clus)
    con_tree = merged_data.tl.result['paga']['connectivities_tree'].todense()
    choose_ty = list(set(ty))
    choose_ty = ['CNS', 'epidermis', 'salivary gland', 'carcass']
    type_traj = 'curve'
    ty_repre_xyz = {}  # type -- np.array(3,)
    mesh_each_ty = []  # each element: mesh of each type, element with the same order as choose_ty
    import numpy as np
    from stereo.algorithm.gen_mesh import ThreeDimGroup
    for ty_name in choose_ty:
        tdg = ThreeDimGroup(list(x_raw), list(y_raw), list(z_raw), list(ty), ty_name=ty_name, eps_val=2,
                            min_samples=3, thresh_num=10)
        try:
            mesh, mesh_li = tdg.create_mesh_of_type(method='march', mc_scale_factor=1.5)
            xyz_repre = tdg.find_repre_point(mesh_li, x_ran_sin=2.25)
        except:  # mesh calculation failed
            mesh = None
            xyz_repre = np.array(
                [x_raw[ty == ty_name].mean(), y_raw[ty == ty_name].mean(), z_raw[ty == ty_name].mean()])
        mesh_each_ty.append(mesh)
        ty_repre_xyz[ty_name] = xyz_repre
    merged_data.plt.plot_cluster_traj_3d(con_tree, x_raw, y_raw, z_raw, ty, choose_ty, ty_repre_xyz,
                                         type_traj=type_traj)