You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
1
(3) |
2
(1) |
3
(3) |
4
(8) |
5
(5) |
6
(1) |
7
(16) |
8
(7) |
9
(29) |
10
(16) |
11
(8) |
12
(8) |
13
(1) |
14
(17) |
15
(15) |
16
(23) |
17
(20) |
18
(25) |
19
(2) |
20
(3) |
21
(12) |
22
(6) |
23
(11) |
24
(6) |
25
(3) |
26
|
27
(2) |
28
(4) |
29
(19) |
30
(5) |
31
(33) |
|
|
Hi Adeola, OpenGL must be expecting a certain "packing" but your image data is packed differently. You have (at least) two options: 1) alter your numpy arrays to match the packing of OpenGL. This can be done by creating an array with the appropriate .strides value. 2) alter OpenGL's idea of how the data is packed. For this, see "7. Watch Your Pixel Store Alignment" in http://www.opengl.org/resources/features/KilgardTechniques/oglpitfall/ -Andrew Adeola Bannis wrote: > Hi, > > I have a set of images I want to render with OpenGL, and I do this by > doing some calculations, producing an array, then passing this array > to OpenGL. Here's the relevant OpenGL call, for reference: > > gluBuild2DMipmaps(GL_TEXTURE_2D, 1, image.shape[0], image.shape[1], > GL_LUMINANCE, GL_UNSIGNED_BYTE, flatImage) > > flatImage is just image as a flattened, contiguous numpy array... all > that matters is that it contains the same values as in image. > > The problem is that passing my arrays to pylab.imshow() displays them > exactly as they are meant to be, but in OpenGL they are 'twisted'. > There is an offset that is _different_ for each picture that only > seems to be resolved by replacing 'image.shape[0]' by > 'image.shape[0]-5' or some other numbers that make the rows shorter. > How is it that OpenGL does weird things with the row length but pylab > is always happy? > > I can send pictures of the problem if it helps.... > > Adeola > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Hi, I have a set of images I want to render with OpenGL, and I do this by doing some calculations, producing an array, then passing this array to OpenGL. Here's the relevant OpenGL call, for reference: gluBuild2DMipmaps(GL_TEXTURE_2D, 1, image.shape[0], image.shape[1], GL_LUMINANCE, GL_UNSIGNED_BYTE, flatImage) flatImage is just image as a flattened, contiguous numpy array... all that matters is that it contains the same values as in image. The problem is that passing my arrays to pylab.imshow() displays them exactly as they are meant to be, but in OpenGL they are 'twisted'. There is an offset that is _different_ for each picture that only seems to be resolved by replacing 'image.shape[0]' by 'image.shape[0]-5' or some other numbers that make the rows shorter. How is it that OpenGL does weird things with the row length but pylab is always happy? I can send pictures of the problem if it helps.... Adeola
Hello again, Just an update to the ginput() I'm using now. If you clicked really fast using the previous version, the event queue would fill up and you'd wind up getting extra clicks in your list. This version fixes that and adds the ability to (a) terminate the collection process with a right click, and (b) set n=0 to keep collecting clicks indefinitely until you right click. It also now returns a 2-d list rather than a list of (,)'s. Cheers, Jack class GaelInput(object): """ Class that creates a callable object to retrieve mouse click in a blocking way, as in MatLab. This is based on Gael Varoquaux's almost-working object. Thanks Gael! I've wanted to get this working for years! -Jack """ debug = False cid = None # event connection object clicks = [] # list of click coordinates n = 1 # number of clicks we're waiting for def on_click(self, event): """ Event handler that will be passed to the current figure to retrieve clicks. """ # write the debug information if we're supposed to if self.debug: print "button "+str(event.button)+": "+str(event.xdata)+", "+str(event.ydata) # if this event's a right click we're done if event.button == 3: self.done = True return # if it's a valid click (and this isn't an extra event # in the queue), append the coordinates to the list if event.inaxes and not self.done: self.clicks.append([event.xdata, event.ydata]) # if we have n data points, we're done if len(self.clicks) >= self.n and self.n is not 0: self.done = True return def __call__(self, n=1, timeout=30, debug=False): """ Blocking call to retrieve n coordinate pairs through mouse clicks. n=1 number of clicks to collect. Set n=0 to keep collecting points until you click with the right mouse button. timeout=30 maximum number of seconds to wait for clicks before giving up. timeout=0 to disable debug=False show each click event coordinates """ # just for printing the coordinates self.debug = debug # connect the click events to the on_click function call self.cid = _pylab.connect('button_press_event', self.on_click) # initialize the list of click coordinates self.clicks = [] # wait for n clicks self.n = n self.done = False t = 0.0 while not self.done: # key step: yield the processor to other threads _wx.Yield(); _time.sleep(0.1) # check for a timeout t += 0.1 if timeout and t > timeout: print "ginput timeout"; break; # All done! Disconnect the event and return what we have _pylab.disconnect(self.cid) self.cid = None return self.clicks def ginput(n=1, timeout=30, debug=False): """ Simple functional call for physicists. This will wait for n clicks from the user and return a list of the coordinates of each click. n=1 number of clicks to collect timeout=30 maximum number of seconds to wait for clicks before giving up. timeout=0 to disable debug=False show debug information """ x = GaelInput() return x(n, timeout, debug)