Photo grouping heuristic by time



I have been participating in a school project to design and write a
piece of software in our open-ended "Software Engineering" course. The
project in question is, like F-spot, a photo organization/management app
that relies on file-stored metadata.  

In the course of doing so, we have written some features that may be
useful for f-spot. The one personally wrote, and would like to see live
on the non-Windows side of the fence, is an algorithm to group pictures
of similar dates.  The user is permitted to control what "similar" means
via a slider.  The purpose is that disorganized pictures can be quickly
broken down into convenient groups that can then have metadata applied
en masse, since most people don't have metadata to begin with and are
lazy.

The code in question relies on little more than basic data structures in
System.Collections and the use of Array.Sort, so I don't think
portability from MS .NET 1.1 to Mono .NET should be an issue.  The only
hard requirement for information required from the application is an
object that supplies me with a DateTime for which the picture was taken.

If there is any interest in adopting such a piece of code for F-spot,
let me know so I can clean up the source code a bit, annotate it with
copyright (I'm about to leave college, so a tiny bit of advertising
wouldn't hurt), and hand it over.  If you have access to a Windows
machine with .NET 2.0 (we switched over, so other parts of the project
do depend on the newer CLR) you can give this thing a whirl and see if
you feel it is useful.  So far reactions have been very positive, and it
guesses quite well. 

I was told a few weeks back after I had written this that in fact Apple
implemented something functionally similar, which they call "stacking"
in some product of theirs, which made me sad that I was no longer
unique, but the price of my code is right ;).  

As for size: the code is about 700 lines long, including curly braces
and comments.

df




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