Digikam/GSoC2013: Difference between revisions

From KDE Community Wiki
Line 117: Line 117:
* '''Alternative Mentor:''' ???
* '''Alternative Mentor:''' ???


==== Project: Video metadata support ====
==== Project: Video Metadata Support Improvements ====


* '''Brief explanation:''' All recent digital-still camera devices provide video capture. digiKam must be able to manage these files as it do with images, to catalog and sort items (by date, camera name, and all record conditions). Through Exiv2 shared library improvement done at GoSC 2012, digiKam is now able to manage some video metadata from avi, divx, mkv, WebM, mp4, mov, 3gp, wmv, asf, but it lack some important video format metadata as MPEG and VOB used in video workflow. To improve video files support, video metadata management done in background need to be improved, to patch [http://www.exiv2.org Exiv2 shared library], already used by digiKam for photo metadata handling.
* '''Brief explanation:''' All recent digital-still camera devices provide video capture. digiKam must be able to manage these files as it do with images, to catalog and sort items (by date, camera name, and all record conditions). Through Exiv2 shared library improvement done at GoSC 2012, digiKam is now able to manage some video metadata from avi, divx, mkv, WebM, mp4, mov, 3gp, wmv, asf, but it lack some important video format metadata as MPEG and VOB used in video workflow. To improve video files support, video metadata management done in background need to be improved, to patch [http://www.exiv2.org Exiv2 shared library], already used by digiKam for photo metadata handling.
* '''Bugzilla entries:''' [https://bugs.kde.org/show_bug.cgi?id=164442 164442] and [https://bugs.kde.org/show_bug.cgi?id=229543 229543]
* '''Bugzilla entries:''' [https://bugs.kde.org/show_bug.cgi?id=164442 164442]
*'''Knowledge Prerequisite:''' C++, Qt, video format, metadata
*'''Knowledge Prerequisite:''' C++, Qt, video format, metadata
* '''Expected results:''' Add missing video files support to Exiv2. Patch digiKam advanced search tool to handle video information.
* '''Expected results:''' Add missing video files support to Exiv2. Patch digiKam advanced search tool to handle video information.

Revision as of 08:36, 23 February 2013

Small Projects to Introduce Students

Read face from Picasa metadata to populate digiKam database

Auto-Lens correction tool don't work in BQM

Keyboard Tagging Improvements

  • Patch to review : http://git.reviewboard.kde.org/r/108382/
  • Assigned to : ???
  • Note : author keyboard workflow need to be understood and tested. It miss some menu entries to make shortcuts visible to end users.

Sort Image by Pixel Size and Image Ratio

  • Patch to review : http://git.reviewboard.kde.org/r/108574/
  • Assigned to : Pankaj Kumar
  • Note : this patch is incomplete. It miss something to do in Filter tab from icon view right sidebar, and Advanced Search tool to perform search based on these criteria.

Video Support in Advanced Search Tool

  • Bugzilla entry : https://bugs.kde.org/show_bug.cgi?id=164442
  • Assigned to : ???
  • Note : an initial patch for Advanced Search tool GUI have been posted and must be adapted to last code from git/master. But DB queries builder is not patched and need to be done.

Add OLYMPUS M.14-42mm F3.5-5.6 II R lens support

Auto-Detected Camera are Unsuitable

digiKam Google Summer of Code 2013 Proposals

Auto Crop Tool

  • Brief explanation: 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
  • Knowledge Prerequisite: C/C++, Qt, Imagery
  • Expected results: new editor and batch queue manager tools to crop automatically images
  • Difficulty: medium
  • Lead Mentor: ???
  • Alternative Mentor: Gilles Caulier <caulier dot gilles at gmail dot com>

Tags Manager

  • Brief explanation: 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
  • Knowledge Prerequisite: C/C++, Qt/KDE, GUI
  • Expected results: new window to edit and manage all digiKam tags
  • Difficulty: medium
  • Lead Mentor: Smit Metha <smit dot meh at gmail dot com>
  • Alternative Mentor: Gilles Caulier <caulier dot gilles at gmail dot com>

HDR Composer

  • Brief explanation: 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
  • Knowledge Prerequisite: C/C++, Qt, Imagery, math
  • Expected results: new tool to perform high quality HDR composing
  • Difficulty: high
  • Lead Mentor: ???
  • Alternative Mentor: Gilles Caulier <caulier dot gilles at gmail dot com>

Cloud Integration Export Plugin

  • Brief explanation: 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
  • Knowledge Prerequisite: C/C++, Qt
  • Expected results: new tool to import/export items to Cloud web service
  • Difficulty: easy / medium
  • Lead Mentor: Smit Mehta <smit dot meh at gmail dot com>
  • Alternative Mentor: ???

Port Showfoto thumb-bar to Qt model/view

  • Brief explanation: 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
  • Knowledge Prerequisite: C/C++, Qt, model/view
  • Expected results: implement Showfoto thumb-bar to model/view
  • Difficulty: medium
  • Lead Mentor: Islam Wazery <wazery at ubuntu dot com>
  • Alternative Mentor: ???

Port image editor Canvas classes to Qt model/view

  • Brief explanation: 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
  • Knowledge Prerequisite: C/C++, Qt, model/view
  • Expected results: implement image editor canvas to model/view
  • Difficulty: high
  • Lead Mentor: Islam Wazery <wazery at ubuntu dot com>
  • Alternative Mentor: Gilles Caulier <caulier dot gilles at gmail dot com>

Port Greystoration CImg interface to GMic

  • Brief explanation: 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, Retauration/Inpaint editor tools
  • Knowledge Prerequisite: C/C++, math, Qt,
  • Expected results: port image restoration algorithm from CImg to GMic API
  • Difficulty: high
  • Lead Mentor: Gilles Caulier <caulier dot gilles at gmail dot com>
  • Alternative Mentor: ???

Project: Video Metadata Support Improvements

  • Brief explanation: All recent digital-still camera devices provide video capture. digiKam must be able to manage these files as it do with images, to catalog and sort items (by date, camera name, and all record conditions). Through Exiv2 shared library improvement done at GoSC 2012, digiKam is now able to manage some video metadata from avi, divx, mkv, WebM, mp4, mov, 3gp, wmv, asf, but it lack some important video format metadata as MPEG and VOB used in video workflow. To improve video files support, video metadata management done in background need to be improved, to patch Exiv2 shared library, already used by digiKam for photo metadata handling.
  • Bugzilla entries: 164442
  • Knowledge Prerequisite: C++, Qt, video format, metadata
  • Expected results: Add missing video files support to Exiv2. Patch digiKam advanced search tool to handle video information.
  • Difficulty: high
  • Lead Mentor: Andreas Huggel <ahuggel at gmx dot net>
  • Alternative Mentor: Gilles Caulier <caulier dot gilles at gmail dot com>