Retrive the plot index on click in plot-properties.
[pyplotsuite.git] / README
blob6a7b686e6f10e328b460724c7b931682958c5594
1 PyPlotSuite README File
2 =======================
4 .Copyright and License
5 *************************************************
6 Copyright (C) 2006-2007 Antonino Ingargiola <tritemio@gmail.com>
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 GNU General Public License for more details.
18 For more information read the file LICENSE.txt in the source directory.
19 *************************************************
22 Project Description
23 -------------------
25 *PyPlotSuite* is a set of graphical tools to quick visualize and explore/analyze
26 monodimentional and bidimensional data. The plot produced can be saved in a
27 variety of image formats to produce publication quality graphs.
29 At the moment the project is composed by two little stand alone applications:
30 *ImageAnalyzer* and *Plotfile2*. ImageAnalyzer is focused towards images (or any
31 2D data, such as arrays) visualization, analysis, and measurement. Plotfile2
32 focus is towards simple data series visualization, with the possibility to
33 quick modify many plot characteristics. Both applications can save the result
34 on a multitude of image file formats (png, eps, jpeg, pdf, and more).
36 PyPlotSuite is written in python, using the GTK gui toolkit (through the python
37 binding pygtk, and using Glade-2 to layout the windows). All plots are created
38 with the great Matplotlib python 2D graphic library. Matplotlib is such a good
39 tool that the PyPlotSuite applications are only tiny wrapper around Matplotlib
40 functionality. Also some Numpy functionality are used both through Matplotlib
41 (which requires Numpy) and both directly.
43 Home Page::         http://pyplotsuite.sourceforge.net[]
44 *Latest Version*::  0.1-alpha6 '(still unreleased!)'
47 Release Notice
48 --------------
50 Early versions of *ImageAnalyzer* and *Plotfile2* were released in separated
51 tarballs with separated version number. Now they are released together in the
52 same tarball with the same version number (and I plan to integrate them more).
53 However they retain separated changelogs, so you can keep track of each
54 application separately.
56 The development version of *PyPlotSuite* is hosted on a
57 http://repo.or.cz/w/pyplotsuite.git[git repository]. To download the latest
58 (possibly broken) development version just install http://git.or.cz/[git] 
59 and type:
61 -------------------
62 $ git clone ssh://repo.or.cz/srv/git/pyplotsuite.git
63 -------------------
65 Now you have a complete working version of PyPlotSuite to test/hack on. If git
66 and cogito does not work on your OS (i.e. windows) look at
67 http://bazaar-vcs.org/[bazar] that is multiplatform SCM with a git plugin too.
70 Requirements
71 ------------
73 You must have this software installed in order to be able to run the program:
75 - Any recent version of Linux, Mac OSX or Windows
77 - Python 2.4 or newer (2.3 may still work, not tested):
78     http://www.python.org[]
80 - PyGTK 2.x:
81     http://www.pygtk.org/[]
83 - NumPy (1.0 or newer)
84     http://numpy.scipy.org/[]
86 - MatPlotLib (tested on 0.87):
87     http://matplotlib.sourceforge.net/[]
89 - SciPy (only the module scipy.ndimage.filters):
90     http://www.scipy.org/[]
92 - Python Image Library (PIL):
93     http://www.pythonware.com/products/pil/[]
95 NOTE: Typically Numpy is a prerequisite for Matplotlib, so you may have
96 installed it in bundle with Matplotlib.
98 NOTE: The Scipy module and the PIL library are a requirement only if you want
99 to run ImageAnalyzer. Plotfile2 does not requires them.
102 Image Analyzer
103 --------------
105 Name::              Image Analyzer
106 Description::       A tool to extract and make measures on scientific images.
109 Description
110 ~~~~~~~~~~~
112 Image Analyzer is a python[0] program written with the purpose to analyze
113 scientific images to extract information such dimensions, and to reveal some
114 subtle features. You can also create and save publication quality figures in a
115 variety of hard-copy formats (using Matplotlib[3]).
117 To execute the program run the file imageanalyzer or imageanalyzer.py. See the
118 software requirement.
121 Image formats supported
122 ~~~~~~~~~~~~~~~~~~~~~~~
124 All format supported by the PIL[4] library, with the following format:
125 - L (Luminance, aka black&white) 8 bit and 14 bit
126 - RBG(A) with 8bit per channel
129 Features
130 ~~~~~~~~
132 The features currently implemented are:
134     - Load, zoom and navigate on any RBG(A) or L (Luminance, aka black&white)
135       images.
136     - The possibility to choose one of the following 17 interpolation algorithms:
137           Bessel, Bicubic, Bilinear, Blackman, Catrom, Gaussian, Hamming,
138           Hanning, Hermite, Kaiser, Lanczos, Mitchell, Nearest, Quadric, Sinc,
139           Spline16, Spline36.
140       The default one is Nearest which is, in a way, "absence of interpolation".
141     - Select one of the 14 color-maps (only for L images)
142     - Select a dynamic range either numerically and graphically through an
143       histogram of the image (only for L images).
144     - Grid on/off, black/white (to match various color-maps).
145     - Calculate the distance between two points with the option to set the pixel
146       dimension for the image (x and y separately).
147     - Plot the pixel-precise profile of an arbitrary number of sections of the
148       image (only for L images).
151 Plotfile2
152 ---------
154 Name::              Plotfile2
155 Description::       A tool plot 1D data series.
158 Description
159 ~~~~~~~~~~~
161 Plotfile2 is is a python[0] program written with the purpose to quick plot data
162 series stored in standard ascii text files. Multiple data series can be plotted,
163 compared and the resulting plot can be saved in a variety of image file formats
164 with a customizable size and resolution. This feature come particularly handy
165 if you want to embed your plot in a document and you what size the final image
166 will have.
168 Plotfile2 is written using the GTK toolkit[1] and embeds Matplotlib[2] plot
169 facility.
171 To execute the program, enter the Plotfile2 dir and type "python plotfile2.py".
173 See also the software requirements above.
176 Features
177 ~~~~~~~~
179 At the moment Plotfile2 can:
181     - Load one or more data series from a two column (space separated) ascii
182       text file.
183     - Change the X and Y axis range
184     - Change the X and Y scale (linear or log)
185     - Toggle the grid
186     - Customize the plot showing points, lines or both (more advanced
187       customization is in development)
188     - Set the plot title and axis labels
189     - Set the figure size (both in inches or in cm) and resolution (in dpi).
190       This is useful to export a plot to be included in a document with a know
191       size.
192     - Zoom, un-zoom and pan the plot.
193     - Save the plot in a multitude of image formats (png, jpeg, eps, pdf, ...
194       all Matplotlib supported formats)
197 Plotfile2 Roadmap
198 ~~~~~~~~~~~~~~~~~
200 - Possibility to customize plot line style, line color, line width, marker
201   color, marker size, marker type for each series.
202 - Possibility to use spline interpolation (with various orders), and
203   exponential-spline interpolation.
206 Plotfile2 Known Problems
207 ~~~~~~~~~~~~~~~~~~~~~~~~
208 - When you change figure size and resolution through the proper dialog, the
209   main window may show a scrambled plot (or only an corner of the entire plot).
210   This is only a visualization issue. Therefore, if you save the file (without
211   resizing the window!) you will obtain the image file with the correct size
212   and resolution ready to be included in your documents.
214 NOTE: If you have any suggestion to solve this problem please contact mailto:
215 tritemio@gmail.com[me] via mail.
218 Links
219 -----
221 1. *Python*: a dynamic object-oriented programming language.
223     * http://www.python.org[]
226 2. *Numpy*: The fundamental package needed for numerical computing with Python.
227     It is the successor (and unifier) of all the old projects (Numeric and
228     Numarray) for python numerical computing.
230     * http://numpy.scipy.org/[]
233 3. *SciPy*: Many modules that were not specific to Numpy are gathered under the
234     broader project SciPy:
236     * http://numpy.scipy.org/[]
239 4. *MatPlotLib*: A python 2D plotting library which produces publication quality
240     figures in a variety of hard-copy formats and interactive environments
241     across platforms.
243     * http://matplotlib.sourceforge.net/[]
246 5. *Python Imaging Library* (PIL).
248     * http://www.pythonware.com/products/pil/[]
252 ***********************
253 The html version of this README was generated from the ASCII file with:
255 ---------
256 $ asciidoc -a icons -a badges README
257 ---------
258 ***********************