En Tue, 01 May 2007 11:22:28 -0300, Ashok <[EMAIL PROTECTED]> escribió:
> IDL language contains a function called BYTSCL to scale all values of > Array that lie in the range (Min £ x £ Max) into the range (0 £ x £ > Top). Is there a similar function available in python? > > I need this to scale the pixel values of an image using PIL. Maybe PIL contains something built in, but if all else fails, you could write it in Python: def bytsclGen(data, minvalue=None, maxvalue=None, top=255): if minvalue is None: minvalue = min(data) if maxvalue is None: maxvalue = max(data) for x in data: if x<minvalue: yield 0 elif x>maxvalue: yield top else: yield (x-minvalue)*top/(maxvalue-minvalue) def bytscl(data, minvalue=None, maxvalue=None, top=255): return list(bytsclGen(data, minvalue, maxvalue, top)) -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list