Hugin trunk 0.1
Loading...
Searching...
No Matches
image_variables.h
Go to the documentation of this file.
1// -*- c-basic-offset: 4 -*-
35/* This is free software; you can redistribute it and/or
36 * modify it under the terms of the GNU General Public
37 * License as published by the Free Software Foundation; either
38 * version 2 of the License, or (at your option) any later version.
39 *
40 * This software is distributed in the hope that it will be useful,
41 * but WITHOUT ANY WARRANTY; without even the implied warranty of
42 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
43 * Lesser General Public License for more details.
44 *
45 * You should have received a copy of the GNU General Public
46 * License along with this software. If not, see
47 * <http://www.gnu.org/licenses/>.
48 *
49 */
50
51/* Hmmm... I'ld like commas in template arguments, but < and > aren't real
52 * brackets so the template arguments will be interprated as separate macro
53 * arguments instead.
54 * Solution: Have an object in ImageVariableTranslate.h which handles all the
55 * pto conversion code. We can generate the code in SrcPanoImg.h automatically
56 * as ImageVariableTranslate.h typedefs PTOVariableConverterFor[name] for each
57 * variable.
58 * So we don't have a parameter that specifies the codes to use in a PTO file.
59 */
60
61// file variables
62image_variable( Filename, std::string, "" )
63image_variable( Size, vigra::Size2D , vigra::Size2D(0,0) )
64// projection variables
65image_variable( Projection, HuginBase::BaseSrcPanoImage::Projection, RECTILINEAR )
66image_variable( HFOV, double, 50.0 )
67image_variable( CropFactor, double, 0.0 )
68
69// colour response variables
70image_variable( ResponseType, HuginBase::BaseSrcPanoImage::ResponseType, RESPONSE_EMOR )
71image_variable( EMoRParams, std::vector<float>, std::vector<float>(5, 0.0f) )
72image_variable( ExposureValue, double, 0.0 )
73image_variable( Gamma, double, 1.0 )
74image_variable( WhiteBalanceRed, double, 1.0 )
75image_variable( WhiteBalanceBlue, double, 1.0 )
76
77// orientation in degrees
78image_variable( Roll, double , 0.0 )
79image_variable( Pitch, double , 0.0 )
80image_variable( Yaw, double, 0.0 )
81
82image_variable( X, double , 0.0 )
83image_variable( Y, double , 0.0 )
84image_variable( Z, double, 0.0 )
85
86image_variable( TranslationPlaneYaw, double, 0.0)
87image_variable( TranslationPlanePitch, double, 0.0)
88// stack information
89// Currently only the link information is used, the value means nothing.
90image_variable( Stack, double, 0.0 )
91
92// radial lens distortion
93image_variable( RadialDistortion, std::vector<double>, std::vector<double>({ 0.0, 0.0, 0.0, 1.0 }))
94
95// radial lens distortion (red, blue channel), for TCA correction
96image_variable( RadialDistortionRed, std::vector<double>, std::vector<double>({ 0.0, 0.0, 0.0, 1.0 }))
97image_variable( RadialDistortionBlue, std::vector<double>, std::vector<double>({ 0.0, 0.0, 0.0, 1.0 }))
98
99// Center shift
101
102// shear
103image_variable( Shear, hugin_utils::FDiff2D, hugin_utils::FDiff2D(0, 0) )
104
105// crop description
106image_variable( CropMode, HuginBase::BaseSrcPanoImage::CropMode, NO_CROP )
107image_variable( CropRect, vigra::Rect2D, vigra::Rect2D(0, 0, 0, 0) )
108image_variable( AutoCenterCrop, bool, true )
109
110// vignetting correction
111image_variable( VigCorrMode, int, VIGCORR_RADIAL|VIGCORR_DIV )
112
113// coefficients for vignetting correction (even degrees: 0,2,4,6, ...)
114image_variable( FlatfieldFilename, std::string, "" )
115image_variable(RadialVigCorrCoeff, std::vector<double>, std::vector<double>({ 1.0, 0.0, 0.0, 0.0 }))
117
118// linear pixel transform
119// (doesn't seem to be used, removing with #if 0)
120#if 0
121image_variable( ka, std::vector<double>, , )
122image_variable( kb, std::vector<double>, , )
123#endif
124
125// store camera information from exif tags...
126image_variable( ExifModel, std::string, "" )
127image_variable( ExifMake, std::string, "" )
128image_variable( ExifLens, std::string, "" )
129image_variable( ExifFocalLength, double, 0.0 )
130image_variable( ExifOrientation, double, 0.0 )
131image_variable( ExifAperture, double, 0.0 )
132image_variable( ExifISO, double, 0.0 )
133image_variable( ExifDistance, double, 0.0 )
134image_variable( ExifFocalLength35, double, 0.0)
135image_variable( ExifCropFactor, double, 0.0)
136image_variable( ExifExposureTime, double, 0.0)
137image_variable( ExifDate, std::string, "")
138image_variable( ExifExposureMode, int, 0.0)
139image_variable( ExifRedBalance, double, 1.0)
140image_variable( ExifBlueBalance, double, 1.0)
141image_variable( FileMetadata, HuginBase::FileMetaData, HuginBase::FileMetaData())
142
143#if 0
144//
145// panotools options, currently not used
146//
147// width of feather for stitching.
148image_variable( FeatherWidth, unsigned int, 10 )
149// Morph-to-fit using control points.
150image_variable( Morph, bool, false )
151#endif
152
153// mask handling
154// Masks is list of loaded or created textures
156// ActiveMasks contains list of all negative masks, which should be applied to
157// a given image, this is used to propagate positive masks
158image_variable( ActiveMasks, HuginBase::MaskPolygonVector, HuginBase::MaskPolygonVector())
159
160// If the image is selected to be used in the preview and for optimisation.
161image_variable( Active, bool, true )
162
std::vector< double > RadialDistortionRed
double ExifRedBalance
double Z
double X
std::string ExifMake
double Gamma
double TranslationPlaneYaw
double Yaw
bool AutoCenterCrop
double ExifCropFactor
bool Active
vigra::Rect2D CropRect
double Roll
double ExifDistance
HuginBase::BaseSrcPanoImage::ResponseType ResponseType
std::vector< double > RadialDistortion
double Stack
vigra::Size2D Size
std::string Filename
double ExifAperture
HuginBase::MaskPolygonVector Masks
hugin_utils::FDiff2D Shear
double ExifBlueBalance
std::vector< float > EMoRParams
HuginBase::BaseSrcPanoImage::CropMode CropMode
double HFOV
double Pitch
std::vector< double > RadialDistortionBlue
std::string ExifLens
double ExposureValue
double WhiteBalanceRed
double ExifFocalLength35
double ExifExposureTime
int ExifExposureMode
hugin_utils::FDiff2D RadialVigCorrCenterShift
std::string ExifModel
double WhiteBalanceBlue
double ExifFocalLength
std::string ExifDate
double Y
int VigCorrMode
double TranslationPlanePitch
std::string FlatfieldFilename
double CropFactor
double ExifOrientation
HuginBase::MaskPolygonVector ActiveMasks
std::vector< double > RadialVigCorrCoeff
hugin_utils::FDiff2D RadialDistortionCenterShift
HuginBase::FileMetaData FileMetadata
double ExifISO
HuginBase::BaseSrcPanoImage::Projection Projection
mainly consists of wrapper around the pano tools library, to assist in ressource management and to pr...
Definition wxcms.cpp:39
std::vector< MaskPolygon > MaskPolygonVector
Definition Mask.h:150
namespace for various utils
Implementation of fast vector type with support of linear algebra operations Copyright (C) 2009 Lukáš...
std::vector< deghosting::BImagePtr > threshold(const std::vector< deghosting::FImagePtr > &inputImages, const double threshold, const uint16_t flags)
Threshold function used for creating alpha masks for images.
Definition threshold.h:41