You have chosen to sponsor your bid up to a maximum amount of .
We have an image viewer, which reads in a directory of images, and displays them based upon the “id” tag in an XML file. We require a script, which is able to sort or group images in a source directory, based upon visual similarities (e.g. small, medium, large, thumbnails, fuzzy, higher / lower quality versions of the same image should appear together). This means that after sorting the images in the directory in order, the script will need to modify the “id” value to the new order to display the images.
*** As freelancer will not display tags or XML, an example is attached. I have also put XML tags with speech marks around e.g. “id” ***
Specification (deliverables) of the application tool to be developed:
1. An executable script which asks the user to select:
a. A parent directory of images (it must also be able to scan folder trees (i.e. folders within folders)
b. An XML file, which contains details of every image in the directory. *** EXAMPLE XML FILE IS ATTACHED – as it could not be displayed on the post ***
(Please note: the attached is an example only shows the record of 2 the images. In a real example, the structure will be consistent, however, there will be many more images, and will be more details in each “Image” record, e.g. ““note””, “description” … etc. The tags “picture”, “id” and “hash” will be present in each record)
2. To sort the images in order based upon visual similarity (i.e. grouping similar images together).
The “hash” of each “image” is a unique hash given to each file, please use this when referring to the file, with the name between the “picture” tag as the second sort (in the event two hashes are the same). Any video or non-image files found in the directory must be included at the end.
3. Create a copy of the original XML File with the same name and rename the original XML file to ORIGINALNAME_Old.xml
4. In the new XML file, change the number between the “id” tags to order which the file appears in within the sorted directory
Important accuracy related requirements:
• Must compensate for thumbnail versions, lower quality versions, smaller and larger versions of images etc (i.e. grouping all of these together)
• Must not move or modify the original files
• Corrupt images, un-open able images, videos and other non-image files must be moved to the end
- Splash screen on load appears for 5 seconds “For HurstTrentham use only”, with the ability for us to modify or disable this in the source code
- A desktop executable script with basic onscreen GUI (e.g. select image directory, select XML file, run, results “X image files sorted” etc.)
- Basic GUI preferably created in Eclipse Window Builder or NetBeans
- Must be able to be combined and further developed as part of a larger application
- Must be provided to HurstTrentham with an Application Programming Interface for interaction without needing to use the GUI
- All source code and functions will be plain text and commented
- Must work on Windows
- The freelancer must disclosure which how images are sorted an any techniques used
- Any third-party code must be highlighted, and must be free for commercial usage by HurstTrentham
- All source materials, including a number of actual tests must be included, along with a simple user guide on how to run, and what to expect
- The system must create a log file for each sort with filename as ‘Sort Log’ with date and time
- Must be able to handle all common image files including (JPG, JPEG, BMP, GIF, RAW, EXIF, TIFF, PNG etc)
- The freelancer must collect test data, none will be provided
- Any programming language can be used, as long as it can compiled as an executable, and have the ability to interact, be packaged and controlled by a Java front-end or Java Application
- Must run on Windows, Mac and Linux