code: def _load_data(self, band):
          
          h = bandpass_data_fits('sdss3_filter_responses.fits')
          section = 'ugriz'.index(band[0]) + 1
          d = h[section].data
          if d.wavelength.dtype.isnative:
              df = pd.DataFrame({'wlen': d.wavelength, 'resp': d.respt})
          else:
              df = pd.DataFrame({'wlen': d.wavelength.byteswap(True).newbyteorder(),
                                 'resp': d.respt.byteswap(True).newbyteorder()})
          df.resp *= df.wlen # QE to equal-energy response.
          return df
docs: Filter responses for SDSS. Data table from
          https://www.sdss3.org/binaries/filter_curves.fits, as linked from
          https://www.sdss3.org/instruments/camera.php#Filters. SHA1 hash of the
          file is d3f638c41e21489ba7d6dbe7bb8217d938f21184. "Determined by Jim
          Gunn in June 2001." Doi+ 2010 have updated estimates but these are
          per-column in the SDSS camera, which we don't care about.
  
          Note that these are for the main SDSS 2.5m telescope. Magnitudes in
          the primed SDSS system were determined on the "photometric telescope",
          and the whole reason for the existence of both primed and unprimed
          ugriz systems is that the two have filters with slightly different
          behavior. My current application involves an entirely different
          telescope emulating the primed SDSS photometric system, and their
          precise system response is neither going to be ultra-precisely
          characterized nor exactly equal to either of the SDSS systems. These
          responses will be good enough, though.
  
          Wavelengths are in Angstrom. Based on the pivot wavelengths listed in
          http://www.astro.ljmu.ac.uk/~ikb/research/mags-fluxes/, the data table
          stores QE responses, so we have to convert them to equal-energy
          responses. Responses both including and excluding the atmosphere are
          included; I use the former.