nomacs Image Lounge is a free image viewer for windows, linux and mac, which is licensed under the GNU General Public License v3. nomacs is small, fast and able to handle the most common image formats including RAW images. Additionally it is possible to synchronize multiple viewers. Simple image editing tasks include image conversion, resizing and cropping. The software is written in C++ and uses Qt which allows for a platform independent user interface.
nomacs is applying for Google Summer of Code 2013, as a part of the Computational Science and Engineering at TU Wien team. Please contact us, if you want to apply for any idea below soc2013@iue.tuwien.ac.at
Puzzle
If you are interested in applying for GSoC [nomacs] you can improve your chances by solving our puzzle. The puzzle is to check-out nomacs source code from our git repository (master branch), and compile it on your system using cmake and your favorite IDE/compiler. Then, you should choose a bug that is reported in our bug tracker and send us your patch that fixes it. The bugs are labeled for GSoC (1=easy, 2=medium, … 5=don’t fix that) in the bug tracker. Choose an easy one as the puzzle is rather about getting acquainted with nomacs code and git than to do our work.
Plug-in System
Description
The goal of this project is to design a plug-in system for nomacs. The basic idea of nomacs was to develop a fast and stable image viewer with synchronizing capabilities. On user requests features like supporting HDR images, RAW images, etc. have been implemented to the basic viewer. The plug-in system should allow to extend nomacs with such features while keeping the basic image viewer small. The student should define the interface of the plug-in system and write a small demo plug-in to create fake miniatures of images. A Matlab sample code for creating fake miniatures already exists.
Update 18.04.2013: The Matlab sample code for fake miniatures can be downloaded here
Benefit for the Student
The student will deepen knowledge in software and plug-in architecture. In addition, basic knowledge of image processing will be gained.
Benefit for the Project
The plug-in system will keep a basic image viewer, whereas the user can extend functionalities on his demand.
Requirements
Good skills in C++, Experience in writing plug-ins or designing a plug-in system.
Mentors
Batch Processing
Description
Currently, nomacs supports resizing images, saving them in a different image format, and image manipulations. However, these operations can only be applied on a single image. A batch processing mode for nomacs has often been requested. The task is to implement a GUI for batch processing where users can apply these operations for multiple images. Additional a batch editing of exif information (e.g. add an offset to the creation time of the image) should also be possible. Since nomacs currently supports only the displaying of exif tags, the possibility for editing these tags has also to be implemented.
Benefit for the Student
The student will gain experience in Qt GUI development. Moreover, basic knowledge of libraries such as Exiv2 will be developed.
Benefit for the Project
File handling of nomacs will be improved. Thus, nomacs can be used to manage large amounts of image data
Requirements
Good skills in object-oriented C++ and Qt are required.
Mentors
Crop Tools
Description
nomacs basically supports cropping. This includes a simple-to-edit rectangle that allows for rotating/cropping the current image. We want to improve the user experience by adding a crop toolbar with tools such as zoom/crop and units preview. In addition a Hough Transform based snapping to lines present in an image will be implemented that allows for an exact cropping of lines. Cropping and rotating images may result in image regions that are not defined. Currently, these image regions are not filled at all (transparent) or they are filled with a default color. Filling these regions with parts that are replicated from the original image improves the visual appearance. The student should investigate state-of-the-art texture synthesis methods such as Kwatra et al. for a best possible visual appearance of cropped images.
Benefit for the Student
The student will gain experience in state-of-the-art texture synthesis algorithms and computer vision. Moreover, basic knowledge of image processing libraries such as OpenCV will be developed.
Benefit for the Project
The user experience of the crop tool will be improved. Additionally, texture synthesis improves the usability of the current crop functionality.
Requirements
Good skills in object-oriented C++ are required accompanied by basic experience in computer vision. Qt or OpenCV knowledge would be beneficial.
Mentors
we had some discussions on that feature request (since we are not too sure how far to go with a viewer -> we don’t want turn nomacs into MS Paint : ) however, the plugin system is the perfect basis for such requests, as it allows us to add functionality without including it in the core code.
what do you think about a paint tool on plugin basis?
[EDIT] sorry, I understood you wrong… you already suggested a micro paint plugin : ) – so yes, that’s a good plan…
regards
markus
please plan tiny painting plugin too just like irfanview, it is sometimes really needed and there are no good pure qt based simple paint programs.