code: def I(self,**kwargs): #pragma: no cover
          
          if hasattr(self,'_I'):
              return self._I
          (rperi,rap)= self.calcRapRperi(**kwargs)
          Rmean= m.exp((m.log(rperi)+m.log(rap))/2.)
          if nu.fabs(rap-rperi)/rap < 10.**-4.: #Rough limit
              TR= self.TR()[0]
              Tphi= self.Tphi()[0]
              self._I= TR/Tphi*m.pi
              return self._I
          EL= self.calcEL(**kwargs)
          E, L= EL
          I= 0.
          if Rmean > rperi:
              I+= integrate.quadrature(_IAxiIntegrandSmall,
                                       0.,m.sqrt(Rmean-rperi),
                                       args=(E,L,self._pot,rperi),
                                       **kwargs)[0]
          if Rmean < rap:
              I+= integrate.quadrature(_IAxiIntegrandLarge,
                                       0.,m.sqrt(rap-Rmean),
                                       args=(E,L,self._pot,rap),
                                       **kwargs)[0]
          self._I= I*self._R*self._vT
          return self._I
docs: NAME:
             I
          PURPOSE:
             Calculate I, the 'ratio' between the radial and azimutha period
          INPUT:
             +scipy.integrate.quadrature keywords
          OUTPUT:
             I(R,vT,vT) + estimate of the error
          HISTORY:
             2010-12-01 - Written - Bovy (NYU)