Saturday, May 28, 2005

Stuck with computations that dont fit

Its been good progress lately. I have implemented most of the code that was required to open multiple images. Spent some time trying to implement the multiple file open dialog in MFC. It was a pain. There are different implementations on the web, such as the ones where they extend the CDocManager class, and write their own methods.

However, I came across a much simpler version at: click here and implemented that. However, it uses a CStringList to store the filenames. This seems to be limited in terms of the file paths it can store. A reader posted that it can store at an average 40 files, depending on the file name. An alternative solution to this is using TCHAR. I haven't implemented that yet. So my multiple file select dialog is still limited in functionality.

I am able to read pixels off multiple images, which was a goal i had set for the weekend. I think i have achieved that goal. I also created a GaussianModeler class, that creates a Single Gaussian distribution out of a list of Red/Blue/Green colors. So a single gaussian model for each of the color channels. The constructor reads off from a vector, which i also spent some time implementing. It was a tough time figuring, how to iterate through a vector given that you only have a pointer to the vector - you use an iterator.

Right now, i am stuck trying to accomodate the numbers that arise in the computations that my program performs. I require data types that fit in some 20-30 digits. the maximum that an unsigned long int can hold is 0 to 4,294,967,295. After asking haseeb, he pointed out to me a few unlimited precision arithmetic math libraries that allow unlimited digits.

No comments: