zooming related bug? fades to white.

To the fantastic matplotlib developers,
I am having a strange behavior when using zooming. I have tried it with WX, Wxagg, and TKagg, and with Numeric and numpy. It occurs in multiple interpolation types as well. The best way to see this behavior is to use the image_interp.py example. If you zoom in enough, the image starts to fade to white, and then turn completely white. If you zoom in to about where the zoom the axes area spans 0.1 units, it should still look fine, but then a span of 0.01 unit will be all white. If you zoom in slowly to where the color is starting to wash out to white, then resize the window, you will see more strange whitening behavior (the color fluctuates between white and the correct color as you change the window size). This is on a windows machine with Python 2.4.
Another clue. if I save the white appearing axes to a png, it looks fine.
the way it fades out almost seems like something going wrong with an alpha value somewhere...
any thoughts?

thanks,
Tim

I have verified this behavior briefly on a Linux machine. In addition, the redraw after zoom gets extremely slow. I have never worked with the image internals and I don't have any idea where the problem is coming from.

Eric

Tim Hirzel wrote:

···

To the fantastic matplotlib developers,
I am having a strange behavior when using zooming. I have tried it with WX, Wxagg, and TKagg, and with Numeric and numpy. It occurs in multiple interpolation types as well. The best way to see this behavior is to use the image_interp.py example. If you zoom in enough, the image starts to fade to white, and then turn completely white. If you zoom in to about where the zoom the axes area spans 0.1 units, it should still look fine, but then a span of 0.01 unit will be all white. If you zoom in slowly to where the color is starting to wash out to white, then resize the window, you will see more strange whitening behavior (the color fluctuates between white and the correct color as you change the window size). This is on a windows machine with Python 2.4.
Another clue. if I save the white appearing axes to a png, it looks fine.
the way it fades out almost seems like something going wrong with an alpha value somewhere...
any thoughts?

thanks,
Tim

Glad I'm not the only one...
well, I did some more investigation. I get that slowdown too, and it seems potentially related. the slowdown is happening in the call
            im.resize(int(widthDisplay+0.5), int(heightDisplay+0.5),
                  norm=self._filternorm, radius=self._filterrad)

near line 162 in image.py

as you zoom, the time it takes to execute that line grows exponentially. this is where it heads into compiled dll land as resize is impemented in _image.cpp
see here:

I don't have a build setup for matplotlib, so I am holding off on doing some printf investigations on _image.cpp, but perhaps this can help track it down? Since it is independent of interpolation, shouldn't it be something going on between lines 328 and 445 of _image.cpp?

t

Eric Firing wrote:

···

I have verified this behavior briefly on a Linux machine. In addition, the redraw after zoom gets extremely slow. I have never worked with the image internals and I don't have any idea where the problem is coming from.

Eric

Tim Hirzel wrote:

To the fantastic matplotlib developers,
I am having a strange behavior when using zooming. I have tried it with WX, Wxagg, and TKagg, and with Numeric and numpy. It occurs in multiple interpolation types as well. The best way to see this behavior is to use the image_interp.py example. If you zoom in enough, the image starts to fade to white, and then turn completely white. If you zoom in to about where the zoom the axes area spans 0.1 units, it should still look fine, but then a span of 0.01 unit will be all white. If you zoom in slowly to where the color is starting to wash out to white, then resize the window, you will see more strange whitening behavior (the color fluctuates between white and the correct color as you change the window size). This is on a windows machine with Python 2.4.
Another clue. if I save the white appearing axes to a png, it looks fine.
the way it fades out almost seems like something going wrong with an alpha value somewhere...
any thoughts?

thanks,
Tim