|
|
@ -424,35 +424,35 @@ bool KDcraw::loadFromDcraw(const TQString& filePath, TQByteArray &imageData,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// (-H) Unclip highlight color.
|
|
|
|
// (-H) Unclip highlight color.
|
|
|
|
args.append(TQString("-H %1").tqarg(m_rawDecodingSettings.unclipColors));
|
|
|
|
args.append(TQString("-H %1").arg(m_rawDecodingSettings.unclipColors));
|
|
|
|
raw.imgdata.params.highlight = m_rawDecodingSettings.unclipColors;
|
|
|
|
raw.imgdata.params.highlight = m_rawDecodingSettings.unclipColors;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (m_rawDecodingSettings.brightness != 1.0)
|
|
|
|
if (m_rawDecodingSettings.brightness != 1.0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// (-b) Set Brightness value.
|
|
|
|
// (-b) Set Brightness value.
|
|
|
|
args.append(TQString("-b %1").tqarg(m_rawDecodingSettings.brightness));
|
|
|
|
args.append(TQString("-b %1").arg(m_rawDecodingSettings.brightness));
|
|
|
|
raw.imgdata.params.bright = m_rawDecodingSettings.brightness;
|
|
|
|
raw.imgdata.params.bright = m_rawDecodingSettings.brightness;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (m_rawDecodingSettings.enableBlackPoint)
|
|
|
|
if (m_rawDecodingSettings.enableBlackPoint)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// (-k) Set Black Point value.
|
|
|
|
// (-k) Set Black Point value.
|
|
|
|
args.append(TQString("-k %1").tqarg(m_rawDecodingSettings.blackPoint));
|
|
|
|
args.append(TQString("-k %1").arg(m_rawDecodingSettings.blackPoint));
|
|
|
|
raw.imgdata.params.user_black = m_rawDecodingSettings.blackPoint;
|
|
|
|
raw.imgdata.params.user_black = m_rawDecodingSettings.blackPoint;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (m_rawDecodingSettings.enableWhitePoint)
|
|
|
|
if (m_rawDecodingSettings.enableWhitePoint)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// (-S) Set White Point value (saturation).
|
|
|
|
// (-S) Set White Point value (saturation).
|
|
|
|
args.append(TQString("-S %1").tqarg(m_rawDecodingSettings.whitePoint));
|
|
|
|
args.append(TQString("-S %1").arg(m_rawDecodingSettings.whitePoint));
|
|
|
|
raw.imgdata.params.user_sat = m_rawDecodingSettings.whitePoint;
|
|
|
|
raw.imgdata.params.user_sat = m_rawDecodingSettings.whitePoint;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (m_rawDecodingSettings.medianFilterPasses > 0)
|
|
|
|
if (m_rawDecodingSettings.medianFilterPasses > 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// (-m) After interpolation, clean up color artifacts by repeatedly applying a 3x3 median filter to the R-G and B-G channels.
|
|
|
|
// (-m) After interpolation, clean up color artifacts by repeatedly applying a 3x3 median filter to the R-G and B-G channels.
|
|
|
|
args.append(TQString("-m %1").tqarg(m_rawDecodingSettings.medianFilterPasses));
|
|
|
|
args.append(TQString("-m %1").arg(m_rawDecodingSettings.medianFilterPasses));
|
|
|
|
raw.imgdata.params.med_passes = m_rawDecodingSettings.medianFilterPasses;
|
|
|
|
raw.imgdata.params.med_passes = m_rawDecodingSettings.medianFilterPasses;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -460,7 +460,7 @@ bool KDcraw::loadFromDcraw(const TQString& filePath, TQByteArray &imageData,
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// (-P) Read the dead pixel list from this file.
|
|
|
|
// (-P) Read the dead pixel list from this file.
|
|
|
|
raw.imgdata.params.bad_pixels = deadpixelPath.data();
|
|
|
|
raw.imgdata.params.bad_pixels = deadpixelPath.data();
|
|
|
|
args.append(TQString("-P %1").tqarg(raw.imgdata.params.bad_pixels));
|
|
|
|
args.append(TQString("-P %1").arg(raw.imgdata.params.bad_pixels));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
switch (m_rawDecodingSettings.whiteBalance)
|
|
|
|
switch (m_rawDecodingSettings.whiteBalance)
|
|
|
@ -556,10 +556,10 @@ bool KDcraw::loadFromDcraw(const TQString& filePath, TQByteArray &imageData,
|
|
|
|
raw.imgdata.params.user_mul[1] = RGB[1];
|
|
|
|
raw.imgdata.params.user_mul[1] = RGB[1];
|
|
|
|
raw.imgdata.params.user_mul[2] = RGB[2];
|
|
|
|
raw.imgdata.params.user_mul[2] = RGB[2];
|
|
|
|
raw.imgdata.params.user_mul[3] = RGB[1];
|
|
|
|
raw.imgdata.params.user_mul[3] = RGB[1];
|
|
|
|
args.append(TQString("-r %1 %2 %3 %4").tqarg(raw.imgdata.params.user_mul[0])
|
|
|
|
args.append(TQString("-r %1 %2 %3 %4").arg(raw.imgdata.params.user_mul[0])
|
|
|
|
.tqarg(raw.imgdata.params.user_mul[1])
|
|
|
|
.arg(raw.imgdata.params.user_mul[1])
|
|
|
|
.tqarg(raw.imgdata.params.user_mul[2])
|
|
|
|
.arg(raw.imgdata.params.user_mul[2])
|
|
|
|
.tqarg(raw.imgdata.params.user_mul[3]));
|
|
|
|
.arg(raw.imgdata.params.user_mul[3]));
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case RawDecodingSettings::AERA:
|
|
|
|
case RawDecodingSettings::AERA:
|
|
|
@ -569,23 +569,23 @@ bool KDcraw::loadFromDcraw(const TQString& filePath, TQByteArray &imageData,
|
|
|
|
raw.imgdata.params.greybox[1] = m_rawDecodingSettings.whiteBalanceArea.top();
|
|
|
|
raw.imgdata.params.greybox[1] = m_rawDecodingSettings.whiteBalanceArea.top();
|
|
|
|
raw.imgdata.params.greybox[2] = m_rawDecodingSettings.whiteBalanceArea.width();
|
|
|
|
raw.imgdata.params.greybox[2] = m_rawDecodingSettings.whiteBalanceArea.width();
|
|
|
|
raw.imgdata.params.greybox[3] = m_rawDecodingSettings.whiteBalanceArea.height();
|
|
|
|
raw.imgdata.params.greybox[3] = m_rawDecodingSettings.whiteBalanceArea.height();
|
|
|
|
args.append(TQString("-A %1 %2 %3 %4").tqarg(raw.imgdata.params.greybox[0])
|
|
|
|
args.append(TQString("-A %1 %2 %3 %4").arg(raw.imgdata.params.greybox[0])
|
|
|
|
.tqarg(raw.imgdata.params.greybox[1])
|
|
|
|
.arg(raw.imgdata.params.greybox[1])
|
|
|
|
.tqarg(raw.imgdata.params.greybox[2])
|
|
|
|
.arg(raw.imgdata.params.greybox[2])
|
|
|
|
.tqarg(raw.imgdata.params.greybox[3]));
|
|
|
|
.arg(raw.imgdata.params.greybox[3]));
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// (-q) Use an interpolation method.
|
|
|
|
// (-q) Use an interpolation method.
|
|
|
|
raw.imgdata.params.user_qual = m_rawDecodingSettings.RAWQuality;
|
|
|
|
raw.imgdata.params.user_qual = m_rawDecodingSettings.RAWQuality;
|
|
|
|
args.append(TQString("-q %1").tqarg(m_rawDecodingSettings.RAWQuality));
|
|
|
|
args.append(TQString("-q %1").arg(m_rawDecodingSettings.RAWQuality));
|
|
|
|
|
|
|
|
|
|
|
|
if (m_rawDecodingSettings.enableNoiseReduction)
|
|
|
|
if (m_rawDecodingSettings.enableNoiseReduction)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// (-n) Use wavelets to erase noise while preserving real detail.
|
|
|
|
// (-n) Use wavelets to erase noise while preserving real detail.
|
|
|
|
raw.imgdata.params.threshold = m_rawDecodingSettings.NRThreshold;
|
|
|
|
raw.imgdata.params.threshold = m_rawDecodingSettings.NRThreshold;
|
|
|
|
args.append(TQString("-n %1").tqarg(raw.imgdata.params.threshold));
|
|
|
|
args.append(TQString("-n %1").arg(raw.imgdata.params.threshold));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (m_rawDecodingSettings.enableCACorrection)
|
|
|
|
if (m_rawDecodingSettings.enableCACorrection)
|
|
|
@ -593,8 +593,8 @@ bool KDcraw::loadFromDcraw(const TQString& filePath, TQByteArray &imageData,
|
|
|
|
// (-C) Set Correct chromatic aberration correction.
|
|
|
|
// (-C) Set Correct chromatic aberration correction.
|
|
|
|
raw.imgdata.params.aber[0] = m_rawDecodingSettings.caMultiplier[0];
|
|
|
|
raw.imgdata.params.aber[0] = m_rawDecodingSettings.caMultiplier[0];
|
|
|
|
raw.imgdata.params.aber[2] = m_rawDecodingSettings.caMultiplier[1];
|
|
|
|
raw.imgdata.params.aber[2] = m_rawDecodingSettings.caMultiplier[1];
|
|
|
|
args.append(TQString("-C %1 %2").tqarg(raw.imgdata.params.aber[0])
|
|
|
|
args.append(TQString("-C %1 %2").arg(raw.imgdata.params.aber[0])
|
|
|
|
.tqarg(raw.imgdata.params.aber[2]));
|
|
|
|
.arg(raw.imgdata.params.aber[2]));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
switch (m_rawDecodingSettings.inputColorSpace)
|
|
|
|
switch (m_rawDecodingSettings.inputColorSpace)
|
|
|
@ -612,7 +612,7 @@ bool KDcraw::loadFromDcraw(const TQString& filePath, TQByteArray &imageData,
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// (-p) Use input profile file to define the camera's raw colorspace.
|
|
|
|
// (-p) Use input profile file to define the camera's raw colorspace.
|
|
|
|
raw.imgdata.params.camera_profile = cameraProfile.data();
|
|
|
|
raw.imgdata.params.camera_profile = cameraProfile.data();
|
|
|
|
args.append(TQString("-p %1").tqarg(raw.imgdata.params.camera_profile));
|
|
|
|
args.append(TQString("-p %1").arg(raw.imgdata.params.camera_profile));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -628,7 +628,7 @@ bool KDcraw::loadFromDcraw(const TQString& filePath, TQByteArray &imageData,
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// (-o) Use ICC profile file to define the output colorspace.
|
|
|
|
// (-o) Use ICC profile file to define the output colorspace.
|
|
|
|
raw.imgdata.params.output_profile = outputProfile.data();
|
|
|
|
raw.imgdata.params.output_profile = outputProfile.data();
|
|
|
|
args.append(TQString("-o %1").tqarg(raw.imgdata.params.output_profile));
|
|
|
|
args.append(TQString("-o %1").arg(raw.imgdata.params.output_profile));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -636,7 +636,7 @@ bool KDcraw::loadFromDcraw(const TQString& filePath, TQByteArray &imageData,
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// (-o) Define the output colorspace.
|
|
|
|
// (-o) Define the output colorspace.
|
|
|
|
raw.imgdata.params.output_color = m_rawDecodingSettings.outputColorSpace;
|
|
|
|
raw.imgdata.params.output_color = m_rawDecodingSettings.outputColorSpace;
|
|
|
|
args.append(TQString("-o %1").tqarg(raw.imgdata.params.output_color));
|
|
|
|
args.append(TQString("-o %1").arg(raw.imgdata.params.output_color));
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|