def _map_fn(self,z): k = self.k if k == 0: return z else: sgn,z = signabs(z) return sgn * self.out_range * (exp(z/self.in_range*k)-1)/(exp(k)-1)
def __call__(self,x,y): A = self.A Bu = self.Bu / self.mm_scale Bv = self.Bv / self.mm_scale R = x * self.amplitude_scale phi = y * self.direction_scale Rsign,R = signabs(R) u,v = ottes_mapping(R,phi,A,Bu,Bv) return Rsign*u,v
def __call__(self, x, y): if self.negative_radii: xsgn,xabs = signabs(x) radius = xsgn * sqrt(x*x+y*y) angle = atan2(y,xabs) else: radius = sqrt(x*x+y*y) angle = atan2(y,x) if self.degrees: angle *= 180/pi return radius,angle
def __call__(self, x, y): A = self.A Bu = self.Bu Bv = self.Bv u = x * self.mm_scale v = y * self.mm_scale usgn, u = signabs(u) R, phi = ottes_inverse_mapping(u, v, A, Bu, Bv) return (usgn * R / self.amplitude_scale, phi / self.direction_scale)
def _map_fn(self,z): k = self.k sgn,z = signabs(z) return sgn * self.out_range * log(z/self.in_range*k+1)/log(k+1)