gaf: Fix memory leak
[geda-gaf.git] / docs / wiki / geda-data_plotting_improvements.html
blob91543e31fa1e517a581ea6d1cf526404855c99a0
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <p>
14 <em>Translations of this page are also available in the following languages:</em> <a href="geda-data_plotting_improvements.ru.html" class="wikilink1" title="geda-data_plotting_improvements.ru.html">Русский</a>.
15 </p>
17 <h1 id="simulationdataplotting">Simulation Data Plotting</h1>
18 <div class="level1">
20 </div>
22 <h2 id="rationale">Rationale</h2>
23 <div class="level2">
25 <p>
26 This article discusses on how data plotting can be improved.
27 There are various programs out there, each has it&#039;s own pros and cons:
28 </p>
29 <ul>
30 <li class="level1"><div class="li"> gtkwave: a great viewer for digital simulation data</div>
31 </li>
32 <li class="level1"><div class="li"> gwave: analog waveform viewer</div>
33 </li>
34 <li class="level1"><div class="li"> KJWaves: simulation frontend with plotting window</div>
35 </li>
36 <li class="level1"><div class="li"> buildin plotting functions in ngspice</div>
37 </li>
38 <li class="level1"><div class="li"> gnuplot / octave / scipy / ... or similar programs as postprocessing script languages</div>
39 </li>
40 <li class="level1"><div class="li"> ...</div>
41 </li>
42 </ul>
44 <p>
45 There have been various suggestions on the mailing lists about the feature a plotting program could have:
46 </p>
47 <ul>
48 <li class="level1"><div class="li"> postprocessing: integrate, add, diff, fft, ...</div>
49 </li>
50 <li class="level1"><div class="li"> view, examine: cursors, multiple windows, ...</div>
51 </li>
52 <li class="level1"><div class="li"> data import, file format: circuit simulation data (gnucap, spice, ...) hdf5 , measured data from oscilloscopes, spectrum analysers, ...</div>
53 </li>
54 <li class="level1"><div class="li"> data export, file format: hdf5, pictures (png, ps, ...), ascii</div>
55 </li>
56 <li class="level1"><div class="li"> communication backends: dbus, ...</div>
57 </li>
58 <li class="level1"><div class="li"> extension/scripting language</div>
59 </li>
60 </ul>
62 </div>
64 <h2 id="draft1extendgtkwaves">Draft1: Extend gtkwaves</h2>
65 <div class="level2">
66 <ul>
67 <li class="level1"><div class="li"> write some import functions for analog data</div>
68 </li>
69 </ul>
71 </div>
73 <h2 id="draft2improvegwave">Draft2: improve gwave</h2>
74 <div class="level2">
76 <p>
77 gwave requires an old guile-gtk for GTK1.2.
78 </p>
79 <ul>
80 <li class="level1"><div class="li"> port gwave to guile-gtk2.0 for GTK2.x</div>
81 </li>
82 <li class="level1"><div class="li"> remove the guile-gtk requirement. Maybe create a native gtk2 application with libglade?</div>
83 </li>
84 </ul>
86 <p>
87 A rewrite of gwave:
88 </p>
89 <ul>
90 <li class="level1"><div class="li"> gaw: http://www.rvq.fr/linux/gaw.php</div>
91 </li>
92 </ul>
94 </div>
96 <h2 id="draft3searchforexistingdataexploringprograms">Draft3: Search for existing data exploring programs</h2>
97 <div class="level2">
99 <p>
100 Are there any programs out there that can show and postprocess simulation data?
101 If yes, how can they be extended to work as a waveform viewer for the simulators (gnucap, ngspice)?
102 </p>
104 </div>
106 <h2 id="draft4anewplottingapplication">Draft4: A new plotting application</h2>
107 <div class="level2">
110 Some vague notes on how a new plotting application could be written.
111 This notes currently relate on python as programming language.
112 </p>
113 <ul>
114 <li class="level1"><div class="li"> the GUI could be created with libglade</div>
115 </li>
116 <li class="level1"><div class="li"> the data storage format could be hdf5 , maybe together with pytables</div>
117 </li>
118 <li class="level1"><div class="li"> the plotting engine could be matplotlib (png, ps export included)</div>
119 </li>
120 <li class="level1"><div class="li"> postprocessing could be done with scipy</div>
121 </li>
122 <li class="level1"><div class="li"> the scripting language is python. Thus import filter to hdf5 can easily be written. Even an integrated python shell would be possible. Seen on MayaVi 2</div>
123 </li>
124 </ul>
127 Disadvantage: This configuration has a huge rucksack of additional required packages.
128 </p>
131 <strong>Update</strong>
132 </p>
135 There are now some programs out there, that use the python, numpy, matplotlib tool chain:
136 </p>
137 <ul>
138 <li class="level1"><div class="li"> oscopy: http://repo.or.cz/w/oscopy.git</div>
139 </li>
140 <li class="level1"><div class="li"> dataplot: http://www.h-renrew.de/h/dataplot/dataplot.html, http://repo.or.cz/w/dataplot.git</div>
141 </li>
142 <li class="level1"><div class="li"> gsim: http://kiwiki.fmtnuni.sk/mediawiki/index.php/Description_of_gsim</div>
143 </li>
144 </ul>
146 </div>
147 </body>
148 </html>