diff --git a/include/hdrplus/params.h b/include/hdrplus/params.h new file mode 100644 index 0000000..c309b75 --- /dev/null +++ b/include/hdrplus/params.h @@ -0,0 +1,52 @@ +#pragma once + +#include +#include // std::shared_ptr +#include // all opencv header +#include + + +namespace hdrplus +{ +class RawpyArgs{ + public: + int demosaic_algorithm = 3;// 3 - AHD interpolation <->int user_qual + bool half_size = false; + bool use_camera_wb = true; + bool use_auto_wb = false; + bool no_auto_bright = true; + int output_color = LIBRAW_COLORSPACE_sRGB; + int gamma[2] = {1,1}; //# gamma correction not applied by rawpy (not quite understand) + int output_bps = 16; +}; + +class Parameters{ + public: + std::string tuning_ltmGain = "auto"; + double tuning_gtmContrast = 0.075; + + std::unordered_map flags{ + {"writeReferenceImage",true}, + {"writeGammaReference", true}, + {"writeMergedImage", false}, + {"writeGammaMerged", true}, + {"writeShortExposure", false}, + {"writeLongExposure", false}, + {"writeFusedExposure", false}, + {"writeLTMImage", false}, + {"writeLTMGamma", false}, + {"writeGTMImage", false}, + {"writeReferenceFinal", true}, + {"writeFinalImage", true} + }; + + RawpyArgs rawpyArgs; + + Parameters()= default; + +}; + +cv::Mat postprocess(std::shared_ptr& libraw_ptr, RawpyArgs rawpyArgs); +void setParams(std::shared_ptr& libraw_ptr, RawpyArgs rawpyArgs); + +} // namespace hdrplus