Presentation
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
Additionally, IDIL will be interfaced some system specific libraries and software. At the present, some simple functions controlling the Measurement Computing Digital Acquisition Cards are included, as well as a few macro to export plots to Igor Pro.
A simple example
#include "IDIL.h" using namespace idil; int main(int argc, char * const argv[]) { Array<float> x,y; x=findgen(1000)/100 - 5; y=sin(x); Array<long> w = where(x<=0);
y[w] = -sin(x(w)); plot(x,y,blue); message("Press OK to finish."); return 0; }
This program illustrates the way arrays can be created and manipulated with IDIL.
A single instruction creates the plot windows: