Digikam/GSoC2013

From KDE Community Wiki

digiKam Google Summer of Code 2013 Proposals

Auto Crop Tool

  • Resume : In some users case relevant of photo workflow, as Panorama assembly for example, digiKam need an algorithm to detect black hole borders of image and crop it automatically, respecting the most largest suitable image area. No adjustment must be require by end user. As JPEG is the most used image format used in photography and as JPEG library support a loss-less crop feature, a specific way must be implemented to process JPEG crop in batch without to lose image quality.
  • Dependencies : Batch Queue Manager, Image Editor.
  • Bugzilla entries : 267436, 204135
  • Skill : C/C++, Qt, Imagery
  • Difficulty : medium
  • Lead Mentor : ???
  • Alternative Mentor : ???

Tags Manager

  • Resume : Moving tags around in the small tags views from right or left digiKam sidebar can be fastidious, especially with a huge collection of items. A new dedicated windows must be created to manage all tags and relevant properties hosted by digiKam database. This tool must support drag and drop, multiple selections, copy/move operations, properties edition and duplication.
  • Dependencies : digiKam core implementation
  • Bugzilla entries : 263299
  • Skill : C/C++, Qt/KDE, GUI
  • Difficulty : medium
  • Lead Mentor  : ???
  • Alternative Mentor : ???

Face Recognition

  • Resume : digiKam already include face detection feature. The goal of this project is to add face recognition feature in digikam and will make it more user-friendly. The target is to implement a efficient face recognition algorithm and a nice user interface for the user so that they get a nice feeling using it and the user can train the system with their interaction.
  • Bugzilla entries : 271679, 308642, 291514
  • Dependencies : libkface, digiKam face management core
  • Skill : C/C++, Qt, Imagery, math
  • Difficulty : high
  • Lead Mentor : ???
  • Alternative Mentor : ???

HDR Composer

  • Resume : digiKam already include a tool to make pseudo HDR image through ExpoBlending tool, based on align_image_stack and enfuse programs from Hugin project. This tool is limited to improve a litlle bit exposure latitude of images. It has creativity limitations and cannot reproduce nice HDR images, as Luminance HDR do. The goal of this project is to extend current ExpoBlending tool to add new advanced HDR worklflow. Also, some GUI improvment need to be done to be able to process more that on set of bracketing shots at the same time.
  • Bugzilla entries : 275364, 273254
  • Dependencies : ExpoBlending tool
  • Skill : C/C++, Qt, Imagery, math
  • Difficulty : high
  • Lead Mentor : ???
  • Alternative Mentor : ???

Cloud Integration Export Plugin

  • Resume : Creating a kipi export plugin for putting the pictures on cloud storage devices like Google Drive, DropBox, Skydrive, etc. Depends on the availability of an open source API. For any cloud storage facility, there are two possibilities :

Either they give an API in a common programming language, which is freely distributed and is easily implementable in our codebase. Or someone else than the service provider has created an open source API. You should be able to see some examples on github or sourceforge. Some service providers want only their API to be used, some dont mind other tool accessing the cloud using OAuth, etc. The student is expected to go through both the options for a particular cloud storage, identify the solution which is best suitable for already existing kipi-plugins framework, i.e. C++ / Qt, and implement it over the summer for atleast two major cloud services Google Drive and Dropbox.

  • Bugzilla entries : 300445
  • Dependencies : APIs from G+, Dropbox, Skydrive tool
  • Skill : C/C++, Qt
  • Difficulty : easy / medium
  • Lead Mentor : ???
  • Alternative Mentor : ???

Port Showfoto thumb-bar to Qt model/view

  • Resume : ThumbBarView is a Qt3Support class based on Q3ScrollView class which will disappear with next Qt5. This class still only used by Showfoto editor. It must be ported to Qt model/view implementation using already existing common classes used in digiKam core.
  • Dependencies : digiKam core, Qt model view
  • Skill : C/C++, Qt, model/view
  • Difficulty : medium
  • Lead Mentor : ???
  • Alternative Mentor : ???

Port image editor Canvas classes to Qt model/view

  • Resume : Image Editor canvas classes are Qt3Support classes based on Q3ScrollView which will disappear with next Qt5. This class is used by digiKam Image editor to render lead editor canvas and some tools canvas as ColorCorrection, CurvesAdjust, LevelAdjust, etc. It must be ported to Qt4 model/view implementation using already existing common classes used in digiKam core.
  • Dependencies : digiKam core, Image Editor, Qt model view
  • Skill : C/C++, Qt, model/view
  • Difficulty : high
  • Lead Mentor : ???
  • Alternative Mentor : ???

Port Greystoration CImg interface to GMic

  • Resume : digiKam include CImg library to be able to use Greystoration algortihm which give nice fix to image based on Vortex theory, as Restoration tool. Since CImg > 3.0.0, Greystoration algorithm have been move in a new library named GMic with a completely different API. The goal of this project is to adapt digiKam Greystoration interface to GMic library.
  • Dependencies : digiKam core
  • Skill : C/C++, math, Qt,
  • Difficulty : high
  • Lead Mentor : ???
  • Alternative Mentor : ???