• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

apps/H03-May-2022-3,2552,590

cmake/modules/H29-Jun-2018-290248

data/db/H29-Jun-2018-37,83535,058

docs/H03-May-2022-8,2495,640

include/lensfun/H29-Jun-2018-3,1952,866

libs/H03-May-2022-9,3296,890

tests/H03-May-2022-4,4473,355

tools/H29-Jun-2018-4,6733,623

ChangeLogH A D29-Jun-201829.1 KiB915850

README.mdH A D29-Jun-20185.8 KiB167121

README.md

1WHAT IS IT
2----------
3
4The goal of the Lensfun library is to provide a open source database
5of photographic lenses and their characteristics. In the past there
6was a effort in this direction (see http://www.epaperpress.com/ptlens/),
7but then author decided to take the commercial route and the database
8froze at the last public stage. This database was used as the basement
9on which Lensfun database grew, thanks to PTLens author which gave his
10permission for this, while the code was totally rewritten from scratch
11(and the database was converted to a totally new, XML-based format).
12
13The Lensfun library not only provides a way to read the database
14and search for specific things in it, but also provides a set of
15algorithms for correcting images based on detailed knowledge of
16lens properties. Right now Lensfun is designed to correct
17distortion, transversal (also known as lateral) chromatic aberrations,
18and vignetting.
19
20The interface is defined both using C++ style and plain C.
21The C interface is a wrapper around the C++ classes.
22
23Website: http://lensfun.sourceforge.net/
24Sourceforge: http://sourceforge.net/projects/lensfun/
25
26
27LICENSE
28-------
29
30The libraries which are part of this package are licensed under the terms
31of the GNU Lesser General Public License, version 3. Libraries are located
32under the subdirectory libs/ of the source package. A copy of the license
33is available in the file lgpl-3.0.txt which can be found in the source
34archive. You can read it here: http://www.gnu.org/licenses/lgpl-3.0.html
35
36The documentation files, including those autogenerated with Doxygen,
37are covered as well by GNU Lesser General Public License, version 3.
38
39Applications which are part of this package are licensed under the terms
40of the GNU General Public License, version 3. Applications are located
41under the apps/ subdirectory of the source package. A copy of the license
42can be found in the file gpl-3.0.txt which can be found in the source
43archive. You can read it here: http://www.gnu.org/licenses/gpl-3.0.html
44
45Also the build system (the contents of the build/ subdirectory plus the
46ac.py file) is licensed under GPL v3.
47
48Test programs and tools are put into public domain, unless explicitly
49specified otherwise in the header of the source files. Test programs
50are located under the tests/ subdirectory, and tools are located in tools/.
51
52The lens database is licensed under the Creative Commons Attribution-Share
53Alike 3.0 license. The database is located under the data/ subdirectory
54of the source package. You can read it here:
55http://creativecommons.org/licenses/by-sa/
56
57
58BUILD INSTRUCTIONS
59------------------
60
61The build system is based on CMake (http://www.cmake.org/). In order to
62successfully configure and build the project the following tools are more
63or less required:
64
65 - CMake
66 - Doxygen in order to generate the library documentation.
67 - GLib > 2.26 which is used for low-level I/O and XML parsing.
68 - GLib > 2.40 to build the unit tests with the GLib test framework.
69 - libpng is required to build and run the example implementation.
70 - xmllint to test the database XML validity
71
72First enter the Lensfun root folder and create a build directory.
73
74    cd lensfun
75    mkdir build
76
77Enter the build directory and run CMake to configure your sources and create
78the build files
79
80    cd build
81    cmake ../
82
83Run make/make install as usual
84
85    make
86    make install
87
88The following CMake options can be set (defaults are upper case):
89
90    -DCMAKE_BUILD_TYPE=DEBUG|Release        select debug or release build mode
91    -DINSTALL_HELPER_SCRIPTS=off|ON         install various helper scripts
92    -DCMAKE_INSTALL_PREFIX=/USR/LOCAL       install prefix
93
94    -DBUILD_STATIC=OFF|on       build static or shared lib
95    -DBUILD_TESTS=OFF|on        build also the test programs
96    -DBUILD_LENSTOOL=OFF|on     build Lensfun reference implementation
97    -DBUILD_FOR_SSE=off|ON      build with SSE optimisation
98    -DBUILD_FOR_SSE2=off|ON     build with SSE2 optimisaiton
99    -DBUILD_DOC=OFF|on          build documentation
100
101If you want to have more detailed output when running 'make' you can simply add
102'VERBOSE=1' to the make command line.
103
104You can also build packages with cmake:
105
106    Add -DCPACK_BINARY_DEB:BOOL=ON or -DCPACK_BINARY_RPM:BOOL=ON to the
107    command line and then "make package". (But this is not extensively tested.)
108
109Please note that running cmake again does NOT reset all options to default or
110reconfigure all variables. To restart with a clean configuration delete all files
111in your cmake_build folder.
112
113If you prefer setting the configuration with a GUI or want to get an extensive
114overview of all available settings and cache values run cmake-gui.
115
116
117DOCUMENTATION
118-------------
119
120The end-user documentation for the library can be built by issuing the
121command:
122
123    make docs
124
125Also you can read it online at any time by pointing your browser to:
126
127	http://lensfun.sourceforge.net/manual/
128
129The documentation on the site is updated every night from Git, so it always
130contains the latest info on the library.
131
132
133CREDITS
134-------
135
136Here goes a full list of people who have contributed to this library:
137
138CODE:
139  > Andrew Zabolotny <zap@homelink.ru>
140
141LENS DATA:
142  > Tom Niemann: original open-source ptlens database.
143
144THANKS:
145  > Pablo d'Angelo for the idea of a open-source lens database.
146  >
147  > The whole PanoTools team, for all math and knowledge I have borrowed from PanoTools:
148  >
149  > Helmut Dersch - The father of most (all?) open-source panorama creation tools.
150  > Daniel M. German
151  > Kevin Kratzke
152  > Rik Littlefield
153  > Fulvio Senore
154  > Jim Watters
155  > Thomas Rauscher
156  > Pablo d'Angelo (thanks once more :)
157  > Bret McKee
158  > Robert Platt
159
160Also I would like to thank the people that made valuable contributions to Lensfun:
161  > Niels Kristian Bech Jensen
162  > Pascal de Bruijn
163  > Thomas Modes
164  > Torsten Bronger
165
166And of course great thanks to all the people sending profiles for the database.
167