code: def fetch_sdss_filter(
      fname, data_home=None, download_if_missing=True
  ):
      """Loader for SDSS Filter profiles
  
      Parameters
      ----------
      fname : str
          filter name: must be one of 'ugriz'
      data_home : optional, default=None
          Specify another download and cache folder for the datasets. By default
          all data is stored in '~/astroML_data'.
  
      download_if_missing : optional, default=True
          If False, raise a IOError if the data is not locally available
          instead of trying to download the data from the source site.
  
      Returns
      -------
      data : ndarray
          data is an array of shape (5, Nlam)
          first row: wavelength in angstroms
          second row: sensitivity to point source, airmass 1.3
          third row: sensitivity to extended source, airmass 1.3
          fourth row: sensitivity to extended source, airmass 0.0
          fifth row: assumed atmospheric extinction, airmass 1.0
      """
      if fname not in "ugriz":
          raise ValueError("Unrecognized filter name '%s'" % fname)
      url = FILTER_URL % fname
  
      data_home = get_data_home(data_home)
  
      archive_file = os.path.join(data_home, "%s.dat" % fname)
  
      if not os.path.exists(archive_file):
          if not download_if_missing:
              raise IOError(
                  "data not present on disk. "
                  "set download_if_missing=True to download"
              )
  
          print("downloading from %s" % url)
          F = urlopen(url)
          open(archive_file, "wb").write(F.read())
  
      F = open(archive_file)
  
      return np.loadtxt(F, unpack=True)
  
imports: import os
  import numpy
  from urllib.request import urlopen
  from astroML.datasets import get_data_home
label_desc: Use image node_id 1 for calling a global function with example usage: fetch_sdss_filter(fname, data_home, download_if_missing) and returns: np