Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

imshow with big-endian data types on OS X #1005

Closed
danielflanigan opened this issue Jul 10, 2012 · 6 comments · Fixed by #1095
Closed

imshow with big-endian data types on OS X #1005

danielflanigan opened this issue Jul 10, 2012 · 6 comments · Fixed by #1095
Assignees
Labels
Release critical For bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions. status: confirmed bug

Comments

@danielflanigan
Copy link

When using imshow with an array of type >f, >f2, >f4, or >f8, the pixel(s) with maximum value in the array appears in the color of the minimum value.

a = array([[1, 0], [0, -1]])
imshow(a.astype('>f'))

This issue appeared on two systems:
OS X 10.7.4
numpy 1.6.2
matplotlib 1.1.0 with backend MacOSX
and
OS X 10.6.8
numpy 1.6.1
matplotlib 1.1.1 with backend TkAgg

This issue did not appear on a linux x86_64 system running
numpy 1.6.1
matplotlib 1.0.1 with backend GTKAgg

@WeatherGod
Copy link
Member

Could we get a MacOSX user to confirm the existence of this bug?

@jswhit
Copy link
Contributor

jswhit commented Aug 15, 2012

Confirmed. Using '>f' the image is dark blue in the upper left and lower right corners, with '<f' for just 'f', the image has red in the upper left (using an up-to-date clone of matplotlib master with either the macosx or QtAgg backends).

@efiring
Copy link
Member

efiring commented Aug 15, 2012

It's not OSX-specific. I can reproduce it in a linux-64 virtual machine.
Also, it is not imshow-specific: pcolor does it.
np.version.version is '1.6.3.dev-903d9b7'

The surprising thing is that the norm is preserving the byte order; and then the conversion to an integer for the table lookup seems to be going haywire.

@ghost ghost assigned efiring Aug 15, 2012
@efiring
Copy link
Member

efiring commented Aug 15, 2012

I have found the line where the error is coming in. I should be able to figure out how to fix it some time today or tomorrow.

@WeatherGod
Copy link
Member

Strange that you can reproduce it on a linux vm. On linux native systems, I can't reproduce it. Of course, I am not an expert in virtual machines, so I don't know if this is to be expected or not.

@efiring
Copy link
Member

efiring commented Aug 15, 2012

The problem is there even when you can't see it with the visual test. I have found and fixed it locally, but I should add a test, so it may be a day or so before I send a pull request for it. It is basically a numpy bug that we have to work around.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Release critical For bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions. status: confirmed bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants