24 #ifndef _PANODATA_PANORAMAMEMENTO_H
25 #define _PANODATA_PANORAMAMEMENTO_H
27 #include <hugin_config.h>
33 #include <vigra/diff2d.hxx>
44 #include <pano13/panorama.h>
89 FULL_FRAME_FISHEYE = 3,
92 TRANSVERSE_MERCATOR = 6,
95 LAMBERT_AZIMUTHAL = 9,
96 ALBERS_EQUAL_AREA_CONIC = 10,
97 MILLER_CYLINDRICAL = 11,
106 THOBY_PROJECTION = 20,
188 m_projectionFormat = EQUIRECTANGULAR;
190 m_size = vigra::Size2D(3000, 1500);
191 m_roi = vigra::Rect2D(m_size);
193 tiffCompression =
"LZW";
195 colorReferenceImage = 0;
196 optimizeReferenceImage = 0;
199 outputFormat = TIFF_m;
200 blendMode = ENBLEND_BLEND;
201 hdrMergeMode = HDRMERGE_AVERAGE;
203 remapUsingGPU =
false;
204 saveCoordImgs =
false;
206 photometricHuberSigma = 2/255.0;
207 outputMode = OUTPUT_LDR;
209 outputLDRBlended =
true;
210 outputLDRLayers =
false;
211 outputLDRExposureRemapped =
false;
212 outputLDRExposureLayers =
false;
213 outputLDRExposureLayersFused =
false;
214 outputLDRStacks =
false;
215 outputLDRExposureBlended =
false;
216 outputHDRBlended =
false;
217 outputHDRLayers =
false;
218 outputHDRStacks =
false;
220 outputLayersCompression =
"LZW";
221 outputImageType =
"tif";
222 outputImageTypeCompression =
"LZW";
223 outputImageTypeHDR=
"exr";
224 outputImageTypeHDRCompression =
"LZW";
228 hdrmergeOptions =
"";
229 verdandiOptions =
"";
231 outputEMoRParams.resize(5,0.0f);
232 outputExposureValue = 0.0;
233 outputRangeCompression = 0.0;
234 outputPixelType =
"";
236 panoProjectionFeaturesQuery(m_projectionFormat, &m_projFeatures);
237 resetProjectionParameters();
239 outputStacksMinOverlap = 0.7;
240 outputLayersExposureDiff = 0.5;
242 edgeFillMode = NO_EDGE_FILL;
243 keepEdgeFillInput =
false;
248 void printScriptLine(std::ostream & o,
bool forPTOptimizer=
false)
const;
251 static const std::string & getFormatName(FileFormat f);
257 static FileFormat getFormatFromName(
const std::string & name);
260 const std::string & getOutputExtension()
const;
266 void setWidth(
unsigned int w,
bool keepView =
true);
272 void setHeight(
unsigned int h);
292 { m_roi = val & vigra::Rect2D(m_size); }
297 void setProjection(ProjectionFormat f);
300 void resetProjectionParameters();
304 {
return m_projectionFormat; };
308 {
return m_projectionParams; }
311 void setProjectionParameters(
const std::vector<double> & params);
314 bool fovCalcSupported(ProjectionFormat f)
const;
320 void setHFOV(
double h,
bool keepView=
true);
327 void setVFOV(
double v);
330 double getVFOV()
const;
334 {
return m_projFeatures.maxHFOV; }
338 {
return m_projFeatures.maxVFOV; }
415 static const std::string fileformatNames[];
416 static const std::string fileformatExt[];
PanoramaOptions::ProjectionFormat getProjection() const
EdgeFillMode edgeFillMode
double outputRangeCompression
pano_projection_features m_projFeatures
BlendingMechanism
blenders
bool outputLDRLayers
save remapped layers (LDR)
std::string outputLayersCompression
PTStitcherAcceleration
PTStitcher acceleration.
EdgeFillMode
edge fill modes
std::string outputImageTypeHDRCompression
bool outputHDRLayers
save remapped layers (HDR)
unsigned int getHeight() const
get panorama height
std::vector< float > outputEMoRParams
double getMaxHFOV() const
get maximum possible hfov with current projection
std::string enfuseOptions
std::string outputImageTypeCompression
unsigned int colorReferenceImage
bool outputLDRExposureBlended
< save exposure fused stacks (no exposure adjustment)
std::vector< double > m_projectionParams
const vigra::Rect2D & getROI() const
bool outputLDRBlended
save blended panorama (LDR)
double outputLayersExposureDiff
vigra_ext::Interpolator interpolator
double outputStacksMinOverlap
double getMaxVFOV() const
get maximum possible vfov with current projection
bool outputHDRBlended
save blended panorama (HDR)
void setROI(const vigra::Rect2D &val)
std::string tiffCompression
std::string verdandiOptions
The pano tools interpolators ported to vigra.
bool outputLDRExposureLayers
save blended exposure layers, do not perform fusion (no exposure adjustment)
unsigned int getWidth() const
std::string enblendOptions
double photometricHuberSigma
HDRMergeType hdrMergeMode
bool outputLDRExposureRemapped
save remapped layers (no exposure adjustment)
const std::vector< double > & getProjectionParameters() const
Get the optional projection parameters.
bool outputLDRExposureLayersFused
save blended exposure layers which are then fused (no exposure adjustment)
std::string outputImageType
std::string outputImageTypeHDR
std::string outputPixelType
ProjectionFormat m_projectionFormat
virtual ~PanoramaOptions()
std::string hdrmergeOptions
ProjectionFormat
Projection of final panorama.
Interpolator
enum with all interpolation methods
bool outputHDRStacks
save image stacks (HDR)
vigra::Size2D getSize() const
get size of output image
BlendingMechanism blendMode
double outputExposureValue
unsigned int optimizeReferenceImage