Changeset View
Changeset View
Standalone View
Standalone View
plugins/impex/raw/3rdparty/libkdcraw/src/rawdecodingsettings.h
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Line(s) | |||||
49 | 49 | | |||
50 | class RawDecodingSettings | 50 | class RawDecodingSettings | ||
51 | { | 51 | { | ||
52 | 52 | | |||
53 | public: | 53 | public: | ||
54 | 54 | | |||
55 | /** RAW decoding Interpolation methods | 55 | /** RAW decoding Interpolation methods | ||
56 | * | 56 | * | ||
57 | * NOTE: from original dcraw demosaic | | |||
58 | * | | |||
59 | * Bilinear: use high-speed but low-quality bilinear | 57 | * Bilinear: use high-speed but low-quality bilinear | ||
60 | * interpolation (default - for slow computer). In this method, | 58 | * interpolation (default - for slow computer). In this method, | ||
61 | * the red value of a non-red pixel is computed as the average of | 59 | * the red value of a non-red pixel is computed as the average of | ||
62 | * the adjacent red pixels, and similar for blue and green. | 60 | * the adjacent red pixels, and similar for blue and green. | ||
63 | * VNG: use Variable Number of Gradients interpolation. | 61 | * VNG: use Variable Number of Gradients interpolation. | ||
64 | * This method computes gradients near the pixel of interest and uses | 62 | * This method computes gradients near the pixel of interest and uses | ||
65 | * the lower gradients (representing smoother and more similar parts | 63 | * the lower gradients (representing smoother and more similar parts | ||
66 | * of the image) to make an estimate. | 64 | * of the image) to make an estimate. | ||
67 | * PPG: use Patterned Pixel Grouping interpolation. | 65 | * PPG: use Patterned Pixel Grouping interpolation. | ||
68 | * Pixel Grouping uses assumptions about natural scenery in making estimates. | 66 | * Pixel Grouping uses assumptions about natural scenery in making estimates. | ||
69 | * It has fewer color artifacts on natural images than the Variable Number of | 67 | * It has fewer color artifacts on natural images than the Variable Number of | ||
70 | * Gradients method. | 68 | * Gradients method. | ||
71 | * AHD: use Adaptive Homogeneity-Directed interpolation. | 69 | * AHD: use Adaptive Homogeneity-Directed interpolation. | ||
72 | * This method selects the direction of interpolation so as to | 70 | * This method selects the direction of interpolation so as to | ||
73 | * maximize a homogeneity metric, thus typically minimizing color artifacts. | 71 | * maximize a homogeneity metric, thus typically minimizing color artifacts. | ||
72 | * DCB: DCB interpolation (see http://www.linuxphoto.org/html/dcb.html for details) | ||||
74 | * | 73 | * | ||
75 | * NOTE: from GPL2 demosaic pack. | 74 | * NOTE: from GPL2/GPL3 demosaic packs - will not work with libraw>=0.19 | ||
76 | * | 75 | * | ||
77 | * DCB: DCB interpolation (see http://www.linuxphoto.org/html/dcb.html for details) | | |||
78 | * PL_AHD: modified AHD interpolation (see http://sites.google.com/site/demosaicalgorithms/modified-dcraw | 76 | * PL_AHD: modified AHD interpolation (see http://sites.google.com/site/demosaicalgorithms/modified-dcraw | ||
79 | * for details). | 77 | * for details). | ||
80 | * AFD: demosaicing through 5 pass median filter from PerfectRaw project. | 78 | * AFD: demosaicing through 5 pass median filter from PerfectRaw project. | ||
81 | * VCD: VCD interpolation. | 79 | * VCD: VCD interpolation. | ||
82 | * VCD_AHD: mixed demosaicing between VCD and AHD. | 80 | * VCD_AHD: mixed demosaicing between VCD and AHD. | ||
83 | * LMMSE: LMMSE interpolation from PerfectRaw. | 81 | * LMMSE: LMMSE interpolation from PerfectRaw. | ||
82 | * AMAZE: AMaZE interpolation and color aberration removal from RawTherapee project. | ||||
84 | * | 83 | * | ||
85 | * NOTE: from GPL3 demosaic pack. | 84 | * NOTE: for libraw>=0.19 only | ||
86 | * | 85 | * | ||
87 | * AMAZE: AMaZE interpolation and color aberration removal from RawTherapee project. | 86 | * DHT: DHT interpolation. | ||
87 | * AAHD: Enhanced Adaptative AHD interpolation. | ||||
88 | */ | 88 | */ | ||
89 | enum DecodingQuality | 89 | enum DecodingQuality | ||
90 | { | 90 | { | ||
91 | // from original dcraw demosaic | | |||
92 | BILINEAR = 0, | 91 | BILINEAR = 0, | ||
93 | VNG = 1, | 92 | VNG = 1, | ||
94 | PPG = 2, | 93 | PPG = 2, | ||
95 | AHD = 3, | 94 | AHD = 3, | ||
96 | // Extended demosaicing method from GPL2 demosaic pack | | |||
97 | DCB = 4, | 95 | DCB = 4, | ||
98 | PL_AHD = 5, | 96 | PL_AHD = 5, | ||
99 | AFD = 6, | 97 | AFD = 6, | ||
100 | VCD = 7, | 98 | VCD = 7, | ||
101 | VCD_AHD = 8, | 99 | VCD_AHD = 8, | ||
102 | LMMSE = 9, | 100 | LMMSE = 9, | ||
103 | // Extended demosaicing methods from GPL3 demosaic pack | 101 | AMAZE = 10, | ||
104 | AMAZE = 10 | 102 | DHT = 11, | ||
103 | AAHD = 12 | ||||
105 | }; | 104 | }; | ||
106 | 105 | | |||
107 | /** White balances alternatives | 106 | /** White balances alternatives | ||
108 | * NONE: no white balance used : reverts to standard daylight D65 WB. | 107 | * NONE: no white balance used : reverts to standard daylight D65 WB. | ||
109 | * CAMERA: Use the camera embedded WB if available. Reverts to NONE if not. | 108 | * CAMERA: Use the camera embedded WB if available. Reverts to NONE if not. | ||
110 | * AUTO: Averages an auto WB on the entire image. | 109 | * AUTO: Averages an auto WB on the entire image. | ||
111 | * CUSTOM: Let use set it's own temperature and green factor (later converted to RGBG factors). | 110 | * CUSTOM: Let use set it's own temperature and green factor (later converted to RGBG factors). | ||
112 | * AERA: Let use an aera from image to average white balance (see whiteBalanceArea for details). | 111 | * AERA: Let use an aera from image to average white balance (see whiteBalanceArea for details). | ||
▲ Show 20 Lines • Show All 143 Lines • ▼ Show 20 Line(s) | 193 | public: | |||
256 | NoiseReduction NRType; | 255 | NoiseReduction NRType; | ||
257 | 256 | | |||
258 | /** Noise reduction threshold value. Null value disable NR. Range is between 100 and 1000. | 257 | /** Noise reduction threshold value. Null value disable NR. Range is between 100 and 1000. | ||
259 | * For IMPULSENR : set the amount of Luminance impulse denoise. | 258 | * For IMPULSENR : set the amount of Luminance impulse denoise. | ||
260 | */ | 259 | */ | ||
261 | int NRThreshold; | 260 | int NRThreshold; | ||
262 | 261 | | |||
263 | /** Turn on chromatic aberrations correction | 262 | /** Turn on chromatic aberrations correction | ||
263 | * @deprecated does not work with libraw>=0.19 | ||||
264 | */ | 264 | */ | ||
265 | bool enableCACorrection; | 265 | bool enableCACorrection; | ||
266 | 266 | | |||
267 | /** Magnification factor for Red and Blue layers | 267 | /** Magnification factor for Red and Blue layers | ||
268 | * - caMultiplier[0] = amount of correction on red-green axis. | 268 | * - caMultiplier[0] = amount of correction on red-green axis. | ||
269 | * - caMultiplier[1] = amount of correction on blue-yellow axis. | 269 | * - caMultiplier[1] = amount of correction on blue-yellow axis. | ||
270 | * - Both values set to 0.0 = automatic CA correction. | 270 | * - Both values set to 0.0 = automatic CA correction. | ||
271 | * @deprecated does not work with libraw>=0.19 | ||||
271 | */ | 272 | */ | ||
272 | double caMultiplier[2]; | 273 | double caMultiplier[2]; | ||
273 | 274 | | |||
274 | /** Brightness of output image. | 275 | /** Brightness of output image. | ||
275 | */ | 276 | */ | ||
276 | double brightness; | 277 | double brightness; | ||
277 | 278 | | |||
278 | /** Turn on the black point setting to decode RAW image. | 279 | /** Turn on the black point setting to decode RAW image. | ||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Line(s) | |||||
329 | 330 | | |||
330 | /** Turn on the DCB interpolation with enhance interpolated colors. | 331 | /** Turn on the DCB interpolation with enhance interpolated colors. | ||
331 | */ | 332 | */ | ||
332 | bool dcbEnhanceFl; | 333 | bool dcbEnhanceFl; | ||
333 | 334 | | |||
334 | /// For VCD_AHD interpolation. | 335 | /// For VCD_AHD interpolation. | ||
335 | 336 | | |||
336 | /** Turn on the EECI refine for VCD Demosaicing. | 337 | /** Turn on the EECI refine for VCD Demosaicing. | ||
338 | * @deprecated does not work with libraw>=0.19 | ||||
337 | */ | 339 | */ | ||
338 | bool eeciRefine; | 340 | bool eeciRefine; | ||
339 | 341 | | |||
340 | /** Use edge-sensitive median filtering for artifact supression after VCD demosaicing. | 342 | /** Use edge-sensitive median filtering for artifact supression after VCD demosaicing. | ||
341 | * 0 : disable (default) | 343 | * 0 : disable (default) | ||
342 | * 1-10 : median filter passes. | 344 | * 1-10 : median filter passes. | ||
345 | * @deprecated does not work with libraw>=0.19 | ||||
343 | */ | 346 | */ | ||
344 | int esMedPasses; | 347 | int esMedPasses; | ||
345 | 348 | | |||
346 | /** For IMPULSENR Noise reduction. Set the amount of Chrominance impulse denoise. | 349 | /** For IMPULSENR Noise reduction. Set the amount of Chrominance impulse denoise. | ||
347 | Null value disable NR. Range is between 100 and 1000. | 350 | * Null value disable NR. Range is between 100 and 1000. | ||
351 | * @deprecated does not work with libraw>=0.19 | ||||
348 | */ | 352 | */ | ||
349 | int NRChroThreshold; | 353 | int NRChroThreshold; | ||
350 | 354 | | |||
351 | /** Turn on the Exposure Correction before interpolation. | 355 | /** Turn on the Exposure Correction before interpolation. | ||
352 | */ | 356 | */ | ||
353 | bool expoCorrection; | 357 | bool expoCorrection; | ||
354 | 358 | | |||
355 | /** Shift of Exposure Correction before interpolation in linear scale. | 359 | /** Shift of Exposure Correction before interpolation in linear scale. | ||
Show All 17 Lines |