Skip to content
Nils Hamel edited this page Feb 16, 2015 · 53 revisions

Overview - libgnomonic 0.4

This library is developed to perform gnomonic projections from a entire equirectangular mapping of spherical panoramas to extract rectilinear mappings. It also ensure gnomonic projections of specific tiles of equirectangular mappings to obtain rectilinear mappings from single tiles. Each provided projection algorithm comes with an implementation of its inverse operation. The library also provides equirectangular transformation algorithms.

Presentation

The following pages give access to the presentation of the main features implemented in the library. Starting with the gnomonic and inverted gnomonic projection features, the following pages give a demonstration of their results :

  • [Equirectangular to rectilinear projection](Equirectangular to rectilinear projection)
  • [Rectilinear to equirectangular projection](Rectilinear to equirectangular projection)

Each of the implemented projection feature comes with an algorithm that performs two dimenional point coordinates conversion from original mapping to the feature-computed one.

The library also allows to perform transformation on equirectangular mappings such as rotation. The following page gives a presentation of the transformation results :

  • [Equirectangular mapping transformation](Equirectangular mapping transformation)

The features implemented in the library follow the same definition of equirectangular mappings according to the frame in which is defined the manifold they map, typically a sphere. The following page gives the details of this definition :

  • [Equirectangular mapping frame](Equirectangular mapping frame)

The library is currently entirely parallelized. The implemented algorithms simply expect a single extra integer to indicates the desired number of thread. The following page gives a case study of parallelization results :

  • [Parallel processing](Parallel processing)

In order to fit the library and its sub-modules requirements, bitmap memory format has to be considered as explained in the following page :

  • [Image memory format](Image memory format)

Development

The libgnomonic current release is 0.4.1 (v0.4.1). The master branch contains the current beta version. Read the development logs for more information and documentation about the current state of the master branch.

Dependencies

The libgnomonic comes with the following provided sub-modules :

Documentation is built using doxygen.

Compilation

To clone the repository, use the command :

$ git clone https://github.com/FoxelSA/libgnomonic.git --recursive
$ cd libgnomonic
$ git checkout v0.4.1

To build sub-modules and binaries with make, use the command :

$ make clean-all && make [OPENMP=false]

To rebuild the binaries without rebuilding sub-modules :

$ make clean && make build [OPENMP=false]

To rebuild sub-modules only, use the command :

$ make clean-modules && make modules [OPENMP=false]

To generate the documentation, use the command :

$ make clean-documentation && make documentation

To install or uninstall the binaries on the local computer, use the commands :

# make install
# make uninstall

More compilation options and an overview of library basic usage in client codes is provided by the [library usage](Library usage) page.


  [Home](Home)

  Section : projections

  • [Equirectangular to rectilinear projection](Equirectangular to rectilinear projection)
  • [Rectilinear to equirectangular projection](Rectilinear to equirectangular projection)

  Section : transformations

  • [Equirectangular mapping transformation](Equirectangular mapping transformation)

  Section : definitions

  • [Equirectangular mapping frame](Equirectangular mapping frame)

  Section : parallelization

  • [Parallel processing](Parallel processing)

  Section : standards

  • [Image memory format](Image memory format)

  Section : Library usage

  • [Library usage](Library usage)

  Development : logs


Clone this wiki locally