From: Benjamin R. <ben...@ou...> - 2011-08-11 16:25:55
|
On Thu, Aug 11, 2011 at 11:19 AM, David Just <Jus...@ma...> wrote: > Sorry if this get’s re-posted, my earlier e-mail didn’t seem to go > through. > > I have an array of images stored as an array of numpy arrays. I need to > be able to efficiently scroll through that set of images. My first attempt > at doing this goes something like this: > > --init-- > > self.ax = pyplot.imshow(imgdta[0], interpolation='spline36', > cmap=cm.gray, picker=True) # draw the plot @UndefinedVariable > pyplot.axes().set_axis_off() > self.fig = self.ax.get_figure() > self.canvas = FigureCanvasGTKAgg(self.fig) > > --onscroll-- > self.ax.set_array(imdta[n]) # 0 < n < num_images > self.canvas.draw() > > > This method ends up re-interpolating the image on each scroll event (which > takes SIGNIFICANT time). What I’d like to do is pre-build the images and > then just change what image is displayed on the canvas on each scroll event. > I cannot seem to figure out how to do this. Can anybody give me a pointer > in the right direction. > > Thanks, > Dave. > > You are doing it how I would do it for animations of imshow, which does not result in re-interpolations. I wonder if the on_scroll event is getting called more often than it needs? How big are these images? Ben Root |