Saturday, March 24, 2007

In Search of PixMod Bulletin Board

I'm currently testing driving forumsdot.com

http://pixmod.forumsdot.com

I'm not immediately impressed with it. I'll keep looking to see if I can find something better.

Backwards Compatible

I realized that as new versions of PixMod came out it could break the functionality with older modules so I decided to build backwards compatibility into PixMod.

The XML image file contains the version number. If a version 1 module gets a version 2 xml file it will display a warning and continue. The warning displays what version was passed and what version was expected. If it works, great! If not, then you can specify the version number when calling PixMod and it will generate that version XML file for that module.

You can see the header in the XML file contains tag.

http://pixmod.wikispaces.com/Version1.0+XML+Image

The parameters for version 2.0 lets you specify the version number for each module.

http://pixmod.wikispaces.com/Version2.0+Parameters

PixMod is not forward compatible. There is no way for version 1 PixMod to know what the XML file format is for version 2 is. So if you try to use a version 2 module with PixMod version 1 you will simply have to upgrade if it does not work.

Again, the module will check to see the version number and report a warning if it does not match their own version number but it will continue because it might just work.

Batch Files

Need to process multiple images, use multiple modules, pass parameters to modules?

Use batch files!

http://pixmod.wikispaces.com/Version1.0+BatchFiles

This was going to be built-in features to PixMod called FileList, CommandList and Parameter passing but I realized we can already do this via the operating system.

Unix and Linux also have "batch files" so when we port to them, that functionality will still be there.

Difference between versions

Version 1.0 has been released and I'm planning versions 2.0, 3.0 and 4.0

http://pixmod.wikispaces.com/Versions

Saturday, March 17, 2007

Sample Module Code: Grey Scale

If you were writing a module in C++ that converts an image to grey scale, this is the only code you would need to write.
















Sample Module Code: Negative

If you were writing a module in C++ that converts an image to its negative, this is the only code you would need to write.



Welcome to PixMod

PixMod is a program that allows your average programmer to easily create image manipulation software in any language.

The first version is a command-line app written for Windows but the plan is to port it to Unix and Linux so you can also run it on Apple OS X.

The front-end is written in C++ and uses IronStone to read/write different graphic file formats like bmp, jpeg, gif, tif, etc. IronStone also has many built-in image manipulation functionality PixMod can use.

PixMod uses the file system to pass the image between the front-end and modules. It uses an XML file format but the pixel data is binary stored as Red, Green, Blue byte triplets.

This blog follows the development of PixMod.

For more info see

http://pixmod.wikispaces.com/
http://www.patcoston.com/daymoon/pixmod.aspx