I just uploaded Lire 0.9.3 to the all new Google Code page. This is the first version with full support for Lucene 4.0. Run time and memory performance are comparable to the version using Lucene 3.6. I’ve made several improvements in terms of speed and memory consumption along the way, mostly within the CEDD feature. Also I’ve added two new features:
JointHistogram – a 64 bit RGB color histogram joined with pixel rank in the 8-neighborhood, normalized with max-norm, quantized to [0,127], and JSD for a distance function
Opponent Histogram – a 64 bit histogram utilizing the opponent color space, normalized with max-norm, quantized to [0,127], and JSD for a distance function
Both features are fast in extraction (the second one naturally being faster as it does not investigate the neighborhood) and yield nice, visually very similar results in search. See also the image below showing 4 queries, each with the new features. The first one of a pair is always based on JointHistogram, the second is based on the OpponentHistogram (click ko see full size).
I also changed the Histogram interface to double as the double type is so much faster than float in 64 bit Oracle Java 7 VM. Major bug fix was in the JSD dissimilarity function. So many histograms now turned to use JSD instead of L1, depending on whether they performed better in the SIMPLIcity data set (see TestWang.java in the sources).
Final addition is the Lire-SimpleApplication, which provides two classes for indexing and search with CEDD, ready to compile with all libraries and an Ant build file. This may — hopefully — help those that still seek Java enlightenment
Finally this just leaves to say to all of you: Merry Christmas and a Happy New Year!
Although I hate this posts … out of necessity I have to say it: LIRe and Caliph & Emir are open source software licensed under GPL. This is good on the one hand as it is free and will stay so, but it is bad in a way that the integration of sources and binaries of LIRe and Caliph & Emir are bound to certain restrictions. Note that it was not my decision to put the whole thing under GPL, it was necessary to get all involved parties to “freeing” the software.
The restrictions are – boldly stated: if you use Caliph, Emir, Lire or any source out of these projects, then your project has to be GPL too … and of course therefore open source.
A second issue is citations: While the software and its source is free to use it’d be great to be cited in research papers and articles that use my software. Such citations are highly appreciated as I’m a researcher and citations is one of many criteria to measure the contributions of an individual to research.
So we kindly ask you to refer the following paper in any publication mentioning Lire:
Lux Mathias, Savvas A. Chatzichristofis. Lire: Lucene Image Retrieval – An Extensible Java CBIR Library. In proceedings of the 16th ACM International Conference on Multimedia, pp. 1085-1088, Vancouver, Canada, 2008
Although its quite some time ago that I got the acceptance mail I forgot to blog the good news: Lire (Lucene Image Retrieval) has been acccepted to be presented at the ACM Multimedia within the Open Source Contest track. As it is a contest I assume we have chances to win something?
I recently found myself in a scenario, where I tried to figure out how implementation clusters have been implicitly created within a group of students. All of them were given a task (with 4 sub tasks) for a whole semester. Everyone was meant to do the task alone, but collaboration was allowed. However I needed to know who helped whom and – of course – who helped whom with source code.
A colleague had a similar problem and he pointed me to PMD CPD (= PMD Copy & Paste Detector) . This tool works lightning fast and has a GUI Also its open source -> respect!
I’m still having this strange idea to use QT Jambi one day for a Java project of mine Jambi is a pack of Java bindings for the QT framework. Therefore one can use the QT GUI classes from within Java and need not to rely on the Swing, AWT or SWT toolkit. As it maps to native code it is also expected to be faster than Swing or AWT. Like QT it can be used for GPL based open source development fro free.
While the demos look fine I had some doubts regarding the applicability for deployment. Jambi definitely relies on the QT libraries, which – not surprisingly – depend on the target platform. So different pre compiled libraries have to be included for different platforms. For the open source windows edition the whole pack has 26.4 MB (compressed < 6 MB), which is not more but a reasonable addition compared to the size of a standard JRE (compressed < 20 MB). A minimal set for using the GUI (core, gui and mingw) has about 17.3 MB.
So my conclusion: It’s definitely usable. While you cannot create QT applets with Java, web start is possible. However if in a specific scenario – especially web start – size matters then you need think about compression (e.g. with jars).
Besides the two already existing games (GuessWhat and Soundmachine, more information here) I added a new one called SoundVis. The main idea is to animate a kid to make sounds by for instance clapping or yelling. The louder the sound the bigger the blue circle in the center gets. While this sounds trivial it is great fun Note that the microphone has to be functional. A simple test is included in the start screen of SoundVis.
Find the new package (including source, licensed under GPL) here. Use 7-zip to unzip them. Launchers (.exe files) for windows are included. Linux users might peek at the included batch files to get a clue how to start the games.