def SmoothPolarizationFraction(self, Q, U, I):
     pdata = np.sqrt(Q.data**2 + U.data**2)/I.data
     pdata = np.ma.masked_array(pdata, I.data.mask)
     p = Observable([pdata,
                     Q.N,
                     'log',
                     'Polarization Fraction',
                     '$p$',
                     'None',
                     'plasma',
                     Q.axes,
                     Q.rotation,
                     Q.beam])
     self.Nyquist(p)
     self.Writer.WriteObservable(p)
     return p
 def Smooth(self, O):
     dn  = filters.gaussian_filter(O.data,self.posres,self.order,mode='wrap')
     dn = np.ma.masked_array(dn, O.data.mask)
     olst = [dn,
             O.N,
             O.norm,
             O.lname,
             O.sname,
             O.units,
             O.colmap,
             O.axes,
             O.rotation,
             self.poshwhm]
     nobs = Observable(olst)
     self.Nyquist(nobs)
     # Keep bounds the same as simulation resolution, for consistency.
     nobs.bounds = O.bounds
     self.Writer.WriteObservable(nobs)
     return nobs