code: def fetch_nasa_atlas(data_home=None, download_if_missing=True):
      """Loader for NASA galaxy atlas data
  
      Parameters
      ----------
      data_home : optional, default=None
          Specify another download and cache folder for the datasets. By default
          all astroML 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
          The data, in the form of a numpy record array.
  
      Notes
      -----
      This is the file created by the example script at
          examples/datasets/truncate_nsa_data.py
      For an explanation of the meaning of the fields, see the description at
          http://www.nsatlas.org/data
      """
      data_home = get_data_home(data_home)
  
      archive_file = os.path.join(data_home, ARCHIVE_FILE)
  
      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 NASA atlas data from %s to %s"
              % (DATA_URL, data_home)
          )
  
          buf = download_with_progress_bar(DATA_URL, return_buffer=True)
          data = np.load(buf)
  
          np.save(archive_file, data)
  
      else:
          data = np.load(archive_file)
  
      return data
  
imports: import os
  import numpy
  from .tools import download_with_progress_bar
  from .None import get_data_home
label_desc: Use image node_id 1 for calling a global function with example usage: fetch_nasa_atlas(data_home, download_if_missing) and returns: data