IDIL provides an array class for data and image manipulation, a simple plotting device, tools for image display, 3D visualization. A set of function makes it easy to import and save ASCII files, images, etc... IDIL uses several standard and open source libraries to achieve this goal:
- CImg offers an efficient framework for simple and fast display, image IO, some analysis and simple 3D visualisation. [http://cimg.sourceforge.net/]
- GSL, the GNU Scientific Library [http://www.gnu.org/software/gsl/],
- Boost, for the threads (internal) and filesystem manipulation [http://www.boost.org/],
- Portaudio & libsndfile in order to read and play signal from the sound card,
- Coin3D for the 3D visualization with support for 3D acceleration.
A few open-source softwares
Text processing - LaTeX on Windows
MiKTeX is an up-to-date TeX implementation for the Windows operating system.
TeXnicCenter is a feature rich integrated development environment (IDE) for
developing LaTeX-documents on Microsoft Windows (Windows 9x/ME, NT/2000/XP)
freely available under GPL.
Image & Video
The GIMP is the GNU Image Manipulation Program. It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
VirtualDub is a video capture/processing utility for 32-bit Windows platforms (95/98/ME/NT4/2000/XP), licensed under the GNU General Public License (GPL). It lacks the editing power of a general-purpose editor such as Adobe Premiere, but is streamlined for fast linear operations over video. It has batch-processing capabilities for processing large numbers of files and can be extended with third-party video filters. VirtualDub is mainly geared toward processing AVI files, although it can read (not write) MPEG-1 and also handle sets of BMP images.
* The CImg Library is an open source C++ toolkit for image processing. It
provides simple classes and functions to load, save, process and display images
in your own C++ code.
* It is highly portable and fully works on Unix/X11, Windows, MacOS X and FreeBSD operating systems. It should compile on other systems as well (eventually without display capabilities).
* It consists only of a single header file CImg.h that must be included in your C++ program source.
* It contains useful image processing algorithms for image loading/saving, displaying, resizing/rotating, filtering, object drawing (text, lines, faces, curves, ellipses,..), etc...
* Images are instancied by a class able to represent images up to 4-dimension wide (x,y,z,v) (from 1-D scalar signals to 3-D volumes of vector-valued pixels), with template pixel types.
* It depends on a minimal number of libraries : you can compile it only with standard C libraries. No need for exotic libraries and complex dependencies.
* Additional features appear with the use of ImageMagick, libpng or libjpeg: install the ImageMagick package or link your code with libpng and libjpeg to be able to load and save compressed image formats (GIF,BMP,TIF,JPG,PNG,...). Available for any platforms.
GSL : GNU Scientific Library
The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total.
Blitz++ is a C++ class library for scientific computing which provides performance on par with Fortran 77/90. It uses template techniques to achieve high performance. The current versions provide dense arrays and vectors, random number generators, and small vectors and matrices.
Bloodshed Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. It uses Mingw port of GCC (GNU Compiler Collection) as it's compiler. Dev-C++ can also be used in combination with Cygwin or any other GCC based compiler.
Scilab is a scientific software package for numerical computations providing
a powerful open computing environment for engineering and scientific applications.
Developed since 1990 by researchers from INRIA and ENPC, it is now maintained
and developed by Scilab Consortium since its creation in May 2003.
Distributed freely and open source (see the license and the trademark license) via the Internet since 1994, Scilab is currently being used in educational and industrial environments around the world.
Scilab includes hundreds of mathematical functions with the possibility to
add interactively programs from various languages (C, Fortran...). It has sophisticated
data structures (including lists, polynomials, rational functions, linear systems...),
an interpreter and a high level programming language.
Maxima is a descendant of DOE Macsyma, which had its origins in the late 1960s at MIT. It is the only system based on that effort still publicly available and with an active user community, thanks to its open source nature. Macsyma was the first of a new breed of computer algebra systems, leading the way for programs such as Maple and Mathematica. This particular variant of Macsyma was maintained by William Schelter from 1982 until he passed away in 2001. In 1998 he obtained permission to release the source code under GPL. It was his efforts and skill which have made the survival of Maxima possible, and we are very grateful to him for volunteering his time and skill to keep the original Macsyma code alive and well. Since his passing a group of users and developers has formed to keep Maxima alive and kicking. Maxima itself is reasonably feature complete at this stage, with abilities such as symbolic integration, 3D plotting, and an ODE solver, but there is a lot of work yet to be done in terms of bug fixing, cleanup, and documentation. This is not to say there will be no new features, but there is much work to be done before that stage will be reached, and for now new features are not likely to be our focus.
Surface Evolver is an interactive program for the modelling of liquid surfaces shaped by various forces and constraints.