image_variables.h

Go to the documentation of this file.
00001 // -*- c-basic-offset: 4 -*-
00035 /*  This is free software; you can redistribute it and/or
00036  *  modify it under the terms of the GNU General Public
00037  *  License as published by the Free Software Foundation; either
00038  *  version 2 of the License, or (at your option) any later version.
00039  *
00040  *  This software is distributed in the hope that it will be useful,
00041  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00042  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00043  *  Lesser General Public License for more details.
00044  *
00045  *  You should have received a copy of the GNU General Public
00046  *  License along with this software; if not, write to the Free Software
00047  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00048  *
00049  */
00050 
00051 /* Hmmm... I'ld like commas in template arguments, but < and > aren't real
00052  * brackets so the template arguments will be interprated as separate macro
00053  * arguments instead.
00054  * Solution: Have an object in ImageVariableTranslate.h which handles all the
00055  * pto conversion code. We can generate the code in SrcPanoImg.h automatically
00056  * as ImageVariableTranslate.h typedefs PTOVariableConverterFor[name] for each
00057  * variable.
00058  * So we don't have a parameter that specifies the codes to use in a PTO file.
00059  */
00060 
00061 // file variables
00062 image_variable( Filename, std::string, "" )
00063 image_variable( Size, vigra::Size2D , vigra::Size2D(0,0) )
00064 // projection variables
00065 image_variable( Projection, HuginBase::BaseSrcPanoImage::Projection, RECTILINEAR )
00066 image_variable( HFOV, double, 50.0 )
00067 
00068 // colour response variables
00069 image_variable( ResponseType, HuginBase::BaseSrcPanoImage::ResponseType, RESPONSE_EMOR )
00070 image_variable( EMoRParams, std::vector<float>, std::vector<float>(5, 0.0) )
00071 image_variable( ExposureValue, double, 0.0 )
00072 image_variable( Gamma, double, 1.0 )
00073 image_variable( WhiteBalanceRed, double, 1.0 )
00074 image_variable( WhiteBalanceBlue, double, 1.0 )
00075 
00076 // orientation in degrees
00077 image_variable( Roll, double , 0.0 )
00078 image_variable( Pitch, double , 0.0 )
00079 image_variable( Yaw, double, 0.0 )
00080 
00081 image_variable( X, double , 0.0 )
00082 image_variable( Y, double , 0.0 )
00083 image_variable( Z, double, 0.0 )
00084 
00085 image_variable( TranslationPlaneYaw, double, 0.0)
00086 image_variable( TranslationPlanePitch, double, 0.0)
00087 // stack information
00088 // Currently only the link information is used, the value means nothing.
00089 image_variable( Stack, double, 0.0 )
00090 
00091 // radial lens distortion
00092 image_variable( RadialDistortion, std::vector<double>, distortion_default )
00093 
00094 // radial lens distortion (red, blue channel), for TCA correction
00095 image_variable( RadialDistortionRed, std::vector<double>, distortion_default )
00096 image_variable( RadialDistortionBlue, std::vector<double>, distortion_default )
00097 
00098 // Center shift
00099 image_variable( RadialDistortionCenterShift, hugin_utils::FDiff2D, hugin_utils::FDiff2D(0.0, 0.0) )
00100 
00101 // shear
00102 image_variable( Shear, hugin_utils::FDiff2D, hugin_utils::FDiff2D(0, 0)  )
00103 
00104 // crop description
00105 image_variable( CropMode, HuginBase::BaseSrcPanoImage::CropMode, NO_CROP )
00106 image_variable( CropRect, vigra::Rect2D, vigra::Rect2D(0, 0, 0, 0) )
00107 image_variable( AutoCenterCrop, bool, true )
00108 
00109 // vignetting correction
00110 image_variable( VigCorrMode, int, VIGCORR_RADIAL|VIGCORR_DIV )
00111 
00112 // coefficients for vignetting correction (even degrees: 0,2,4,6, ...)
00113 image_variable( FlatfieldFilename, std::string, "" )
00114 image_variable( RadialVigCorrCoeff, std::vector<double>, RadialVigCorrCoeff_default )
00115 image_variable( RadialVigCorrCenterShift, hugin_utils::FDiff2D, hugin_utils::FDiff2D(0.0, 0.0) )
00116 
00117 // linear pixel transform
00118 // (doesn't seem to be used, removing with #if 0)
00119 #if 0
00120 image_variable( ka, std::vector<double>, ,  )
00121 image_variable( kb, std::vector<double>, ,  )
00122 #endif
00123 
00124 // store camera information from exif tags...
00125 image_variable( ExifModel, std::string, "" )
00126 image_variable( ExifMake, std::string, "" )
00127 image_variable( ExifLens, std::string, "" )
00128 image_variable( ExifCropFactor, double, 0 )
00129 image_variable( ExifFocalLength, double, 0 )
00130 image_variable( ExifOrientation, double, 0 )
00131 image_variable( ExifAperture, double, 0 )
00132 image_variable( ExifISO, double, 0 )
00133 image_variable( ExifDistance, double, 0 )
00134 image_variable( ExifFocalLength35, double, 0)
00135 image_variable( ExifExposureTime, double, 0)
00136 image_variable( ExifDate, std::string, "")
00137 image_variable( ExifExposureMode, int, 0)
00138 
00139 #if 0
00140 //
00141 // panotools options, currently not used
00142 //
00143 // width of feather for stitching.
00144 image_variable( FeatherWidth, unsigned int, 10 )
00145 // Morph-to-fit using control points.
00146 image_variable( Morph, bool, false )
00147 #endif
00148 
00149 // mask handling
00150 // Masks is list of loaded or created textures
00151 image_variable( Masks, HuginBase::MaskPolygonVector, defaultMaskVector)
00152 // ActiveMasks contains list of all negative masks, which should be applied to
00153 // a given image, this is used to propagate positive masks
00154 image_variable( ActiveMasks, HuginBase::MaskPolygonVector, defaultMaskVector)
00155 
00156 // If the image is selected to be used in the preview and for optimisation.
00157 image_variable( Active, bool, true )
00158 

Generated on Thu Apr 24 01:25:38 2014 for Hugintrunk by  doxygen 1.3.9.1