def METHOD_NAME(morpho, color_switch=False, show_compartments=False):
    if isinstance(morpho, Soma):
        mayavi.points3d(morpho.x/um, morpho.y/um, morpho.z/um, morpho.diameter/um,
                        color=DARKRED, scale_factor=1.0, resolution=16)
    else:
        coords = morpho.coordinates
        if color_switch:
            color = DARKBLUE
        else:
            color = DARKRED
        mayavi.plot3d(coords[:, 0]/um, coords[:, 1]/um, coords[:, 2]/um, color=color,
                      tube_radius=1)
        # dots at the center of the compartments
        if show_compartments:
            mayavi.points3d(coords[:, 0]/um, coords[:, 1]/um, coords[:, 2]/um,
                            np.ones(coords.shape[0]), color=color, scale_factor=1,
                            transparent=0.25)
    for child in morpho.children:
        METHOD_NAME(child, color_switch=not color_switch)