I'm with the many others who suggest to place your sourcecode on a public open-source management system of some kind. This will date the files appropriately.
However, look at any software patent, the very thing you are trying to prevent, and you will see flow charts of the process or method the patent protects. Source code doesn't really figure into much of anything except to implement the process or method.
Thus, there is one more thing you should consider publishing... the method or process you are implementing in your software. Somewhere you probably have a flow chart of the steps your software takes to classify the graphical data. Maybe its on paper... maybe it's in your head. Wherever it is, you should get it into a flow chart or something similar that describes the method/process so you can publish it along with your code. A good home for this method/process documentation is in the /doc directory next to your source code directory.
I suggest to document the process at several levels. The first should be a very very high level and very broad description of the basic steps you use to classify the graphical data. The next should provide more detail on the intermediate steps involved. Keep adding more flow charts with more detail until you are satisfied you have covered your process or method. By doing the above you have, sort of, defined broad claims on your process/method along with more detailed claims. Of course you aren't going to claim them on your own patent application, but you have effectively made your idea prior art.
Not an attorney am I... just my two cents.