Other informations
Ivolution was created as a pet project, to help a friend currently travelling around the world (Warning, french inside). It is still in early development, but pretty much already achieves what it was created for !
License
The project is under the simplified BSD license. So here are the rules :
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the organization nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL
[Here is where you can learn more about this license]http://www.linfo.org/bsdlicense.html).
The important thing to note is that I can not be taken responsible for any problem you might encounter (but I'd be glad to help you solve them if you have some). I never experienced any problem using Ivolution (nor all my users), but you are advised to make a copy of the images your are about to process first.
Technology used
To create this project, I used a lot of different tools that are going to be listed here.
- The whole project is written in Python (2.7). It allows rapid prototyping, has a, Python and huge amount of libraries available and also has the advantage to be portable (Windows, Linux, Web development, . . . ). I know I won´t be limited in the future by using Python.
- All the image processing is performed using the excellent OpenCV library, through its Python bindings. If you have to develop image processing algorithms quickly and efficiently, Python and OpenCV are the tools you want. I used the OpenCV 2.4 version, to be compatible with the current package of Ubuntu.
- I started developing the GUI in GTK+ (here is a picture of what it looked like), but finally switched to WxPython. GTK+ is nice for Linux environments but made my software OS dependant, which I didn´t want.
- I used py2exe combined to NSIS in order to create proper Windows executables. Both are simple to use, even though you may something have to dig into 3 years old forum posts to find the solution to your problems. I´d definitely use them again if needed in future projects.
- In order to automate everything I used ant. I love ant because you can do pretty much everything you want with it, from compiling to move folder back and forth or even prepare coffee. Coming from the linux world, ant is a must if you want to save time.
- Finally, this whole website was created using Pelican. I was searching for an Octopress equivalent, but written in Python. I found Pelican and stick with it since them. The documentation is really complete and you can start working in minutes. Plus it was created by a french man!
That´s all for now folks. If you have other questions, just ask ;)
About the developer
My name is Julien Lengrand-Lambert, and I am as french software engineer currently living in the Netherlands. You can learn more about me (and the development of Ivolution) on my website, or on my G+ page.
To follow my projects real time, you can also watch me on GitHub.
For Ivolution related matters, the official email address is ivolution.app@gmail.com, but you can also mail me personally using ju.lien@leng.rand.fr (without the dots in julien and lengrand :)).
Acknowledgements
the following is a list of persons or ressources that helped me developing Ivolution :
- As a starter for the application, I used an excellent face detection example from Japskua.
- I use Gene Cash's exif library to extract information from EXIF metadata contained in the images
- The current logo of Ivolution comes from a picture by Luc Viatour and taken from Wikipedia.
- Ivolution was developed based on an original idea from Axel Catoire, who is currently travelling around the world.