[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Maalam Status



Salam to All !

For those who forgot me (which would be quite normal ;)), I'm the author of these two posts:
http://www.arabeyes.org/archives/developer/2002/July/msg00015.html
http://www.arabeyes.org/archives/developer/2002/September/msg00029.html
I have been quite busy working on my thesis, so forgive me for my silence, but I swear that I'm still active ;)


In my second post I talked about a new project, which now I decided to name Maalam ("coordinate plane" in English or "repère" in French). I have started this program some months ago just to test xlib programming to draw scientific plots. It became now very ambitious and is in a good progress rate.

I'd like to describe the goals of this project and the achieved:

1- Maalam Goals:
----------------
Maalam main goal is to create "Scientific Quality" Plots totally in arabic. By this I mean an arabic interface, and dealing with arabic strings in creating a plot: labels, text, axis labels etc. There are now a lot of features that I want to add to Maalam. The main ones are:
a- Fitting functions.
b- Symbolic computation.
c- 3D plots.
d- Displaying FITS format (which is an astronomical data image format).
e- Many others tiny features...


2- Work achieved:
-----------------
I have to precise that everything that have been done until today was done with (STL) C++ strings and only in English. I have done this in order to test the concept which seems to work ! And for the moment there is no GUI. Everything was tested with an interpreter that understands commands like : plot sin(x) -3.14 3.14


a- 2D plots display: It works correctly, except for some little bugs that can be easily corrected. It is possible to draw any of the C functions, user-definded functions or Data Points from an ASCII file. It is possible to draw multiple plots in one frame, superpose them, configure colors, shapes, zoom, etc etc.

b- Fitting: It is possible to fit Data with any user definded function. The algorithm used is my creation and was done only for the purpose of testing. It may be not efficient (tested only with fits like p0*x+p1) and including another algorithme _may_be_ required. After the fit has converged, it is possible to display the fit and/or the data points etc etc

c- Symbolic computation: I wrote a class that evaluate C-like expressions like 2+3+(5*6)/sin(3.14/2)+x and returns the result (we have to define a value for x). This class works very fine and is used in fitting with user-defined functions. I started then to write a class for pure symbolic computation. Until now I can derive functions. For exemple for the function sin(x)*x, Maalam returns sin(x)+cos(x)*(x). I intend to add a simplification method in this class and integration etc.

d- Displaying FITS image: FITS is an astronomical format used to store data (images). Astronomers deal with it everyday and it may not interest all future Maalam users... However I wanted to include it since it can display any 2D maps (and also because I deal with this format everyday !) Handling FITS is almost finished except for the zoom.

e- The plots created can be dumped in a postscript file. Scientists _love_ ps files, and it is the natural image format to write scientific articles ;)

3- Work to be done:
-------------------
My intention, beside finishing the 5 points cited above, is to create a GUI for Maalam, because using Maalam for the moment is quite rough. I decided to write this GUI with QT. The reasons are: simplicity and time saving (clean c++ code), portability and nice arabic support (accelerators, mirroring). The only problem with QT is the license, but since this project is aimed to be free, so no problem... If you have a better suggestion, please correct me quickly before I go too far in writing the GUI ;)
So now I'm working exclusively on the GUI. I think I will face some issues when adapting some classes to use arabic strings. For example the Symbolic Computations where the variable must be SIN and not x !


-----------------------------------------------
So thank you for reading such a long message. I just wanted to say that I'm not dead yet ;) and give a report on the work achieved.


Nedless to say that I would be very glad and grateful to receive any comments, queries, questions or suggestions from All.

Keep up the good work,

Salam,

Youcef.

_________________________________________________________________
MSN Search, le moteur de recherche qui pense comme vous ! http://search.msn.fr/worldwide.asp