Blame README.md

Packit 1f396d
WHAT IS IT
Packit 1f396d
----------
Packit 1f396d
Packit 1f396d
The goal of the Lensfun library is to provide a open source database
Packit 1f396d
of photographic lenses and their characteristics. In the past there
Packit 1f396d
was a effort in this direction (see http://www.epaperpress.com/ptlens/),
Packit 1f396d
but then author decided to take the commercial route and the database
Packit 1f396d
froze at the last public stage. This database was used as the basement
Packit 1f396d
on which Lensfun database grew, thanks to PTLens author which gave his
Packit 1f396d
permission for this, while the code was totally rewritten from scratch
Packit 1f396d
(and the database was converted to a totally new, XML-based format).
Packit 1f396d
Packit 1f396d
The Lensfun library not only provides a way to read the database
Packit 1f396d
and search for specific things in it, but also provides a set of
Packit 1f396d
algorithms for correcting images based on detailed knowledge of
Packit 1f396d
lens properties. Right now Lensfun is designed to correct
Packit 1f396d
distortion, transversal (also known as lateral) chromatic aberrations,
Packit 1f396d
and vignetting.
Packit 1f396d
Packit 1f396d
The interface is defined both using C++ style and plain C.
Packit 1f396d
The C interface is a wrapper around the C++ classes.
Packit 1f396d
Packit 1f396d
Website: http://lensfun.sourceforge.net/  
Packit 1f396d
Sourceforge: http://sourceforge.net/projects/lensfun/  
Packit 1f396d
Packit 1f396d
Packit 1f396d
LICENSE
Packit 1f396d
-------
Packit 1f396d
Packit 1f396d
The libraries which are part of this package are licensed under the terms
Packit 1f396d
of the GNU Lesser General Public License, version 3. Libraries are located
Packit 1f396d
under the subdirectory libs/ of the source package. A copy of the license
Packit 1f396d
is available in the file lgpl-3.0.txt which can be found in the source
Packit 1f396d
archive. You can read it here: http://www.gnu.org/licenses/lgpl-3.0.html
Packit 1f396d
Packit 1f396d
The documentation files, including those autogenerated with Doxygen,
Packit 1f396d
are covered as well by GNU Lesser General Public License, version 3.
Packit 1f396d
Packit 1f396d
Applications which are part of this package are licensed under the terms
Packit 1f396d
of the GNU General Public License, version 3. Applications are located
Packit 1f396d
under the apps/ subdirectory of the source package. A copy of the license
Packit 1f396d
can be found in the file gpl-3.0.txt which can be found in the source
Packit 1f396d
archive. You can read it here: http://www.gnu.org/licenses/gpl-3.0.html
Packit 1f396d
Packit 1f396d
Also the build system (the contents of the build/ subdirectory plus the
Packit 1f396d
ac.py file) is licensed under GPL v3.
Packit 1f396d
Packit 1f396d
Test programs and tools are put into public domain, unless explicitly
Packit 1f396d
specified otherwise in the header of the source files. Test programs
Packit 1f396d
are located under the tests/ subdirectory, and tools are located in tools/.
Packit 1f396d
Packit 1f396d
The lens database is licensed under the Creative Commons Attribution-Share
Packit 1f396d
Alike 3.0 license. The database is located under the data/ subdirectory
Packit 1f396d
of the source package. You can read it here:
Packit 1f396d
http://creativecommons.org/licenses/by-sa/
Packit 1f396d
Packit 1f396d
Packit 1f396d
BUILD INSTRUCTIONS
Packit 1f396d
------------------
Packit 1f396d
Packit 1f396d
The build system is based on CMake (http://www.cmake.org/). In order to 
Packit 1f396d
successfully configure and build the project the following tools are more 
Packit 1f396d
or less required:
Packit 1f396d
Packit 1f396d
 - CMake 
Packit 1f396d
 - GNU Make 
Packit 1f396d
 - Doxygen in order to generate the library documentation.
Packit 1f396d
 - GLib 2.0 and later which is used for low-level I/O and XML parsing.
Packit 1f396d
 - libpng is required to build and run test programs.
Packit 1f396d
Packit 1f396d
First enter the Lensfun root folder and create a build directory.
Packit 1f396d
Packit 1f396d
    cd lensfun
Packit 1f396d
    mkdir cmake_build
Packit 1f396d
Packit 1f396d
Enter the build directory and run CMake to configure your sources and create 
Packit 1f396d
the build files
Packit 1f396d
Packit 1f396d
    cd cmake_build
Packit 1f396d
    cmake ../
Packit 1f396d
    
Packit 1f396d
Run make/make install as usual
Packit 1f396d
    
Packit 1f396d
    make
Packit 1f396d
    make install
Packit 1f396d
Packit 1f396d
The following CMake options can be set (defaults are upper case):
Packit 1f396d
Packit 1f396d
    -DCMAKE_BUILD_TYPE=DEBUG|Release        select debug or release build mode
Packit 1f396d
    -DINSTALL_HELPER_SCRIPTS=off|ON         install various helper scripts
Packit 1f396d
    -DCMAKE_INSTALL_PREFIX=/USR/LOCAL       install prefix 
Packit 1f396d
Packit 1f396d
    -DBUILD_STATIC=OFF|on       build static or shared lib
Packit 1f396d
    -DBUILD_TESTS=OFF|on        build also the test programs
Packit 1f396d
    -DBUILD_LENSTOOL=OFF|on     build Lensfun reference implementation
Packit 1f396d
    -DBUILD_FOR_SSE=off|ON      build with SSE optimisation
Packit 1f396d
    -DBUILD_FOR_SSE2=off|ON     build with SSE2 optimisaiton
Packit 1f396d
    -DBUILD_DOC=OFF|on          build documentation
Packit 1f396d
Packit 1f396d
If you want to have more detailed output when running 'make' you can simply add 
Packit 1f396d
'VERBOSE=1' to the make command line.
Packit 1f396d
Packit 1f396d
You can also build packages with cmake:
Packit 1f396d
Packit 1f396d
    Add -DCPACK_BINARY_DEB:BOOL=ON or -DCPACK_BINARY_RPM:BOOL=ON to the
Packit 1f396d
    command line and then "make package". (But this is not extensively tested.)
Packit 1f396d
Packit 1f396d
Please note that running cmake again does NOT reset all options to default or 
Packit 1f396d
reconfigure all variables. To restart with a clean configuration delete all files
Packit 1f396d
in your cmake_build folder.
Packit 1f396d
Packit 1f396d
If you prefer setting the configuration with a GUI or want to get an extensive 
Packit 1f396d
overview of all available settings and cache values run cmake-gui.
Packit 1f396d
Packit 1f396d
Packit 1f396d
DOCUMENTATION
Packit 1f396d
-------------
Packit 1f396d
Packit 1f396d
The end-user documentation for the library can be built by issuing the
Packit 1f396d
command:
Packit 1f396d
Packit 1f396d
    make docs
Packit 1f396d
Packit 1f396d
Also you can read it online at any time by pointing your browser to:
Packit 1f396d
Packit 1f396d
	http://lensfun.sourceforge.net/manual/
Packit 1f396d
Packit 1f396d
The documentation on the site is updated every night from Git, so it always
Packit 1f396d
contains the latest info on the library.
Packit 1f396d
Packit 1f396d
Packit 1f396d
CREDITS
Packit 1f396d
-------
Packit 1f396d
Packit 1f396d
Here goes a full list of people who have contributed to this library:
Packit 1f396d
Packit 1f396d
CODE:
Packit 1f396d
  > Andrew Zabolotny <zap@homelink.ru>
Packit 1f396d
 
Packit 1f396d
LENS DATA:
Packit 1f396d
  > Tom Niemann: original open-source ptlens database.
Packit 1f396d
Packit 1f396d
THANKS:
Packit 1f396d
  > Pablo d'Angelo for the idea of a open-source lens database.
Packit 1f396d
  > 
Packit 1f396d
  > The whole PanoTools team, for all math and knowledge I have borrowed from PanoTools:
Packit 1f396d
  > 
Packit 1f396d
  > Helmut Dersch - The father of most (all?) open-source panorama creation tools.
Packit 1f396d
  > Daniel M. German
Packit 1f396d
  > Kevin Kratzke
Packit 1f396d
  > Rik Littlefield
Packit 1f396d
  > Fulvio Senore
Packit 1f396d
  > Jim Watters
Packit 1f396d
  > Thomas Rauscher
Packit 1f396d
  > Pablo d'Angelo (thanks once more :)
Packit 1f396d
  > Bret McKee
Packit 1f396d
  > Robert Platt
Packit 1f396d
Packit 1f396d
Also I would like to thank the people that made valuable contributions to Lensfun:
Packit 1f396d
  > Niels Kristian Bech Jensen
Packit 1f396d
  > Pascal de Bruijn
Packit 1f396d
  > Thomas Modes
Packit 1f396d
  > Torsten Bronger
Packit 1f396d
Packit 1f396d
And of course great thanks to all the people sending profiles for the database.