From: Dominique M. <Dom...@u-...> - 2007-02-14 17:17:24
|
Hello I wish to use plplot to make simple physics animation (such as a mobile thrown in the air) on a Debian Sarge. The plplot version is 5.7.2, used with Fortran program. I can use C if necessary. I need a set of images which will be used to feed ffmpeg. Currently I use the postscript driver (1) : a call to plenv() for each frame put a new page in the file. Then pstoimg gives me the set of images. I guess it is not the best way. I tried to use the pbm driver. I got a big file, in which I guess the successive images are dumped. But I don't know how to extract them. I tried to use the plmeta driver to extract this files, unsuccessful. I tried to use the plmeta driver in conjunction with the -fam options or procedures, but I got unusable files or segmentations faults. Does somebody has a hint, or a program sample to lighten me ?? (1) Is there a way to drive the postscript driver to produce correctly oriented graphs : mine are counterclockwise rotated. Sincerely yours Dominique MICOLLET Email : Dom...@u-... Universite de Bourgogne 9, Avenue Alain SAVARY BP 47870 Tel : +33/(0)3-80-39-59-27 21078 DIJON CEDEX FRANCE Tfx : +33/(0)3-80-39-68-69 |
From: Alan W. I. <ir...@be...> - 2007-02-14 18:32:22
|
On 2007-02-14 18:21+0100 Dominique MICOLLET wrote: > Hello > > I wish to use plplot to make simple physics animation (such as a mobile thrown > in the air) on a Debian Sarge. > The plplot version is 5.7.2, used with Fortran program. I can use C if > necessary. > > I need a set of images which will be used to feed ffmpeg. > > [...] I tried to use the pbm driver. I got a big > file, in which I guess the successive images are dumped. > But I don't know how to extract them. To answer that question use one of the pnmto*** or pbmto*** applications. For example, I have just successfully used ./x01c -dev pbm -o test.pbm pnmtops < test.pbm >test.ps However, the results are really low resolution and not nearly as good as using -dev psc directly. Probably some maintenance of -dev pbm is required to get higher resolution, but it has been years since anybody worked on that device driver. > (1) Is there a way to drive the postscript driver to produce correctly > oriented graphs : mine are counterclockwise rotated. Use the -ori 1 option to rotate the postscript result the way you want, e.g., ./x01c -dev psc -ori 1 -o test.ps Use the -h command-line option to get help on lots of PLplot options. [out of order] > Currently I use the postscript driver (1) : a call to plenv() for each frame > put a new page in the > file. Then pstoimg gives me the set of images. > > I guess it is not the best way. Probably not. pstoimg converts postscript to either PNG or GIF images, but it is probably better to use our -dev png or -dev gif devices directly. You will need the familying option (which turns PLplot pages into separate files) since PNG or GIF formats have no concept of plot pages as produced by PLplot. Here is an example: ./x09c -dev gif -o test.gif -fam -fflen 3 ls test.gif.* test.gif.001 test.gif.002 test.gif.003 test.gif.004 test.gif.005 Our ninth example has 5 separate pages which the -fam option turns into 5 separate files. I have also shown the use of the -fflen option which (in this case) insures the numerical suffix is three characters (in case you have more than 100 pages). I assume ffmpeg would have no trouble converting a collection of gif images into a format suitable for animations, but I would be interested in exactly which end format you have chosen. After you finalize your PLplot-generated animation, I hope you post a link to it because I think many of us will be interested in the result. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Werner S. <sm...@ia...> - 2007-02-14 19:36:21
|
Hi, > Our ninth example has 5 separate pages which the -fam option turns into > 5 separate files. I have also shown the use of the -fflen option which > (in this case) insures the numerical suffix is three characters (in case > you have more than 100 pages). I assume ffmpeg would have no trouble > converting a collection of gif images into a format suitable for animations, > but I would be interested in exactly which end format you have chosen. one additional note: You can use Imagemagick to make an mpeg file. Just type (after you made the plots with PLplot and the family option): convert -quality 80 *.png output.mpg (if you have produced png files). Via the quality option you can reduce the size of the file. Regards, Werner -- Dipl. Ing. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office) +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: Valery P. <pi...@is...> - 2007-02-15 04:57:12
|
On Thursday 15 February 2007, Werner Smekal wrote: > Hi, > > > Our ninth example has 5 separate pages which the -fam option turns into > > 5 separate files. I have also shown the use of the -fflen option which > > (in this case) insures the numerical suffix is three characters (in case > > you have more than 100 pages). I assume ffmpeg would have no trouble > > converting a collection of gif images into a format suitable for > > animations, but I would be interested in exactly which end format you > > have chosen. > > one additional note: > > You can use Imagemagick to make an mpeg file. Just type (after you made > the plots with PLplot and the family option): > > convert -quality 80 *.png output.mpg I have used this way. I would advice to make gif animation in addition. The problem is that not every windows pc can play mpg files. Gif animation can be shown in every web browser. In yorick the program may look as (similar in fortran): for(k=1; k <= mm; k++) { kk=(k-1); //plsdev, "tk"; plsdev, "png"; plsfile, pr1(k)+"ee.png"; plspage,600,500,600,500,1,1; plscolbg,255,255,255; plinit; plssub,3,1; .....and etc. } Then convert -scale 708x608 -delay 100 1ee.png 2ee.png 3ee.png \ 4ee.png 5ee.png 6ee.png \ 7ee.png 8ee.png 9ee.png \ 10ee.png 11ee.png 12ee.png \ 13ee.png 14ee.png 15ee.png \ 16ee.png 17ee.png 18ee.png \ 19ee.png 20ee.png 21ee.png 22ee.png 23ee.png \ 24ee.png 25ee.png 26ee.png 27ee.png 28ee.png \ 29ee.png 30ee.png 31ee.png -loop 0 dyne.gif The result can be found at http://iszf.irk.ru/~pip/dyn.gif. This is an animation for solar dynamo model The gif can be transformed to mpeg and avi. You have to know the right codecs (those from pc where you will show the movie) . regards V |
From: Valery P. <pi...@is...> - 2007-02-15 10:23:13
|
Maurice LeBrun wrote: > Valery Pipin writes: > > On Thursday 15 February 2007, Werner Smekal wrote: > > > Hi, > > > > > > > Our ninth example has 5 separate pages which the -fam option turns > > > > into 5 separate files. I have also shown the use of the -fflen > > > > option which (in this case) insures the numerical suffix is three > > > > characters (in case you have more than 100 pages). I assume ffmpeg > > > > would have no trouble converting a collection of gif images into a > > > > format suitable for animations, but I would be interested in exactly > > > > which end format you have chosen. > > > > > > one additional note: > > > > > > You can use Imagemagick to make an mpeg file. Just type (after you > > > made the plots with PLplot and the family option): > > > > > > convert -quality 80 *.png output.mpg > > > > I have used this way. > > I would advice to make gif animation in addition. > > The problem is that not every windows pc can play mpg files. > > Gif animation can be shown in every web browser. > > A couple additional comments: > > - if you create as a series of .gif or .png files, you can use the > ImageMagick "animate" program to display them, with a fair level > of control over how they are displayed (speed, etc). I haven't had > uniformly positive experience with it but it's not bad. Thanks for this hint! I did not know about "animate" |