code: def shepp_logan(space, modified=False, min_pt=None, max_pt=None):
      
      ellipsoids = shepp_logan_ellipsoids(space.ndim, modified)
      return ellipsoid_phantom(space, ellipsoids, min_pt, max_pt)
docs: Standard Shepp-Logan phantom in 2 or 3 dimensions.
  
      Parameters
      ----------
      space : `DiscreteLp`
          Space in which the phantom is created, must be 2- or 3-dimensional.
          If ``space.shape`` is 1 in an axis, a corresponding slice of the
          phantom is created.
      modified : `bool`, optional
          True if the modified Shepp-Logan phantom should be given.
          The modified phantom has greatly amplified contrast to aid
          visualization.
      min_pt, max_pt : array-like, optional
          If provided, use these vectors to determine the bounding box of the
          phantom instead of ``space.min_pt`` and ``space.max_pt``.
          It is currently required that ``min_pt >= space.min_pt`` and
          ``max_pt <= space.max_pt``, i.e., shifting or scaling outside the
          original space is not allowed.
  
          Providing one of them results in a shift, e.g., for ``min_pt``::
  
              new_min_pt = min_pt
              new_max_pt = space.max_pt + (min_pt - space.min_pt)
  
          Providing both results in a scaled version of the phantom.
  
      See Also
      --------
      forbild : Similar phantom but with more complexity. Only supports 2d.
      odl.phantom.geometric.defrise : Geometry test phantom
      shepp_logan_ellipsoids : Get the parameters that define this phantom
      odl.phantom.geometric.ellipsoid_phantom :
          Function for creating arbitrary ellipsoid phantoms
  
      References
      ----------
      .. _Shepp-Logan phantom: https://en.wikipedia.org/wiki/Shepp-Logan_phantom