docs: def get_sigma_tables(self, imt, rctx, stddev_types):
          """
          Returns modification factors for the standard deviations, given the
          rupture and intensity measure type.
  
          :returns:
              List of standard deviation modification tables, each as an array
              of [Number Distances, Number Levels]
  
          """
          output_tables = []
          for stddev_type in stddev_types:
              # For PGA and PGV only needs to apply magnitude interpolation
              if imt.name in 'PGA PGV':
                  interpolator = interp1d(self.magnitudes,
                                          self.sigma[stddev_type][imt.name],
                                          axis=2)
                  output_tables.append(
                      interpolator(rctx.mag).reshape(self.shape[0],
                                                     self.shape[3]))
  
              else:
                  # For spectral accelerations - need two step process
                  # Interpolate period
                  interpolator = interp1d(numpy.log10(self.periods),
                                          self.sigma[stddev_type]["SA"],
                                          axis=1)
                  period_table = interpolator(numpy.log10(imt.period))
                  mag_interpolator = interp1d(self.magnitudes,
                                              period_table,
                                              axis=1)
                  output_tables.append(mag_interpolator(rctx.mag))
          return output_tables