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
(7) |
2
(3) |
3
(2) |
4
(2) |
5
(2) |
6
(3) |
7
(1) |
8
(9) |
9
(1) |
10
(9) |
11
(2) |
12
|
13
(1) |
14
(11) |
15
(8) |
16
(7) |
17
(10) |
18
(2) |
19
(3) |
20
(9) |
21
(3) |
22
(3) |
23
(1) |
24
(12) |
25
(1) |
26
(3) |
27
(3) |
28
(6) |
29
(1) |
30
(6) |
31
(1) |
|
So, you need to know what tools to use to read in grib2 data? There are two particular grib readers that I am familiar with: PyNIO and pygrib2. PyNIO actually isn't a grib reader, as much as a swiss army knife of file readers. It is very similar to the netcdf4 interface, so if you are familiar with that, then PyNIO is very nice in that respect. Unfortunately, PyNIO is not available through pypi. You have to go directly to their website, sign up and download it directly from them. Oh, and may god have mercy on your soul if you have to build from source for either PyNIO or pygrib2... try the binaries if possible. Ben Root On Tue, Oct 14, 2014 at 1:09 AM, Sourav Chatterjee <sr...@gm...> wrote: > Can somebody help me to plot the wind vectors in spstere projection > reading data from a grb2 file *without using Dataset (netcdf4*)? > > Thanks > Sourav > > > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for 9ドル/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://p.sf.net/sfu/Zoho > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
Hi Chris, Thanks for that tip. I'll give it a try. They are big images (2048 x 2048) so it seems like your suggestion should work. Jon On Tue, Oct 14, 2014 at 12:18 PM, Chris Beaumont <cbe...@cf...> wrote: > I've found that, for big images, the *first* draw is very slow, due to the > intensity scaling of the image, which happens at full resolution. Panning > and zooming afterwards is fast because the intensity scaling is cached, but > changing the data array or updating the norm kwarg is slow again. I made > ModestImage (https://github.com/ChrisBeaumont/mpl-modest-image) to deal > with this -- it dynamically downsamples images to screen resolution. This > makes the first draw after updating the data or norm much faster, while > slowing down subsequent redraws. Perhaps this could help you out? > > cheers, > chris > > On Tue, Oct 14, 2014 at 12:08 PM, Benjamin Root <ben...@ou...> wrote: > >> Only if there are multiple figures (plt.draw() operates on the current >> active figure, while fig.draw() explicitly operates upon that figure). >> Another possibility is that the bottleneck truly is the IO. Depending on >> exactly how fits work, it might be lazily loading data for you, so the test >> without the display of the images might not actually be loading any data >> into memory. >> >> Ben Root >> >> On Tue, Oct 14, 2014 at 11:22 AM, Slavin, Jonathan < >> js...@cf...> wrote: >> >>> Hmm. I just saw that you suggest fig.draw(). Is there a difference >>> with plt.draw()? >>> >>> Jon >>> >>> On Tue, Oct 14, 2014 at 11:20 AM, Slavin, Jonathan < >>> js...@cf...> wrote: >>> >>>> Hi Ben, >>>> >>>> Sorry, in my little example, I left out a few things. I do update >>>> first after the first call. And I do call draw() after other calls. So >>>> here is a more accurate representation of what I do: >>>> >>>> first = True >>>> fig = plt.figure() >>>> for file in files: >>>> hdu = fits.open(file) >>>> image = hdu[0].data >>>> hdu.close() >>>> if first: >>>> ax = fig,add_subplot(1,1,1) >>>> im = ax.imshow(image) >>>> plt.show() >>>> first = False >>>> else: >>>> im.set_data(image) >>>> plt.draw() >>>> ans = raw_input('continue?') >>>> if ans == 'n': >>>> break >>>> >>>> Jon >>>> >>>> >>>> On Tue, Oct 14, 2014 at 10:42 AM, Benjamin Root <ben...@ou...> >>>> wrote: >>>> >>>>> Also, you aren't updating "first" after the first call, so it is >>>>> constantly making new axes and recalling imshow(). >>>>> >>>>> Ben Root >>>>> >>>>> On Tue, Oct 14, 2014 at 10:41 AM, Benjamin Root <ben...@ou...> >>>>> wrote: >>>>> >>>>>> What is happening is that you are not telling the image to redraw, so >>>>>> you are only seeing it refresh for other reasons. Try adding a fig.draw() >>>>>> call prior to the raw_input() call. >>>>>> >>>>>> Cheers! >>>>>> Ben Root >>>>>> >>>>>> On Tue, Oct 14, 2014 at 10:03 AM, Slavin, Jonathan < >>>>>> js...@cf...> wrote: >>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> In my work lately I have often wanted to browse through a series of >>>>>>> images. This means displaying the image(s), looking at it/them and then >>>>>>> continuing. I have coded this in a few different ways, but it is generally >>>>>>> pretty slow -- which is to say that the image display takes more than a >>>>>>> couple seconds (~4) after I tell it to continue to the next image. I >>>>>>> tested the loop without image display and it was a factor of ~80 times >>>>>>> faster than it was with image display, so it's doesn't have anything to do >>>>>>> with reading the images from disk. My latest approach is basically: >>>>>>> first = True >>>>>>> fig = plt.figure() >>>>>>> for file in imagefiles: >>>>>>> # read in image data (fits files) >>>>>>> if first: >>>>>>> ax = fig.add_suplot(1,1,1) >>>>>>> im = ax.imshow(image) >>>>>>> else: >>>>>>> im.set_data(image) >>>>>>> ans = raw_input('continue?') >>>>>>> if ans == 'n': >>>>>>> break >>>>>>> >>>>>>> Is there a more efficient way to do this? >>>>>>> >>>>>>> Regards, >>>>>>> Jon >>>>>>> >>>>>>> -- >>>>>>> ________________________________________________________ >>>>>>> Jonathan D. Slavin Harvard-Smithsonian CfA >>>>>>> js...@cf... 60 Garden Street, MS 83 >>>>>>> phone: (617) 496-7981 Cambridge, MA 02138-1516 >>>>>>> fax: (617) 496-7577 USA >>>>>>> ________________________________________________________ >>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> Comprehensive Server Monitoring with Site24x7. >>>>>>> Monitor 10 servers for 9ドル/Month. >>>>>>> Get alerted through email, SMS, voice calls or mobile push >>>>>>> notifications. >>>>>>> Take corrective actions from your mobile device. >>>>>>> http://p.sf.net/sfu/Zoho >>>>>>> _______________________________________________ >>>>>>> Matplotlib-users mailing list >>>>>>> Mat...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> ________________________________________________________ >>>> Jonathan D. Slavin Harvard-Smithsonian CfA >>>> js...@cf... 60 Garden Street, MS 83 >>>> phone: (617) 496-7981 Cambridge, MA 02138-1516 >>>> fax: (617) 496-7577 USA >>>> ________________________________________________________ >>>> >>>> >>> >>> >>> -- >>> ________________________________________________________ >>> Jonathan D. Slavin Harvard-Smithsonian CfA >>> js...@cf... 60 Garden Street, MS 83 >>> phone: (617) 496-7981 Cambridge, MA 02138-1516 >>> fax: (617) 496-7577 USA >>> ________________________________________________________ >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Comprehensive Server Monitoring with Site24x7. >> Monitor 10 servers for 9ドル/Month. >> Get alerted through email, SMS, voice calls or mobile push notifications. >> Take corrective actions from your mobile device. >> http://p.sf.net/sfu/Zoho >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > > > -- > ************************************* > Chris Beaumont > Senior Software Engineer > Harvard Center for Astrophysics > 60 Garden Street, MS 42 > Cambridge, MA 02138 > chrisbeaumont.org > ************************************* > -- ________________________________________________________ Jonathan D. Slavin Harvard-Smithsonian CfA js...@cf... 60 Garden Street, MS 83 phone: (617) 496-7981 Cambridge, MA 02138-1516 fax: (617) 496-7577 USA ________________________________________________________
I am happy to announce that I have tagged a release candidate for 1.4.1. This is a bug-fix release which fixes most of the bug that popped up in 1.4.0 including: - setup.py does not die when freetype is not installed - reverts the changes to interactive plotting so `ion` will work as expected - sundry unicode fixes (looking up user folders, importing seaborn/pandas/networkx with macosx backend - fixed boxplot regressions The tarball is available from github, sourceforge and can be install via pip install matplotlib==1.4.1rc1 Tom -- Thomas Caswell tca...@gm...
I've found that, for big images, the *first* draw is very slow, due to the intensity scaling of the image, which happens at full resolution. Panning and zooming afterwards is fast because the intensity scaling is cached, but changing the data array or updating the norm kwarg is slow again. I made ModestImage (https://github.com/ChrisBeaumont/mpl-modest-image) to deal with this -- it dynamically downsamples images to screen resolution. This makes the first draw after updating the data or norm much faster, while slowing down subsequent redraws. Perhaps this could help you out? cheers, chris On Tue, Oct 14, 2014 at 12:08 PM, Benjamin Root <ben...@ou...> wrote: > Only if there are multiple figures (plt.draw() operates on the current > active figure, while fig.draw() explicitly operates upon that figure). > Another possibility is that the bottleneck truly is the IO. Depending on > exactly how fits work, it might be lazily loading data for you, so the test > without the display of the images might not actually be loading any data > into memory. > > Ben Root > > On Tue, Oct 14, 2014 at 11:22 AM, Slavin, Jonathan < > js...@cf...> wrote: > >> Hmm. I just saw that you suggest fig.draw(). Is there a difference with >> plt.draw()? >> >> Jon >> >> On Tue, Oct 14, 2014 at 11:20 AM, Slavin, Jonathan < >> js...@cf...> wrote: >> >>> Hi Ben, >>> >>> Sorry, in my little example, I left out a few things. I do update first >>> after the first call. And I do call draw() after other calls. So here is >>> a more accurate representation of what I do: >>> >>> first = True >>> fig = plt.figure() >>> for file in files: >>> hdu = fits.open(file) >>> image = hdu[0].data >>> hdu.close() >>> if first: >>> ax = fig,add_subplot(1,1,1) >>> im = ax.imshow(image) >>> plt.show() >>> first = False >>> else: >>> im.set_data(image) >>> plt.draw() >>> ans = raw_input('continue?') >>> if ans == 'n': >>> break >>> >>> Jon >>> >>> >>> On Tue, Oct 14, 2014 at 10:42 AM, Benjamin Root <ben...@ou...> wrote: >>> >>>> Also, you aren't updating "first" after the first call, so it is >>>> constantly making new axes and recalling imshow(). >>>> >>>> Ben Root >>>> >>>> On Tue, Oct 14, 2014 at 10:41 AM, Benjamin Root <ben...@ou...> >>>> wrote: >>>> >>>>> What is happening is that you are not telling the image to redraw, so >>>>> you are only seeing it refresh for other reasons. Try adding a fig.draw() >>>>> call prior to the raw_input() call. >>>>> >>>>> Cheers! >>>>> Ben Root >>>>> >>>>> On Tue, Oct 14, 2014 at 10:03 AM, Slavin, Jonathan < >>>>> js...@cf...> wrote: >>>>> >>>>>> Hi all, >>>>>> >>>>>> In my work lately I have often wanted to browse through a series of >>>>>> images. This means displaying the image(s), looking at it/them and then >>>>>> continuing. I have coded this in a few different ways, but it is generally >>>>>> pretty slow -- which is to say that the image display takes more than a >>>>>> couple seconds (~4) after I tell it to continue to the next image. I >>>>>> tested the loop without image display and it was a factor of ~80 times >>>>>> faster than it was with image display, so it's doesn't have anything to do >>>>>> with reading the images from disk. My latest approach is basically: >>>>>> first = True >>>>>> fig = plt.figure() >>>>>> for file in imagefiles: >>>>>> # read in image data (fits files) >>>>>> if first: >>>>>> ax = fig.add_suplot(1,1,1) >>>>>> im = ax.imshow(image) >>>>>> else: >>>>>> im.set_data(image) >>>>>> ans = raw_input('continue?') >>>>>> if ans == 'n': >>>>>> break >>>>>> >>>>>> Is there a more efficient way to do this? >>>>>> >>>>>> Regards, >>>>>> Jon >>>>>> >>>>>> -- >>>>>> ________________________________________________________ >>>>>> Jonathan D. Slavin Harvard-Smithsonian CfA >>>>>> js...@cf... 60 Garden Street, MS 83 >>>>>> phone: (617) 496-7981 Cambridge, MA 02138-1516 >>>>>> fax: (617) 496-7577 USA >>>>>> ________________________________________________________ >>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Comprehensive Server Monitoring with Site24x7. >>>>>> Monitor 10 servers for 9ドル/Month. >>>>>> Get alerted through email, SMS, voice calls or mobile push >>>>>> notifications. >>>>>> Take corrective actions from your mobile device. >>>>>> http://p.sf.net/sfu/Zoho >>>>>> _______________________________________________ >>>>>> Matplotlib-users mailing list >>>>>> Mat...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>>> >>>>>> >>>>> >>>> >>> >>> >>> -- >>> ________________________________________________________ >>> Jonathan D. Slavin Harvard-Smithsonian CfA >>> js...@cf... 60 Garden Street, MS 83 >>> phone: (617) 496-7981 Cambridge, MA 02138-1516 >>> fax: (617) 496-7577 USA >>> ________________________________________________________ >>> >>> >> >> >> -- >> ________________________________________________________ >> Jonathan D. Slavin Harvard-Smithsonian CfA >> js...@cf... 60 Garden Street, MS 83 >> phone: (617) 496-7981 Cambridge, MA 02138-1516 >> fax: (617) 496-7577 USA >> ________________________________________________________ >> >> > > > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for 9ドル/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://p.sf.net/sfu/Zoho > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- ************************************* Chris Beaumont Senior Software Engineer Harvard Center for Astrophysics 60 Garden Street, MS 42 Cambridge, MA 02138 chrisbeaumont.org *************************************
Only if there are multiple figures (plt.draw() operates on the current active figure, while fig.draw() explicitly operates upon that figure). Another possibility is that the bottleneck truly is the IO. Depending on exactly how fits work, it might be lazily loading data for you, so the test without the display of the images might not actually be loading any data into memory. Ben Root On Tue, Oct 14, 2014 at 11:22 AM, Slavin, Jonathan <js...@cf...> wrote: > Hmm. I just saw that you suggest fig.draw(). Is there a difference with > plt.draw()? > > Jon > > On Tue, Oct 14, 2014 at 11:20 AM, Slavin, Jonathan < > js...@cf...> wrote: > >> Hi Ben, >> >> Sorry, in my little example, I left out a few things. I do update first >> after the first call. And I do call draw() after other calls. So here is >> a more accurate representation of what I do: >> >> first = True >> fig = plt.figure() >> for file in files: >> hdu = fits.open(file) >> image = hdu[0].data >> hdu.close() >> if first: >> ax = fig,add_subplot(1,1,1) >> im = ax.imshow(image) >> plt.show() >> first = False >> else: >> im.set_data(image) >> plt.draw() >> ans = raw_input('continue?') >> if ans == 'n': >> break >> >> Jon >> >> >> On Tue, Oct 14, 2014 at 10:42 AM, Benjamin Root <ben...@ou...> wrote: >> >>> Also, you aren't updating "first" after the first call, so it is >>> constantly making new axes and recalling imshow(). >>> >>> Ben Root >>> >>> On Tue, Oct 14, 2014 at 10:41 AM, Benjamin Root <ben...@ou...> wrote: >>> >>>> What is happening is that you are not telling the image to redraw, so >>>> you are only seeing it refresh for other reasons. Try adding a fig.draw() >>>> call prior to the raw_input() call. >>>> >>>> Cheers! >>>> Ben Root >>>> >>>> On Tue, Oct 14, 2014 at 10:03 AM, Slavin, Jonathan < >>>> js...@cf...> wrote: >>>> >>>>> Hi all, >>>>> >>>>> In my work lately I have often wanted to browse through a series of >>>>> images. This means displaying the image(s), looking at it/them and then >>>>> continuing. I have coded this in a few different ways, but it is generally >>>>> pretty slow -- which is to say that the image display takes more than a >>>>> couple seconds (~4) after I tell it to continue to the next image. I >>>>> tested the loop without image display and it was a factor of ~80 times >>>>> faster than it was with image display, so it's doesn't have anything to do >>>>> with reading the images from disk. My latest approach is basically: >>>>> first = True >>>>> fig = plt.figure() >>>>> for file in imagefiles: >>>>> # read in image data (fits files) >>>>> if first: >>>>> ax = fig.add_suplot(1,1,1) >>>>> im = ax.imshow(image) >>>>> else: >>>>> im.set_data(image) >>>>> ans = raw_input('continue?') >>>>> if ans == 'n': >>>>> break >>>>> >>>>> Is there a more efficient way to do this? >>>>> >>>>> Regards, >>>>> Jon >>>>> >>>>> -- >>>>> ________________________________________________________ >>>>> Jonathan D. Slavin Harvard-Smithsonian CfA >>>>> js...@cf... 60 Garden Street, MS 83 >>>>> phone: (617) 496-7981 Cambridge, MA 02138-1516 >>>>> fax: (617) 496-7577 USA >>>>> ________________________________________________________ >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Comprehensive Server Monitoring with Site24x7. >>>>> Monitor 10 servers for 9ドル/Month. >>>>> Get alerted through email, SMS, voice calls or mobile push >>>>> notifications. >>>>> Take corrective actions from your mobile device. >>>>> http://p.sf.net/sfu/Zoho >>>>> _______________________________________________ >>>>> Matplotlib-users mailing list >>>>> Mat...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>> >>>>> >>>> >>> >> >> >> -- >> ________________________________________________________ >> Jonathan D. Slavin Harvard-Smithsonian CfA >> js...@cf... 60 Garden Street, MS 83 >> phone: (617) 496-7981 Cambridge, MA 02138-1516 >> fax: (617) 496-7577 USA >> ________________________________________________________ >> >> > > > -- > ________________________________________________________ > Jonathan D. Slavin Harvard-Smithsonian CfA > js...@cf... 60 Garden Street, MS 83 > phone: (617) 496-7981 Cambridge, MA 02138-1516 > fax: (617) 496-7577 USA > ________________________________________________________ > >
Hmm. I just saw that you suggest fig.draw(). Is there a difference with plt.draw()? Jon On Tue, Oct 14, 2014 at 11:20 AM, Slavin, Jonathan <js...@cf...> wrote: > Hi Ben, > > Sorry, in my little example, I left out a few things. I do update first > after the first call. And I do call draw() after other calls. So here is > a more accurate representation of what I do: > > first = True > fig = plt.figure() > for file in files: > hdu = fits.open(file) > image = hdu[0].data > hdu.close() > if first: > ax = fig,add_subplot(1,1,1) > im = ax.imshow(image) > plt.show() > first = False > else: > im.set_data(image) > plt.draw() > ans = raw_input('continue?') > if ans == 'n': > break > > Jon > > > On Tue, Oct 14, 2014 at 10:42 AM, Benjamin Root <ben...@ou...> wrote: > >> Also, you aren't updating "first" after the first call, so it is >> constantly making new axes and recalling imshow(). >> >> Ben Root >> >> On Tue, Oct 14, 2014 at 10:41 AM, Benjamin Root <ben...@ou...> wrote: >> >>> What is happening is that you are not telling the image to redraw, so >>> you are only seeing it refresh for other reasons. Try adding a fig.draw() >>> call prior to the raw_input() call. >>> >>> Cheers! >>> Ben Root >>> >>> On Tue, Oct 14, 2014 at 10:03 AM, Slavin, Jonathan < >>> js...@cf...> wrote: >>> >>>> Hi all, >>>> >>>> In my work lately I have often wanted to browse through a series of >>>> images. This means displaying the image(s), looking at it/them and then >>>> continuing. I have coded this in a few different ways, but it is generally >>>> pretty slow -- which is to say that the image display takes more than a >>>> couple seconds (~4) after I tell it to continue to the next image. I >>>> tested the loop without image display and it was a factor of ~80 times >>>> faster than it was with image display, so it's doesn't have anything to do >>>> with reading the images from disk. My latest approach is basically: >>>> first = True >>>> fig = plt.figure() >>>> for file in imagefiles: >>>> # read in image data (fits files) >>>> if first: >>>> ax = fig.add_suplot(1,1,1) >>>> im = ax.imshow(image) >>>> else: >>>> im.set_data(image) >>>> ans = raw_input('continue?') >>>> if ans == 'n': >>>> break >>>> >>>> Is there a more efficient way to do this? >>>> >>>> Regards, >>>> Jon >>>> >>>> -- >>>> ________________________________________________________ >>>> Jonathan D. Slavin Harvard-Smithsonian CfA >>>> js...@cf... 60 Garden Street, MS 83 >>>> phone: (617) 496-7981 Cambridge, MA 02138-1516 >>>> fax: (617) 496-7577 USA >>>> ________________________________________________________ >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Comprehensive Server Monitoring with Site24x7. >>>> Monitor 10 servers for 9ドル/Month. >>>> Get alerted through email, SMS, voice calls or mobile push >>>> notifications. >>>> Take corrective actions from your mobile device. >>>> http://p.sf.net/sfu/Zoho >>>> _______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>> >>>> >>> >> > > > -- > ________________________________________________________ > Jonathan D. Slavin Harvard-Smithsonian CfA > js...@cf... 60 Garden Street, MS 83 > phone: (617) 496-7981 Cambridge, MA 02138-1516 > fax: (617) 496-7577 USA > ________________________________________________________ > > -- ________________________________________________________ Jonathan D. Slavin Harvard-Smithsonian CfA js...@cf... 60 Garden Street, MS 83 phone: (617) 496-7981 Cambridge, MA 02138-1516 fax: (617) 496-7577 USA ________________________________________________________
Hi Ben, Sorry, in my little example, I left out a few things. I do update first after the first call. And I do call draw() after other calls. So here is a more accurate representation of what I do: first = True fig = plt.figure() for file in files: hdu = fits.open(file) image = hdu[0].data hdu.close() if first: ax = fig,add_subplot(1,1,1) im = ax.imshow(image) plt.show() first = False else: im.set_data(image) plt.draw() ans = raw_input('continue?') if ans == 'n': break Jon On Tue, Oct 14, 2014 at 10:42 AM, Benjamin Root <ben...@ou...> wrote: > Also, you aren't updating "first" after the first call, so it is > constantly making new axes and recalling imshow(). > > Ben Root > > On Tue, Oct 14, 2014 at 10:41 AM, Benjamin Root <ben...@ou...> wrote: > >> What is happening is that you are not telling the image to redraw, so you >> are only seeing it refresh for other reasons. Try adding a fig.draw() call >> prior to the raw_input() call. >> >> Cheers! >> Ben Root >> >> On Tue, Oct 14, 2014 at 10:03 AM, Slavin, Jonathan < >> js...@cf...> wrote: >> >>> Hi all, >>> >>> In my work lately I have often wanted to browse through a series of >>> images. This means displaying the image(s), looking at it/them and then >>> continuing. I have coded this in a few different ways, but it is generally >>> pretty slow -- which is to say that the image display takes more than a >>> couple seconds (~4) after I tell it to continue to the next image. I >>> tested the loop without image display and it was a factor of ~80 times >>> faster than it was with image display, so it's doesn't have anything to do >>> with reading the images from disk. My latest approach is basically: >>> first = True >>> fig = plt.figure() >>> for file in imagefiles: >>> # read in image data (fits files) >>> if first: >>> ax = fig.add_suplot(1,1,1) >>> im = ax.imshow(image) >>> else: >>> im.set_data(image) >>> ans = raw_input('continue?') >>> if ans == 'n': >>> break >>> >>> Is there a more efficient way to do this? >>> >>> Regards, >>> Jon >>> >>> -- >>> ________________________________________________________ >>> Jonathan D. Slavin Harvard-Smithsonian CfA >>> js...@cf... 60 Garden Street, MS 83 >>> phone: (617) 496-7981 Cambridge, MA 02138-1516 >>> fax: (617) 496-7577 USA >>> ________________________________________________________ >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Comprehensive Server Monitoring with Site24x7. >>> Monitor 10 servers for 9ドル/Month. >>> Get alerted through email, SMS, voice calls or mobile push notifications. >>> Take corrective actions from your mobile device. >>> http://p.sf.net/sfu/Zoho >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >>> >> > -- ________________________________________________________ Jonathan D. Slavin Harvard-Smithsonian CfA js...@cf... 60 Garden Street, MS 83 phone: (617) 496-7981 Cambridge, MA 02138-1516 fax: (617) 496-7577 USA ________________________________________________________
Also, you aren't updating "first" after the first call, so it is constantly making new axes and recalling imshow(). Ben Root On Tue, Oct 14, 2014 at 10:41 AM, Benjamin Root <ben...@ou...> wrote: > What is happening is that you are not telling the image to redraw, so you > are only seeing it refresh for other reasons. Try adding a fig.draw() call > prior to the raw_input() call. > > Cheers! > Ben Root > > On Tue, Oct 14, 2014 at 10:03 AM, Slavin, Jonathan < > js...@cf...> wrote: > >> Hi all, >> >> In my work lately I have often wanted to browse through a series of >> images. This means displaying the image(s), looking at it/them and then >> continuing. I have coded this in a few different ways, but it is generally >> pretty slow -- which is to say that the image display takes more than a >> couple seconds (~4) after I tell it to continue to the next image. I >> tested the loop without image display and it was a factor of ~80 times >> faster than it was with image display, so it's doesn't have anything to do >> with reading the images from disk. My latest approach is basically: >> first = True >> fig = plt.figure() >> for file in imagefiles: >> # read in image data (fits files) >> if first: >> ax = fig.add_suplot(1,1,1) >> im = ax.imshow(image) >> else: >> im.set_data(image) >> ans = raw_input('continue?') >> if ans == 'n': >> break >> >> Is there a more efficient way to do this? >> >> Regards, >> Jon >> >> -- >> ________________________________________________________ >> Jonathan D. Slavin Harvard-Smithsonian CfA >> js...@cf... 60 Garden Street, MS 83 >> phone: (617) 496-7981 Cambridge, MA 02138-1516 >> fax: (617) 496-7577 USA >> ________________________________________________________ >> >> >> >> ------------------------------------------------------------------------------ >> Comprehensive Server Monitoring with Site24x7. >> Monitor 10 servers for 9ドル/Month. >> Get alerted through email, SMS, voice calls or mobile push notifications. >> Take corrective actions from your mobile device. >> http://p.sf.net/sfu/Zoho >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> >
What is happening is that you are not telling the image to redraw, so you are only seeing it refresh for other reasons. Try adding a fig.draw() call prior to the raw_input() call. Cheers! Ben Root On Tue, Oct 14, 2014 at 10:03 AM, Slavin, Jonathan <js...@cf...> wrote: > Hi all, > > In my work lately I have often wanted to browse through a series of > images. This means displaying the image(s), looking at it/them and then > continuing. I have coded this in a few different ways, but it is generally > pretty slow -- which is to say that the image display takes more than a > couple seconds (~4) after I tell it to continue to the next image. I > tested the loop without image display and it was a factor of ~80 times > faster than it was with image display, so it's doesn't have anything to do > with reading the images from disk. My latest approach is basically: > first = True > fig = plt.figure() > for file in imagefiles: > # read in image data (fits files) > if first: > ax = fig.add_suplot(1,1,1) > im = ax.imshow(image) > else: > im.set_data(image) > ans = raw_input('continue?') > if ans == 'n': > break > > Is there a more efficient way to do this? > > Regards, > Jon > > -- > ________________________________________________________ > Jonathan D. Slavin Harvard-Smithsonian CfA > js...@cf... 60 Garden Street, MS 83 > phone: (617) 496-7981 Cambridge, MA 02138-1516 > fax: (617) 496-7577 USA > ________________________________________________________ > > > > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for 9ドル/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://p.sf.net/sfu/Zoho > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
Hi all, In my work lately I have often wanted to browse through a series of images. This means displaying the image(s), looking at it/them and then continuing. I have coded this in a few different ways, but it is generally pretty slow -- which is to say that the image display takes more than a couple seconds (~4) after I tell it to continue to the next image. I tested the loop without image display and it was a factor of ~80 times faster than it was with image display, so it's doesn't have anything to do with reading the images from disk. My latest approach is basically: first = True fig = plt.figure() for file in imagefiles: # read in image data (fits files) if first: ax = fig.add_suplot(1,1,1) im = ax.imshow(image) else: im.set_data(image) ans = raw_input('continue?') if ans == 'n': break Is there a more efficient way to do this? Regards, Jon -- ________________________________________________________ Jonathan D. Slavin Harvard-Smithsonian CfA js...@cf... 60 Garden Street, MS 83 phone: (617) 496-7981 Cambridge, MA 02138-1516 fax: (617) 496-7577 USA ________________________________________________________
Can somebody help me to plot the wind vectors in spstere projection reading data from a grb2 file *without using Dataset (netcdf4*)? Thanks Sourav