TuttleOFX  1
RawReaderDefinitions.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_RAWREADERDEFINITIONS_HPP_
00002 #define _TUTTLE_PLUGIN_RAWREADERDEFINITIONS_HPP_
00003 
00004 #include <tuttle/plugin/global.hpp>
00005 #include <tuttle/plugin/context/ReaderDefinition.hpp>
00006 
00007 namespace tuttle {
00008 namespace plugin {
00009 namespace raw {
00010 namespace reader {
00011 
00012 static const std::string kParamMetadata      = "metadata";
00013 static const std::string kGroupMetadataLabel = "Metadata";
00014 
00015 static const std::string kParamManufacturer      = "manufacturer";
00016 static const std::string kParamManufacturerLabel = "Camera Manufacturer";
00017 static const std::string kParamManufacturerHint  = "";
00018 
00019 static const std::string kParamModel      = "model";
00020 static const std::string kParamModelLabel = "Camera Model";
00021 static const std::string kParamModelHint  = "";
00022 
00023 static const std::string kParamIso      = "iso";
00024 static const std::string kParamIsoLabel = "ISO sensitivity";
00025 static const std::string kParamIsoHint  = "";
00026 
00027 static const std::string kParamShutter      = "shutter";
00028 static const std::string kParamShutterLabel = "Shutter speed";
00029 static const std::string kParamShutterHint  = "";
00030 
00031 static const std::string kParamAperture      = "aperture";
00032 static const std::string kParamApertureLabel = "Aperture";
00033 static const std::string kParamApertureHint  = "";
00034 
00035 static const std::string kParamFocal      = "focal";
00036 static const std::string kParamFocalLabel = "Focal Length";
00037 static const std::string kParamFocalHint  = "";
00038 
00039 static const std::string kParamDateOfShooting      = "timestamp";
00040 static const std::string kParamDateOfShootingLabel = "Date of shooting";
00041 static const std::string kParamDateOfShootingHint  = "";
00042 
00043 static const std::string kParamGPS      = "gps";
00044 static const std::string kParamGPSLabel = "GPS data";
00045 static const std::string kParamGPSHint  = "";
00046 
00047 static const std::string kParamDesc      = "desc";
00048 static const std::string kParamDescLabel = "Image description";
00049 static const std::string kParamDescHint  = "";
00050 
00051 static const std::string kParamArtist      = "artist";
00052 static const std::string kParamArtistLabel = "Author of image";
00053 static const std::string kParamArtistHint  = "";
00054 
00055 
00056 
00057 static const std::string kParamGreyboxPoint      = "greyboxpoint";
00058 static const std::string kParamGreyboxPointLabel = "GreyBox Point";
00059 static const std::string kParamGreyboxPointHint  = "Coordinates of the rectangle that is used to calculate the white balance. X and Y are coordinates of the left-top rectangle corner.";
00060 
00061 static const std::string kParamGreyboxSize      = "greyboxsize";
00062 static const std::string kParamGreyboxSizeLabel = "GreyBox Size";
00063 static const std::string kParamGreyboxSizeHint  = "Coordinates of the rectangle that is used to calculate the white balance. w and h are the rectangle's width and height, respectively.";
00064 
00065 static const std::string kParamRedAbber      = "redabberation";
00066 static const std::string kParamRedAbberLabel = "Red Abberation Chromatic";
00067 static const std::string kParamRedAbberHint  = "Correction of chromatic aberrations.";
00068 
00069 static const std::string kParamBlueAbber      = "blueabberation";
00070 static const std::string kParamBlueAbberLabel = "Blue Abberation Chromatic";
00071 static const std::string kParamBlueAbberHint  = "Correction of chromatic aberrations.";
00072 
00073 static const std::string kParamGammaPower      = "gammaPower";
00074 static const std::string kParamGammaPowerLabel = "Gamma Power";
00075 static const std::string kParamGammaPowerHint  = "Inverted gamma value";
00076 
00077 static const std::string kParamGammaToe      = "gammatoe";
00078 static const std::string kParamGammaToeLabel = "Gamma Toe";
00079 static const std::string kParamGammaToeHint  = "Slope for linear part (so called toe slope). Set to zero for simple power curve.";
00080 
00081 static const std::string kParamBright      = "bright";
00082 static const std::string kParamBrightLabel = "Bright";
00083 static const std::string kParamBrightHint  = "";
00084 
00085 static const std::string kParamThreshold      = "threshold";
00086 static const std::string kParamThresholdLabel = "Threshold";
00087 static const std::string kParamThresholdHint  = "Parameter for noise reduction through wavelet denoising.";
00088 
00089 static const std::string kParamFourColorRgb      = "fourcolorrgb";
00090 static const std::string kParamFourColorRgbLabel = "4 color RGB";
00091 static const std::string kParamFourColorRgbHint  = "Switches on separate interpolations for two green components.";
00092 
00093 static const std::string kParamDocumentMode      = "documentmode";
00094 static const std::string kParamDocumentModeLabel = "Document Mode";
00095 static const std::string kParamDocumentModeHint  = "Switches on separate interpolations for two green components.";
00096 static const std::string kParamDocumentModeStd   = "standard         (with white balance)";
00097 static const std::string kParamDocumentModeWwb   = "withwhitebalance (without color processing or debayer)";
00098 static const std::string kParamDocumentModeWall  = "withoutall       (without color processing or debayer and white balance)";
00099 
00100 enum EDocumentMode
00101 {
00102         eDocumentModeStd = 0,
00103         eDocumentModeWwb,
00104         eDocumentModeWall
00105 };
00106 
00107 static const std::string kParamHighlight         = "highlight";
00108 static const std::string kParamHighlightLabel    = "Highlight";
00109 static const std::string kParamHighlightHint     = "Highlight mode\t rebuild : Low  numbers favor whites; high numbers favor colors. 5 as a compromise.";
00110 static const std::string kParamHighlightClip     = "clip";
00111 static const std::string kParamHighlightUnclip   = "unclip";
00112 static const std::string kParamHighlightBlend    = "blend";
00113 static const std::string kParamHighlightRebuild1 = "rebuild1";
00114 static const std::string kParamHighlightRebuild2 = "rebuild2";
00115 static const std::string kParamHighlightRebuild3 = "rebuild3";
00116 static const std::string kParamHighlightRebuild4 = "rebuild4";
00117 static const std::string kParamHighlightRebuild5 = "rebuild5";
00118 static const std::string kParamHighlightRebuild6 = "rebuild6";
00119 static const std::string kParamHighlightRebuild7 = "rebuild7";
00120 
00121 enum EHighlight
00122 {
00123         eHighlightClip = 0,
00124         eHighlightUnclip,
00125         eHighlightBlend,
00126         eHighlightRebuild1,
00127         eHighlightRebuild2,
00128         eHighlightRebuild3,
00129         eHighlightRebuild4,
00130         eHighlightRebuild5,
00131         eHighlightRebuild6,
00132         eHighlightRebuild7
00133 };
00134 
00135 static const std::string kParamInterpolation      = "interpolation";
00136 static const std::string kParamInterpolationLabel = "Interpolation";
00137 static const std::string kParamInterpolationHint  = "Interpolation quality";
00138 static const std::string kParamInterpolationLinear      = "linear";
00139 static const std::string kParamInterpolationVng         = "VNG Variable Number of Gradients";
00140 static const std::string kParamInterpolationPpg         = "PPG Patterned Pixel Grouping";
00141 static const std::string kParamInterpolationAhd         = "AHD Adaptive Homogeneity-Directed";
00142 static const std::string kParamInterpolationDcb         = "DCB";
00143 static const std::string kParamInterpolationModifiedAhd = "modifiedAHD";
00144 static const std::string kParamInterpolationAfd         = "AFD";
00145 static const std::string kParamInterpolationVcd         = "VCD";
00146 static const std::string kParamInterpolationMixed       = "MixedVCDModifiedAHD";
00147 static const std::string kParamInterpolationLmmse       = "LMMSE";
00148 static const std::string kParamInterpolationAmaze       = "AMaZE";
00149 
00150 enum EInterpolation
00151 {
00152         eInterpolationLinear = 0,
00153         eInterpolationVng,
00154         eInterpolationPpg,
00155         eInterpolationAhd,
00156         eInterpolationDcb,
00157         eInterpolationModifiedAhd,
00158         eInterpolationAfd,
00159         eInterpolationVcd,
00160         eInterpolationMixed,
00161         eInterpolationLmmse,
00162         eInterpolationAmaze
00163 };
00164 
00165 static const std::string kParamExposure      = "exposure";
00166 static const std::string kParamExposureLabel = "Exposure correction";
00167 static const std::string kParamExposureHint  = "Exposure shift in linear scale. Usable range from 0.25 (2-stop darken) to 8.0 (3-stop lighter). Default: 1.0 (no exposure shift).";
00168 
00169 static const std::string kParamExposurePreserve      = "exposurepreserve";
00170 static const std::string kParamExposurePreserveLabel = "Exposure preserve highlights";
00171 static const std::string kParamExposurePreserveHint  = "Preserve highlights when lighten the image. Usable range from 0.0 (no preservation) to 1.0 (full preservation). 0.0 is the default value.";
00172 
00173 static const std::string kParamWhiteBalance      = "whitebalance";
00174 static const std::string kParamWhiteBalanceLabel = "White Balance";
00175 static const std::string kParamWhiteBalanceHint  = "Select white balance.";
00176 static const std::string kParamWhiteBalanceAutoWb   = "auto";
00177 static const std::string kParamWhiteBalanceCameraWb = "camera";
00178 static const std::string kParamWhiteBalanceManualWb = "manual";
00179 static const std::string kParamWhiteBalance2500 = "2500";
00180 static const std::string kParamWhiteBalance2550 = "2550";
00181 static const std::string kParamWhiteBalance2650 = "2650";
00182 static const std::string kParamWhiteBalance2700 = "2700";
00183 static const std::string kParamWhiteBalance2800 = "2800";
00184 static const std::string kParamWhiteBalance2850 = "2850";
00185 static const std::string kParamWhiteBalance2950 = "2950";
00186 static const std::string kParamWhiteBalance3000 = "3000";
00187 static const std::string kParamWhiteBalance3100 = "3100";
00188 static const std::string kParamWhiteBalance3200 = "3200";
00189 static const std::string kParamWhiteBalance3300 = "3300";
00190 static const std::string kParamWhiteBalance3400 = "3400";
00191 static const std::string kParamWhiteBalance3600 = "3600";
00192 static const std::string kParamWhiteBalance3700 = "3700";
00193 static const std::string kParamWhiteBalance3800 = "3800";
00194 static const std::string kParamWhiteBalance4000 = "4000";
00195 static const std::string kParamWhiteBalance4200 = "4200";
00196 static const std::string kParamWhiteBalance4300 = "4300";
00197 static const std::string kParamWhiteBalance4500 = "4500";
00198 static const std::string kParamWhiteBalance4800 = "4800";
00199 static const std::string kParamWhiteBalance5000 = "5000";
00200 static const std::string kParamWhiteBalance5300 = "5300";
00201 static const std::string kParamWhiteBalance5600 = "5600";
00202 static const std::string kParamWhiteBalance5900 = "5900";
00203 static const std::string kParamWhiteBalance6300 = "6300";
00204 static const std::string kParamWhiteBalance6700 = "6700";
00205 static const std::string kParamWhiteBalance7100 = "7100";
00206 static const std::string kParamWhiteBalance7700 = "7700";
00207 static const std::string kParamWhiteBalance8300 = "8300";
00208 static const std::string kParamWhiteBalance9100 = "9100";
00209 static const std::string kParamWhiteBalance10000 = "10000";
00210 
00211 enum EWhiteBalance
00212 {
00213         eAutoWb =0,
00214         eCameraWb,
00215         eManualWb,
00216         e2500,
00217         e2550,
00218         e2650,
00219         e2700,
00220         e2800,
00221         e2850,
00222         e2950,
00223         e3000,
00224         e3100,
00225         e3200,
00226         e3300,
00227         e3400,
00228         e3600,
00229         e3700,
00230         e3800,
00231         e4000,
00232         e4200,
00233         e4300,
00234         e4500,
00235         e4800,
00236         e5000,
00237         e5300,
00238         e5600,
00239         e5900,
00240         e6300,
00241         e6700,
00242         e7100,
00243         e7700,
00244         e8300,
00245         e9100,
00246         e10000
00247 };
00248 
00249 static const std::string kParamFiltering     = "filtering";
00250 static const std::string kParamFilteringAuto = "Auto";
00251 static const std::string kParamFilteringNone = "None";
00252 
00253 enum EFiltering
00254 {
00255         eFilteringAuto = 0,
00256         eFilteringNone
00257 };
00258 
00259 }
00260 }
00261 }
00262 }
00263 
00264 #endif