def __call__(self, **params_to_override):
p = ParamOverrides(self, params_to_override)<EOL>self._setup_xy(p)<EOL>fn_result = self.function(p)<EOL>self._apply_mask(p, fn_result)<EOL>scale_factor = p.scale / np.max(fn_result)<EOL>result = scale_factor*fn_result + p.offset<EOL>for of in p.output_fns:<EOL><INDENT>of(result)<EOL><DEDENT>return result<EOL>
Call the subclass's 'function' method on a rotated and scaled
coordinate system.

Creates and fills an array with the requested pattern.  If
called without any params, uses the values for the Parameters
as currently set on the object. Otherwise, any params
specified override those currently set on the object.