class_docstr: Holds data for an FX vol surface and also interpolates vol surface,
  converts strikes to implied vols etc.
class_docstr_tok: ["Holds","data","for","an","FX","vol","surface","and","also","interpolates","vol","surface",",","converts","strikes","to","implied","vols","etc","."]
code: def get_vol_from_quoted_tenor(self, K, tenor, gaps=None):
      if not (isinstance(tenor, int)):
          tenor_index = self._get_tenor_index(tenor)
      else:
          tenor_index = tenor
  
      if gaps is None:
          gaps = np.array([0.1])
  
      params = self._fin_fx_vol_surface._parameters[tenor_index]
      t = self._fin_fx_vol_surface._texp[tenor_index]
      f = self._fin_fx_vol_surface._F0T[tenor_index]
  
      return vol_function(
          self._vol_function_type.value,
          params,
          np.array([K]),
          gaps,
          f,
          K,
          t,
      )
  
imports: import pandas
  import numpy
  from financepy.market.curves.discount_curve_flat import DiscountCurveFlat
  from financepy.utils.date import Date
  from financepy.market.volatility.fx_vol_surface_plus import FXVolSurfacePlus
  from financepy.market.volatility.fx_vol_surface_plus import FinFXATMMethod
  from financepy.market.volatility.fx_vol_surface_plus import FinFXDeltaMethod
  from financepy.market.volatility.fx_vol_surface_plus import vol_function
  from financepy.market.volatility.fx_vol_surface_plus import VolFunctionTypes
  from financepy.utils.global_types import FinSolverTypes
  from findatapy.util.dataconstants import DataConstants
  from finmarketpy.curve.volatility.abstractvolsurface import AbstractVolSurface
  from finmarketpy.util.marketconstants import MarketConstants
  from finmarketpy.util.marketutil import MarketUtil
label_desc: Use image node_id 6 for calling the FXVolSurface obj's underlying member method code with example usage: obj.get_vol_from_quoted_tenor(K, tenor, gaps) and returns: vol_function