Repository navigation
norama direct_v0.3
The norama-direct software allows to perform gnomonic projections to extract rectilinear images from equirectangular mappings or tiles of equirectangular mappings. This software is an interface to the projection algorithms offered by libgnomonic.
According to parameters and switches, the software can extract rectilinear images from tiles or entire mappings using different way to specifying the projection parameters, each corresponding to a simplification of the generic algorithm parameters specification.
The norama-direct software expects the following switches, arguments and parameters. Starting with the execution switches :
--generic -N
This switch indicates that the libgnomonic generic projection
has to be used. It follows that an equirectangular tile is
waited as input. If this switch is given, the following
parameters have to be given :
--rect-width, --rect-height (or --seed), --map-width,
--map-height, --sight-x, --sight-y, --tile-x, --tile-y,
--azimuth, --elevation, --roll, --focal, --pixel
in order to perform the projection.
--elphel -E
This switch indicates that the libgnomonic Elphel-specific
projection has to be used. It follows that an equirectangular
tile is waited as input. If this switch is given, the following
parameters have to be given :
--rect-width, --rect-height (or --seed), --map-width,
--map-height, --sight-x, --sight-y, --tile-x, --tile-y,
--azimuth, --heading, --elevation, --roll, --focal, --pixel
in order to perform the projection.
--center -T
This switch indicates that the libgnomonic center-specific
projection has to be used. It follows that an equirectangular
tile is waited as input. If this switch is given, the following
parameters have to be given :
--rect-width, --rect-height (or --seed), --map-width,
--map-height, --tile-x, --tile-y, --azimuth, --elevation,
--roll, --focal, --pixel
in order to perform the projection.
--complete -P
This switch indicates that the libgnomonic aperture-specific
projection has to be used. It follows that an entire
equirectangular mapping is waited as input. If this switch is
given, the following parameters have to be given :
--rect-width, --rect-height (or --seed), --azimuth,
--elevation, --roll, --apperture
in order to perform the projection.
--force-rgb -F
This switch force the input image to be interpreted as a three
chromatic layers image. It means that even a transparency
channel is provided with the input image, it will not be used.
--clear -C
This switch indicates that the output buffer has to be
initialized before projection. If a seed image is provided, it
is then erased. The clear color is set using :
--red, --green, --blue
parameters.
The stream arguments and parameters are :
--input -i
Path of the input equirectangular image, tile or entire mapping.
--output -o
Path of the output rectilinear image.
--seed -s
Path of the rectilinear image to use as seed of the output
image. This allows to initialize the rectilinear image in case
the input image provides an alpha channel.
--rect-width -k, --rect-height -l
Size, in pixels, of the output rectilinear image to create. If a
seed is specified, those parameters are ignored.
--map-width -W, --map-height -H
When an equirectangular tile is considered as input, the size,
in pixels, of the entire mapping from which it comes from has to
be given through those parameters.
--tile-x -X, --tile-y -Y
When an equirectangular tile is considered as input, the
position, in pixels, of the top-left corner of the tile in the
entire mapping has to be given through those parameters.
Considering the projection arguments and parameters :
--apperture -u
Aperture angle, in degrees, of the projection. This parameter
is only considered by the aperture-specific algorithm.
--sight-x -x, --sight-y -y
Position on rectilinear image, in floating pixels, of the center
of the gnomonic projection.
--azimuth -a, --heading -d, --elevation -e, --roll -r
Angular positions, in degrees, of the gnomonic projection center
according to the mapped sphere. The heading angle has to be
considered as an azimuth angle correction and it is only
considered by the Elphel-specific projection.
--focal -f
Focal length of the rectilinear image, view as a virtual camera
sensor, given in millimetres.
--pixel -p
Pixel size of the rectilinear image, view as a virtual camera
sensor, given in millimetres and assumed to be identical in both
directions.
The interpolation method arguments and parameters are :
--interpolation -n
Interpolation method to use for output image computation. The
possible methods are :
bilinearf | bicubicf | bipenticf | bihepticf
given in growing complexity order.
The parallelization arguments and parameters are :
--threads -t
This parameter is used to override the default thread count for
performance improvement.
Finally, the help switch is :
--help -h
Display minimal usage summary.
As demonstration, we consider the aperture-specific projection algorithm through the following equirectangular mapping (copyright (c) Didier Mouron under CC BY-SA license) captured using an Eyesis4Pi camera :
Considering an azimuth angle of 90 degrees, a elevation angle of 22 degrees, a roll angle of 11 degrees and an aperture parameter of 90 degrees, the following rectilinear image is extracted :
A fast bipentic interpolation was considered to generates the previous image. The other projection algorithms work the same except that a correlation is introduced between gnomonic center angular position and the position (and the size) of the tile in the entire mapping from which it is extracted.
The software binary can be build using its specific makefile by simply typing in its base directory :
$ make clean && make build [OPENMP=false]
The binary is placed in the local bin directory and is not copied in the main bin directory. 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
Documentation under CC BY-SA license (c) 2013-2014 FOXEL SA
[Home](home)
Section : projection tools
Section : earth alignment
Section : transformation tools
Section : display tools
Development : logs