def fits2image(fitsArray, min=-1, max=-1): """Convert ndarray to wx.Image""" # Flip image print 'Flipping array' fitsArray = fitsArray[::-1, :] # Clip image print 'Clipping array' if min == -1: min = fitsArray.min() if max == -1: max = fitsArray.max() fitsArray = fitsArray.clip(min=min, max=max) min = fitsArray.min() max = fitsArray.max() # Faster Python-like way to copy and scale image into RGB buffer print 'Filling RGB buffer' byteArray = (255 * (fitsArray - min) / (max - min)).astype('b').repeat(3) # Create wx.Image from byte buffer print 'Creating image from buffer' return wx.ImageFromData(fitsArray.shape[1], fitsArray.shape[0], byteArray.tostring())