|
Altaxo on

Users
Screenshots
Developers
Project Home
Project admin
Dirk Lellinger
Downloads
Altaxo 0.54 installer file
Documentation
Altaxo
class reference (Core+Base)
Mathematical
core class reference
Other projects from the author
Syncoco
synchronization by
transfer medium
|
Altaxo
I wrote Altaxo as an effort to learn C#. The best way to do
that
is to write a nontrivial program in that language. For a long time
I searched for a free Alternative to plotting
programs like MathSoft Axum® or Microcal
Origin®. Of course there is Gnuplot, but it's
command line centric. So in 2002 I decided to learn C# by writing a
plotting program.
02. February 2007 : Altaxo 0.54 released!
This version is based on SharpDevelop 2.1 (see the SharpDevelop
project), it has the GUI of SharpDevelop, including Help browser,
docking pads, and tabbed windows.
This version is a significant update. The drawing logic has been
completely rewritten to allow other coordinate systems, for instance
polar coordinates. The grouping logic of plot items also has been renewed.
This allows for other plot styles, for instance column chart plot styles
(and bar chart too - thanks to the updated coordinate system),
stacked
bar charts or relative bar charts and waterfall diagrams. An
error bar
style is now included too. Other new stuff (from version 0.53 to 0.54):
The user interface
for nonlinear fitting now supports predefined fitting functions (defined in the
program - not changeable), user defined permanent fitting functions
(stored in the users application directory) and document fitting
functions (stored directly in the document). The GUI now allows to
configure nearly all options of a pen or brush. Thus a lot of new
possibilities to style your graph have been created.
Attention: This version of Altaxo needs the .NET framework 2.0 or 3.0. See
"Installation" below for details.
Features in version 0.54
GUI
- Altaxo has the GUI of SharpDevelop
and as such, it features pads and views, including an internal help
view.
- Worksheet Views (as many tables as you want)
- Support for a huge number of columns (I tested it with a
hundred thousand)
- Property columns (this are "horizontal" columns) that hold
meta-data for the columns (for instance column labels, column
units, or numbers)
- Simple dragging for change of column width
- Selecting rows, columns and property columns, even
non-contiguous regions
- Copy and paste of selected areas, if the region does not
match,
the transposed region will be pasted in (if this matches
better)
- Renaming of columns / worksheets /
- Project explorer shows all graphs and tables
- Graph and Worksheet views can be closed without removing
the
underlying graph / table (they can be opened again using the
project explorer)
- Output text pane to show fitting results and messages. Also
quite usefull when debugging worksheet scripts
- File pane for browsing the file system and direcly open or
import files.
Plotting
- Line and scatter plots (and both combined) with a lot of
options, including fill styles and drop styles.
- Label style (labels can either be attached to the
data point, or to one of the axes)
- Column charts and bar charts, including stacked charts and
percentage charts
- Support for different layers. Layers can be rotated,
scaled,
and linked to other layers.
- Support for different coordinate systems. Currently implemented is
2D cartesic and 2D polar coordinate systems. 3D cartesic is in
experimental state.
- Support for graphics elements (only the text element can be
edited and created by menu; image, line, rectangle elements are
supported by the library)
- Density images, i.e. visualization of 2-dim. meshed data, currently
only in cartesic coordinates with linear axes.
Input / output
- ASCII import with automatic structure and number format
recognition
- ASCII export (tab separated)
- Picture import (as brightness values)
- Galactic® SPC file import (multiple files selectable)
- Galactic® SPC file export wizard
- Import of Origin .OPJ files (only worksheet data), although not
toroughly tested.
- Export of graphs as WMF (Windows Metafile)
- Export of partial least squares (PLS) calibration files
(XML
format)
- The Altaxo document is now stored as ZIP-file. The
worksheets
and graphs are stored in XML file format inside of the ZIP-file.
Support for versioning.
Data analysis / data processing
- Complex number library (thanks to the Exocortexdsp
project)
- Growing collection of special functions (Bessel related
functions, Gamma related function, Error functions, spherical
functions, scientific functions (most of them are C# translations
of Berndt Gammel's C++ Matpack
library)
- Random number generators, probability distributions.
- Interpolation functions: polynomial interpolation, rational
interpolation, cubic splines and and and...
- Polynomial fitting
- Fourier transformation code (FFT algorithm in 1 or 2
dimensions, 1 dimensional FFT of arbitrary length)
- Chemometric methods, like partial least squares analysis (PLS), and principal
component
regression (PCR)
- Matrix operations (some are from Lutz Roeder's mapack
library)
- Statistics (column statistics, row statistics)
- Non-linear fitting. Multiple fit functions can be
simultaneously fitted. Parameters can be shared between multiple
fitting functions.
Scripting / programming
- Column scripts, worksheet scripts, function scripts, fit
function scripts and more.
- Script language is C# - you can use the hole bunch of
classes
of the .NET framework and all the classes of Altaxo itself!
- Script execution is very fast since the scripts are
compiled.
- All scripts with syntax highlighting and code
completion feature. You will see the documentation summary of the
function/class.
- Help pane with Altaxo class reference
- Addin support (addins are DLLs that are linked to the
program,
see the
SharpDevelop project)
Planned features for the next version (0.55)
- Better support for density images.
- Addition of some data analysis functions.
- More built-in non-linear fitting functions.
- Maybe I will go to 3D, but up to now I'm not sure what
framework to use for it (OpenGL, DirectX, WPF). Any hints are welcome.
Developers, Testers, Doc Writers Needed!
Help by other developers is greatly appreciated!
Help is especially welcome in the following areas:
- Mathematics: to implement the statistical functions, linear
and
non-linear curve fits, and special mathematical functions
- Help system: since the column scripts can use all public
classes and objects from the program, a good documentation of these
classes is absolutely necessary
- Help system: to write an user's guide
Installation
- Attention: This version of Altaxo (0.54) needs the
version 2.0 or 3.0 of the .NET framework!
- For those who have already installed the .NET runtime 2.0 or 3.0 or
use Windows Vista:
just
download the Setup.msi file and double-click it! The installer will
do the job then!
- For those who have not already installed the .NET runtime:
install the .NET runtime first (preferably now version 3.0). You only need the redistributable,
it is available in different languages. You can download it from
Microsoft
here,
it is around 33MB). After installation of the .NET framework 3.0
redistributable, download Setup.msi and simply double-click on
it.
Using Altaxo
I actually not have the time to write a user's guide. Help on
that is greatly appreciated (see above). If you want to have
an overview, which classes exists in Altaxo and if they may be
usefull for you, see the combined (core+base) Altaxo class reference
Support
Altaxo is free software! Altaxo is an Open Source project,
that
is covered under the GNU
Public License. As
such, your main form of support for Altaxo will be through
subscription to the Altaxo mailing
list. In addition, SourceForge
has bug tracking
capabilities, so please report any bugs
here. Wish list items will also be considered, but I make
absolutely no promises.
Localization
Altaxo was initially written with an english user interface.
The
code (the class names and the comments) is also in english. This is
especially important since you can use the classes in your own
column and worksheet scripts.
So far no plans exist to localize Altaxo to other languages.
Due
to the nice localization support of the SharpDevelop project used
for the GUI, it should be possible to localize Altaxo for other
languages.
|