From: Perry G. <pe...@st...> - 2004-12-21 17:26:12
|
On Dec 20, 2004, at 3:55 AM, Eric Emsellem wrote: > Sorry to get into this discussion so late. > sterday I tried with a 1600x1600 pixels image. NOTE: this is a very > reasonable > size (and typical) in my work and I expect much much bigger ones in a > near future > (up to 20 000 x 20 000). > Wow, I want your 20Kx20K image display! Seriously, it sounds like you do not intend to display the whole thing at once. In that case I would consider doing the slicing and reduction outside of matplotlib and then displaying the subsampled or sliced region using the size of the window. Applying color transformations on the whole image is going to result in a lot of wasted cpu time. I also recognize that 1.6K^2 displays are not that unreasonable so reasonable performance with this size is something one wants to achieve. > ==> Matplotlib takes ~20 seconds to display it !!! > (after 12 seconds the window opens, and then it takes > another 8 seconds to be displayed) > As John later alluded to, the time for the window to come up is a one time cost if you are running from an interactive prompt. It shouldn't be paid for subsequent display updates. > (as compared to less than .2 sec for Midas, Iraf and others so a > factor of 100 at least!!! > and less than a second using the ppgplot routines). > For better understanding the comparison, when you use Midas, what are you displaying to? It's been a long, long, time since I've used Midas so I forget (or likely, it's changed) how image display is done. Are you using DS9, ximtool or SAOIMAGE? Or a different display mechanism? By the way, we do have a module that allows displaying numarray images to DS9 and related image display programs (google numdisplay). But if you are hoping to combine matplotlib features with image display, this isn't going to help much. But if you are looking mainly to use DS9 or ximtool features, you can just use them directly and save yourself the trouble of trying to emulate them (not that wouldn't be a nice thing to have for matplotlib). Perry |