Merge branch 'dev' into multiframe-handling, with some merge bugfix

This commit is contained in:
Hombre57 2017-09-17 01:15:51 +02:00
commit 0905294bda
197 changed files with 11535 additions and 5495 deletions

View File

@ -7,6 +7,7 @@ Processor: ${PROC_LABEL}
System: ${SYSTEM}
Bit depth: ${PROC_BIT_DEPTH}
Gtkmm: V${GTKMM_VERSION}
Lensfun: V${LENSFUN_VERSION}
Build type: ${BUILD_TYPE}
Build flags: ${CXX_FLAGS}
Link flags: ${LFLAGS}

View File

@ -231,6 +231,10 @@ if(NOT DEFINED APPDATADIR)
endif()
endif()
if(DEFINED LENSFUNDBDIR AND NOT IS_ABSOLUTE "${LENSFUNDBDIR}")
set(LENSFUNDBDIR "${DATADIR}/${LENSFUNDBDIR}")
endif()
# Enforce absolute paths for non-bundle builds:
if(NOT BUILD_BUNDLE)
foreach(path BINDIR DATADIR LIBDIR DOCDIR CREDITSDIR LICENCEDIR)
@ -272,6 +276,7 @@ pkg_check_modules (GIOMM REQUIRED giomm-2.4>=2.44)
pkg_check_modules (GTHREAD REQUIRED gthread-2.0>=2.44)
pkg_check_modules (GOBJECT REQUIRED gobject-2.0>=2.44)
pkg_check_modules (SIGC REQUIRED sigc++-2.0>=2.3.1)
pkg_check_modules (LENSFUN REQUIRED lensfun>=0.2)
if(WIN32)
add_definitions(-DWIN32)
@ -389,7 +394,8 @@ set(ABOUT_COMMAND_WITH_ARGS ${CMAKE_COMMAND}
-DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DGTKMM_VERSION:STRING=${GTKMM_VERSION}
-DOPTION_OMP:STRING=${OPTION_OMP}
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP})
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP}
-DLENSFUN_VERSION:STRING=${LENSFUN_VERSION})
if(WIN32)
list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Windows
@ -439,6 +445,19 @@ if(UNIX)
install(FILES rawtherapee.appdata.xml DESTINATION "${APPDATADIR}")
endif()
# check whether the used version of lensfun has lfDatabase::LoadDirectory
include(CheckCXXSourceCompiles)
set(CMAKE_REQUIRED_INCLUDES ${LENSFUN_INCLUDE_DIRS})
check_cxx_source_compiles(
"#include <lensfun.h>
int main()
{
lfDatabase *db = 0;
bool b = db->LoadDirectory(0);
return 0;
}" LENSFUN_HAS_LOAD_DIRECTORY)
add_subdirectory(rtexif)
add_subdirectory(rtengine)
add_subdirectory(rtgui)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 178 B

View File

@ -518,8 +518,6 @@ PREFERENCES_DARKFRAMESHOTS;trets
PREFERENCES_DARKFRAMETEMPLATES;plantilles
PREFERENCES_DATEFORMAT;Format de data
PREFERENCES_DATEFORMATHINT;<i>Podeu fer servir les següents cadenes formatades:</i>\n<b>%y</b><i> : any</i>\n<b>%m</b><i> : mes</i>\n<b>%d</b><i> : dia</i>\n<i>\nPer exemple, el format de data hongarès és:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;Idioma per omissió
PREFERENCES_DEFAULTTHEME;Tema per omissió
PREFERENCES_DIRDARKFRAMES;Carpeta de marcs foscos
PREFERENCES_DIRHOME;directori home
PREFERENCES_DIRLAST;Últim directori usat
@ -966,6 +964,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!CURVEEDITOR_AXIS_OUT;O:
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1018,6 +1017,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!GENERAL_AUTO;Automatic
!GENERAL_CLOSE;Close
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTORY_MSG_166;Exposure - Reset
!HISTORY_MSG_174;CIECAM02
@ -1305,6 +1305,15 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1398,7 +1407,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!PREFERENCES_CUSTPROFBUILDKEYFORMAT;Keys format
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1415,7 +1425,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1428,6 +1439,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!PREFERENCES_INSPECT_LABEL;Inspect
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
!PREFERENCES_LISS;Auto multi-zone smoothing
@ -1469,6 +1481,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1555,11 +1568,11 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!TP_CBDL_BEF;Before Black-and-White
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1579,8 +1592,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1591,6 +1604,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1602,9 +1616,11 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1623,10 +1639,14 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1759,15 +1779,15 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
!TP_GRADIENT_STRENGTH_TOOLTIP;Filter strength in stops.
!TP_HLREC_ENA_TOOLTIP;Could be activated by Auto Levels.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image
!TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance

View File

@ -417,8 +417,6 @@ PREFERENCES_D60;6000K
PREFERENCES_D65;6500K
PREFERENCES_DATEFORMAT;日期格式
PREFERENCES_DATEFORMATHINT;<i>可以使用下列控制符:</i>\n<b>%y</b><i> : 年</i>\n<b>%m</b><i> : 月h</i>\n<b>%d</b><i> : 日</i>\n<i>\n例如中文日期格式:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;缺省语言
PREFERENCES_DEFAULTTHEME;默认主题
PREFERENCES_DIRHOME;用户文件路径
PREFERENCES_DIRLAST;上次访问路径
PREFERENCES_DIROTHER;其他
@ -797,6 +795,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!CURVEEDITOR_PARAMETRIC;Parametric
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -878,6 +877,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!GENERAL_APPLY;Apply
!GENERAL_ASIMAGE;As Image
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -1223,6 +1223,15 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1331,6 +1340,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_DARKFRAME;Dark-Frame
!PREFERENCES_DARKFRAMEFOUND;Found
!PREFERENCES_DARKFRAMESHOTS;shots
@ -1354,7 +1364,8 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1369,6 +1380,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1431,6 +1443,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1496,11 +1509,11 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1520,8 +1533,8 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1532,6 +1545,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1540,9 +1554,11 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!TP_COLORAPP_LABEL_SCENE;Scene Conditions
!TP_COLORAPP_LABEL_VIEWING;Viewing Conditions
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1555,10 +1571,14 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!TP_COLORAPP_TCMODE_LABEL1;Curve mode 1
!TP_COLORAPP_TCMODE_LABEL2;Curve mode 2
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1693,17 +1713,17 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!TP_GRADIENT_STRENGTH_TOOLTIP;Filter strength in stops.
!TP_HLREC_ENA_TOOLTIP;Could be activated by Auto Levels.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1713,7 +1733,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
!TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_LABCURVE_CHROMA_TOOLTIP;To apply B&amp;W toning, set Chromaticity to -100.
!TP_LABCURVE_CURVEEDITOR_A_RANGE1;Green Saturated
!TP_LABCURVE_CURVEEDITOR_A_RANGE2;Green Pastel

View File

@ -253,8 +253,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Maximal Thumbnail Height
PREFERENCES_CLIPPINGIND;高光提示
PREFERENCES_DATEFORMAT;日期格式
PREFERENCES_DATEFORMATHINT;<i>You can use the following formatting strings:</i>\n<b>%y</b><i> : year</i>\n<b>%m</b><i> : month</i>\n<b>%d</b><i> : day</i>\n<i>\nFor example, the hungarian date format is:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;預設語言
PREFERENCES_DEFAULTTHEME;Default theme
PREFERENCES_DIRHOME;用戶檔路徑
PREFERENCES_DIRLAST;上次訪問路徑
PREFERENCES_DIROTHER;其他
@ -457,6 +455,7 @@ TP_WBALANCE_TEMPERATURE;色溫
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -582,6 +581,7 @@ TP_WBALANCE_TEMPERATURE;色溫
!GENERAL_NONE;None
!GENERAL_OPEN;Open
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -963,6 +963,15 @@ TP_WBALANCE_TEMPERATURE;色溫
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1134,7 +1143,8 @@ TP_WBALANCE_TEMPERATURE;色溫
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1163,7 +1173,8 @@ TP_WBALANCE_TEMPERATURE;色溫
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1178,6 +1189,7 @@ TP_WBALANCE_TEMPERATURE;色溫
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1243,6 +1255,7 @@ TP_WBALANCE_TEMPERATURE;色溫
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1356,11 +1369,11 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1380,8 +1393,8 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1392,6 +1405,7 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1403,9 +1417,11 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1424,10 +1440,14 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1617,17 +1637,17 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1641,7 +1661,7 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -1001,8 +1001,6 @@ PREFERENCES_DATEFORMAT;Formát data
PREFERENCES_DATEFORMATHINT;Lze použít následující formátovací řetězce:\n<b>%y</b>\t- rok (year)\n<b>%m</b>\t- měsíc (month)\n<b>%d</b>\t- den (day)\n\nNapříklad český formát data:\n<b>%d. %m. %y</b>
PREFERENCES_DAUB_LABEL;Použít D6 Daubechiesové vlnky namísto D4
PREFERENCES_DAUB_TOOLTIP;Nástroje Redukce šumu a Úrovně vlnky používají Daubechiesové mateřskou vlnku. Pokud místo D4 vyberete D6 zvýší se počet ortogonálních Daubechiesové koeficientů a pravděpodobně zvýší kvalitu úrovní malého měřítka. Není zde rozdíl ve spotřebě paměti nebo délce zpracování.
PREFERENCES_DEFAULTLANG;Výchozí jazyk
PREFERENCES_DEFAULTTHEME;Výchozí vzhled
PREFERENCES_DIRDARKFRAMES;Složka tmavých snímků
PREFERENCES_DIRHOME;Domovská složka
PREFERENCES_DIRLAST;Poslední navštívená složka
@ -2167,3 +2165,29 @@ ZOOMPANEL_ZOOMFITSCREEN;Přizpůsobit obrázek obrazovce\nZkratka: <b>f</b>
ZOOMPANEL_ZOOMIN;Přiblížit\nZkratka: <b>+</b>
ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: <b>-</b>
!!!!!!!!!!!!!!!!!!!!!!!!!
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
!DONT_SHOW_AGAIN;Don't show this message again.
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_LANG;Language
!PREFERENCES_THEME;Theme
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance

View File

@ -244,8 +244,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Maksimal miniaturehøjde
PREFERENCES_CLIPPINGIND;Indikator for udbrændte områder
PREFERENCES_DATEFORMAT;Datoformat
PREFERENCES_DATEFORMATHINT;<i>Du kan bruge følgende formatindstillinger:</i>\n<b>%y</b><i> : år</i>\n<b>%m</b><i> : måned</i>\n<b>%d</b><i> : dag</i>\n<i>\nDet typiske datoformat i danmark er:</i>\n<b>%d/%m/%y</b>
PREFERENCES_DEFAULTLANG;Sprog
PREFERENCES_DEFAULTTHEME;Tema
PREFERENCES_DIRHOME;Standardmappe
PREFERENCES_DIRLAST;Sidst anvendte mappe
PREFERENCES_DIROTHER;Andet
@ -449,6 +447,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -578,6 +577,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!GENERAL_OPEN;Open
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -959,6 +959,15 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1132,7 +1141,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1161,7 +1171,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1176,6 +1187,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1241,6 +1253,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1354,11 +1367,11 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1378,8 +1391,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1390,6 +1403,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1401,9 +1415,11 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1422,10 +1438,14 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1615,17 +1635,17 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1639,7 +1659,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -1021,8 +1021,6 @@ PREFERENCES_DATEFORMAT;Format
PREFERENCES_DATEFORMATHINT;Die folgenden Variablen können verwendet werden:\n<b>%y</b> : <i>Jahr</i>\n<b>%m</b> : <i>Monat</i>\n<b>%d</b> : <i>Tag</i>\n\nBeispiele:\n<b>%d.%m.%y</b> (übliche deutsche Datumsschreibweise)\n<b>%y-%m-%d</b> (Datumsformat nach ISO 8601 und EN 28601)
PREFERENCES_DAUB_LABEL;Benutze Daubechies D6-Wavelets anstatt D4
PREFERENCES_DAUB_TOOLTIP;Rauschreduzierung und Waveletebenen verwenden ein Debauchies Mutter-Wavelet. Wenn Sie D6 statt D4 wählen, erhöhen Sie die Anzahl der orthogonalen Daubechies-Koeffizienten, was die Qualität bei niedrigen Ebenen verbessern kann. Es gibt keinen Unterschied zwischen D4 und D6 im Speicherverbrauch oder in der Verarbeitungszeit.
PREFERENCES_DEFAULTLANG;Sprache für Menüs und Dialoge
PREFERENCES_DEFAULTTHEME;Oberflächendesign
PREFERENCES_DIRDARKFRAMES;Dunkelbild-Verzeichnis
PREFERENCES_DIRHOME;Benutzer-Verzeichnis
PREFERENCES_DIRLAST;Zuletzt geöffnetes Verzeichnis
@ -2187,3 +2185,29 @@ ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen\nTaste: <b>f</b>
ZOOMPANEL_ZOOMIN;Hineinzoomen\nTaste: <b>+</b>
ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: <b>-</b>
!!!!!!!!!!!!!!!!!!!!!!!!!
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
!DONT_SHOW_AGAIN;Don't show this message again.
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_LANG;Language
!PREFERENCES_THEME;Theme
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance

View File

@ -58,7 +58,6 @@ TP_COLORAPP_CHROMA_M_TOOLTIP;Colourfulness in CIECAM02 differs from L*a*b* and R
TP_COLORAPP_CURVEEDITOR3;Colour curve
TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colourfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of C, s or M after CIECAM02.\n\nC, s and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel.
TP_COLORAPP_LABEL;CIE Colour Appearance Model 2002
TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Colour Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Colour Management</i>.
TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colours to take into account the viewing conditions of the output device.\n\n<b>Average</b>: Average light environment (standard). The image will not change.\n\n<b>Dim</b>: Dim environment (TV). The image will become slighty dark.\n\n<b>Dark</b>: Dark environment (projector). The image will become more dark.\n\n<b>Extremly Dark</b>: Extremly dark environment (cutsheet). The image will become very dark.
TP_COLORAPP_TCMODE_COLORF;Colourfulness
TP_COLORTONING_COLOR;Colour
@ -141,6 +140,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!CURVEEDITOR_TOOLTIPSAVE;Save current curve.
!CURVEEDITOR_TYPE;Type:
!DIRBROWSER_FOLDERS;Folders
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -334,6 +334,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!GENERAL_SAVE;Save
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_B;Show/Hide blue histogram.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
@ -786,6 +787,15 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT;Add
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!HISTORY_SNAPSHOT;Snapshot
@ -1023,7 +1033,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1035,8 +1046,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!PREFERENCES_DATEFORMATHINT;You can use the following formatting strings:\n<b>%y</b> - year\n<b>%m</b> - month\n<b>%d</b> - day\n\nFor example, the ISO 8601 standard dictates the date format as follows:\n<b>%y-%m-%d</b>
!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
!PREFERENCES_DEFAULTLANG;Default Language
!PREFERENCES_DEFAULTTHEME;Default Theme
!PREFERENCES_DIRDARKFRAMES;Dark-frames directory
!PREFERENCES_DIRHOME;Home directory
!PREFERENCES_DIRLAST;Last visited directory
@ -1068,7 +1077,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1087,6 +1097,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!PREFERENCES_INTENT_PERCEPTUAL;Perceptual
!PREFERENCES_INTENT_SATURATION;Saturation
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1172,6 +1183,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!PREFERENCES_TAB_IMPROC;Image Processing
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1319,11 +1331,11 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_COARSETRAF_TOOLTIP_ROTLEFT;Rotate left.\n\nShortcuts:\n<b>[</b> - Multiple Editor Tabs Mode,\n<b>Alt-[</b> - Single Editor Tab Mode.
!TP_COARSETRAF_TOOLTIP_ROTRIGHT;Rotate right.\n\nShortcuts:\n<b>]</b> - Multiple Editor Tabs Mode,\n<b>Alt-]</b> - Single Editor Tab Mode.
!TP_COARSETRAF_TOOLTIP_VFLIP;Flip vertically.
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1339,8 +1351,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1349,6 +1361,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1359,8 +1372,11 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1377,10 +1393,14 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1577,17 +1597,17 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERA;Camera standard
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCUSTOM;Custom
@ -1603,7 +1623,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_ICM_WORKINGPROFILE;Working Profile
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold

View File

@ -37,6 +37,7 @@
!CURVEEDITOR_TOOLTIPSAVE;Save current curve.
!CURVEEDITOR_TYPE;Type:
!DIRBROWSER_FOLDERS;Folders
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -235,6 +236,7 @@
!GENERAL_SAVE;Save
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_B;Show/Hide blue histogram.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
@ -705,6 +707,15 @@
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT;Add
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!HISTORY_SNAPSHOT;Snapshot
@ -953,7 +964,8 @@
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -965,8 +977,6 @@
!PREFERENCES_DATEFORMATHINT;You can use the following formatting strings:\n<b>%y</b> - year\n<b>%m</b> - month\n<b>%d</b> - day\n\nFor example, the ISO 8601 standard dictates the date format as follows:\n<b>%y-%m-%d</b>
!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
!PREFERENCES_DEFAULTLANG;Default Language
!PREFERENCES_DEFAULTTHEME;Default Theme
!PREFERENCES_DIRDARKFRAMES;Dark-frames directory
!PREFERENCES_DIRHOME;Home directory
!PREFERENCES_DIRLAST;Last visited directory
@ -998,7 +1008,8 @@
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1020,6 +1031,7 @@
!PREFERENCES_INTENT_RELATIVE;Relative Colorimetric
!PREFERENCES_INTENT_SATURATION;Saturation
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1111,6 +1123,7 @@
!PREFERENCES_TAB_IMPROC;Image Processing
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1268,11 +1281,11 @@
!TP_COARSETRAF_TOOLTIP_ROTLEFT;Rotate left.\n\nShortcuts:\n<b>[</b> - Multiple Editor Tabs Mode,\n<b>Alt-[</b> - Single Editor Tab Mode.
!TP_COARSETRAF_TOOLTIP_ROTRIGHT;Rotate right.\n\nShortcuts:\n<b>]</b> - Multiple Editor Tabs Mode,\n<b>Alt-]</b> - Single Editor Tab Mode.
!TP_COARSETRAF_TOOLTIP_VFLIP;Flip vertically.
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1292,8 +1305,8 @@
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1304,6 +1317,7 @@
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1315,9 +1329,11 @@
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1336,10 +1352,14 @@
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1556,17 +1576,17 @@
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERA;Camera standard
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
@ -1588,7 +1608,7 @@
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_ICM_WORKINGPROFILE;Working Profile
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold

View File

@ -765,8 +765,6 @@ PREFERENCES_DARKFRAMESHOTS;disparos
PREFERENCES_DARKFRAMETEMPLATES;plantillas
PREFERENCES_DATEFORMAT;Formato de fecha
PREFERENCES_DATEFORMATHINT;<i>Puede usar las siguientes variables :</i>\n<b>%y</b><i> : año</i>\n<b>%m</b><i> : mes</i>\n<b>%d</b><i> : dia</i>\n<i>\nPor ejemplo, la fecha en formato Húngaro es: </i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;Idioma predeterminado
PREFERENCES_DEFAULTTHEME;Tema predeterminado
PREFERENCES_DIRDARKFRAMES;Carpeta con las Tomas Negras
PREFERENCES_DIRHOME;Carpeta de usuario
PREFERENCES_DIRLAST;Última carpeta visitada
@ -1507,6 +1505,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
!CURVEEDITOR_AXIS_OUT;O:
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1536,6 +1535,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
!GENERAL_APPLY;Apply
!GENERAL_ASIMAGE;As Image
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_166;Exposure - Reset
!HISTORY_MSG_299;NR - Chrominance curve
!HISTORY_MSG_300;-
@ -1698,6 +1698,15 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1760,11 +1769,13 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
!PREFERENCES_CURVEBBOXPOS_BELOW;Below
!PREFERENCES_CURVEBBOXPOS_LEFT;Left
!PREFERENCES_CURVEBBOXPOS_RIGHT;Right
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
!PREFERENCES_EXPAUT;Expert
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser.
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREYSC;Scene Yb luminance (%)
!PREFERENCES_GREYSC18;Yb=18 CIE L#50
!PREFERENCES_GREYSCA;Automatic
@ -1772,6 +1783,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
!PREFERENCES_INSPECT_LABEL;Inspect
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
!PREFERENCES_LISS;Auto multi-zone smoothing
@ -1809,6 +1821,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
!PREFERENCES_SMA;Small (250x287)
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1826,6 +1839,13 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
!TP_CBDL_BEF;Before Black-and-White
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
@ -1871,11 +1891,11 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
!TP_EXPOSURE_TCMODE_PERCEPTUAL;Perceptual
!TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapee is configured to look for Hald CLUT images, which are used for the Film Simulation tool, in a folder which is taking too long to load.\nGo to Preferences > Image Processing > Film Simulation\nto see which folder is being used. You should either point RawTherapee to a folder which contains only Hald CLUT images and nothing more, or to an empty folder if you don't want to use the Film Simulation tool.\n\nRead the Film Simulation article in RawPedia for more information.\n\nDo you want to cancel the scan now?
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image

View File

@ -244,8 +244,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Maximal Thumbnail Height
PREFERENCES_CLIPPINGIND;Itzal/argi moztuen adierazlea
PREFERENCES_DATEFORMAT;Data formatua
PREFERENCES_DATEFORMATHINT;<i>You can use the following formatting strings:</i>\n<b>%y</b><i> : year</i>\n<b>%m</b><i> : month</i>\n<b>%d</b><i> : day</i>\n<i>\nFor example, the hungarian date format is:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;Hizkuntza
PREFERENCES_DEFAULTTHEME;Default theme
PREFERENCES_DIRHOME;Etxe karpeta
PREFERENCES_DIRLAST;Azkena ikusitako karpeta
PREFERENCES_DIROTHER;Besterik
@ -449,6 +447,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -578,6 +577,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!GENERAL_OPEN;Open
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -959,6 +959,15 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1132,7 +1141,8 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1161,7 +1171,8 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1176,6 +1187,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1241,6 +1253,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1354,11 +1367,11 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1378,8 +1391,8 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1390,6 +1403,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1401,9 +1415,11 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1422,10 +1438,14 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1615,17 +1635,17 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1639,7 +1659,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -962,8 +962,6 @@ PREFERENCES_DATEFORMAT;Format
PREFERENCES_DATEFORMATHINT;<i>Vous pouvez utiliser les paramètres de chaînes formatées suivants:</i>\n<b>%y</b><i> : année</i>\n<b>%m</b><i> : mois</i>\n<b>%d</b><i> : jour</i>\n<i>\nPar exemple, le format de date française est:</i>\n<b>%d/%m/%y</b>
PREFERENCES_DAUB_LABEL;Utiliser les ondelettes de Daubechies D6 au lieu de D4
PREFERENCES_DAUB_TOOLTIP;Les outils de Réduction de Bruit et de Niveaux d'Ondelettes utilisent une ondelette de Debauchie mère. Si vous choisissez D6 au lieu de D4 vous augmentez le nombre de coéf. orthogonaux de Daubechies et augmentez probablement la qualité des niveaux de taille moyenne. Il n'y a pas de différence de consommation mémoire ou de temps de traitement entre les deux.
PREFERENCES_DEFAULTLANG;Langue par défaut
PREFERENCES_DEFAULTTHEME;Thème par défaut
PREFERENCES_DIRDARKFRAMES;Dossier des images de Trame Noire
PREFERENCES_DIRHOME;Racine de mes documents personnels
PREFERENCES_DIRLAST;Dernier dossier visité
@ -2137,3 +2135,29 @@ ZOOMPANEL_ZOOMFITSCREEN;Affiche l'image entière\nRaccourci: <b>f</b>
ZOOMPANEL_ZOOMIN;Zoom Avant\nRaccourci: <b>+</b>
ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: <b>-</b>
!!!!!!!!!!!!!!!!!!!!!!!!!
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
!DONT_SHOW_AGAIN;Don't show this message again.
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_LANG;Language
!PREFERENCES_THEME;Theme
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance

View File

@ -244,8 +244,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Maximal Thumbnail Height
PREFERENCES_CLIPPINGIND;Ένδειξη ψαλιδίσματος
PREFERENCES_DATEFORMAT;Διάταξη ημερομηνίας
PREFERENCES_DATEFORMATHINT;<i>YΜπορείτε να χρησιμοποιήσετε τις εξής εντολές μορφοποίησης:</i>\n<b>%y</b><i> : χρονολογία</i>\n<b>%m</b><i> : μήνας</i>\n<b>%d</b><i> : ημέρα</i>\n<i>\nΓια παράδειγμα, η μορφοποίηση ημερομηνίας στην Ελλάδα είναι:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;Προεπιλεγμένη γλώσσα
PREFERENCES_DEFAULTTHEME;Προεπιλεγμένο θέμα
PREFERENCES_DIRHOME;Τοποθεσία "Home"
PREFERENCES_DIRLAST;Τελευταία τοποθεσία που χρησιμοποιήθηκε
PREFERENCES_DIROTHER;Άλλο
@ -448,6 +446,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -577,6 +576,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!GENERAL_OPEN;Open
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -958,6 +958,15 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1131,7 +1140,8 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1160,7 +1170,8 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1175,6 +1186,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1240,6 +1252,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1353,11 +1366,11 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1377,8 +1390,8 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1389,6 +1402,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1400,9 +1414,11 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1421,10 +1437,14 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1614,17 +1634,17 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1638,7 +1658,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -244,8 +244,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Maximal Thumbnail Height
PREFERENCES_CLIPPINGIND;סימון קיצוץ
PREFERENCES_DATEFORMAT;צורת תאריך
PREFERENCES_DATEFORMATHINT;<i>You can use the following formatting strings:</i>\n<b>%y</b><i> : year</i>\n<b>%m</b><i> : month</i>\n<b>%d</b><i> : day</i>\n<i>\nFor example, the hungarian date format is:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;שפה ברירת המחדל
PREFERENCES_DEFAULTTHEME;Default theme
PREFERENCES_DIRHOME;תיקיית הבית
PREFERENCES_DIRLAST;תיקיה האחרונה שביקרתי בה
PREFERENCES_DIROTHER;אחר
@ -449,6 +447,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -578,6 +577,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!GENERAL_OPEN;Open
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -959,6 +959,15 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1132,7 +1141,8 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1161,7 +1171,8 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1176,6 +1187,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1241,6 +1253,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1354,11 +1367,11 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1378,8 +1391,8 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1390,6 +1403,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1401,9 +1415,11 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1422,10 +1438,14 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1615,17 +1635,17 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1639,7 +1659,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -667,8 +667,6 @@ PREFERENCES_DARKFRAMESHOTS;fotogrammi
PREFERENCES_DARKFRAMETEMPLATES;modelli
PREFERENCES_DATEFORMAT;Formato della data
PREFERENCES_DATEFORMATHINT;<i>Puoi usare le seguenti stringhe di formattazione:</i>\n<b>%y</b><i> : anno</i>\n<b>%m</b><i> : mese</i>\n<b>%d</b><i> : giorno</i>\n<i>\nPer esempio, il formato italiano per la data è:</i>\n<b>%d/%m/%y</b>
PREFERENCES_DEFAULTLANG;Lingua predefinita
PREFERENCES_DEFAULTTHEME;Tema predefinito
PREFERENCES_DIRDARKFRAMES;Cartella dei fotogrammi di fondo (Dark Frame)
PREFERENCES_DIRHOME;Cartella personale dell'utente (home directory)
PREFERENCES_DIRLAST;Ultima cartella visitata
@ -1338,6 +1336,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
!CURVEEDITOR_AXIS_OUT;O:
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1366,6 +1365,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
!GENERAL_APPLY;Apply
!GENERAL_ASIMAGE;As Image
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_166;Exposure - Reset
!HISTORY_MSG_256;NR - Median type
!HISTORY_MSG_257;Color Toning
@ -1571,6 +1571,15 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1630,12 +1639,14 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
!PREFERENCES_CURVEBBOXPOS_BELOW;Below
!PREFERENCES_CURVEBBOXPOS_LEFT;Left
!PREFERENCES_CURVEBBOXPOS_RIGHT;Right
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
!PREFERENCES_EXPAUT;Expert
!PREFERENCES_FILMSIMULATION;Film Simulation
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser.
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREYSC;Scene Yb luminance (%)
!PREFERENCES_GREYSC18;Yb=18 CIE L#50
!PREFERENCES_GREYSCA;Automatic
@ -1643,6 +1654,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
!PREFERENCES_INSPECT_LABEL;Inspect
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
!PREFERENCES_LISS;Auto multi-zone smoothing
@ -1680,6 +1692,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
!PREFERENCES_SMA;Small (250x287)
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1697,6 +1710,13 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
!TP_CBDL_BEF;Before Black-and-White
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1798,11 +1818,11 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
!TP_FLATFIELD_CLIPCONTROL;Clip control
!TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Clip control avoids clipped highlights caused by applying the flat field. If there are already clipped highlights before applying the flat field, clip control can lead to color cast.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image

View File

@ -889,8 +889,6 @@ PREFERENCES_DATEFORMAT;日付の形式
PREFERENCES_DATEFORMATHINT;<i>次の書式を使用することができます:</i>\n<b>%y</b><i> : 年</i>\n<b>%m</b><i> : 月</i>\n<b>%d</b><i> : 日</i>\n<i>\n例として, ハンガリアン記法の日付:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DAUB_LABEL;ドビッシー関数のタイプ D4の代わりにD6を使う
PREFERENCES_DAUB_TOOLTIP;イズ低減とウェーブレットのレベルツールはマザーウェーブレットにドビッシーを使っています。このタイプでD4の代わりにD6を選択すると、直交系であるドビッシーの係数が増えるので、恐らくスケールの小さいレベルは質が向上するでしょう。タイプを変えても処理時間やメモリー使用量に影響はありません。
PREFERENCES_DEFAULTLANG;デフォルトの言語
PREFERENCES_DEFAULTTHEME;デフォルトテーマ
PREFERENCES_DIRDARKFRAMES;ダークフレーム・ディレクトリ
PREFERENCES_DIRHOME;ホーム・ディレクトリ
PREFERENCES_DIRLAST;最近参照したディレクトリ
@ -1877,6 +1875,7 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1895,6 +1894,7 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!GENERAL_APPLY;Apply
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_166;Exposure - Reset
!HISTORY_MSG_407;Retinex - Method
!HISTORY_MSG_408;Retinex - Radius
@ -1949,6 +1949,15 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1983,6 +1992,9 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
!PARTIALPASTE_RAW_PIXELSHIFT;PixelShift
!PARTIALPASTE_RETINEX;Retinex
!PREFERENCES_CMMBPC;Black point compensation
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_LANG;Language
!PREFERENCES_MONINTENT;Default rendering intent
!PREFERENCES_MONITOR;Monitor
!PREFERENCES_MONPROFILE;Default color profile
@ -1997,6 +2009,7 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
!PREFERENCES_PRTPROFILE;Color profile
!PREFERENCES_SELECTFONT_COLPICKER;Select Color Picker's font
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_THEME;Theme
!PREFERENCES_TUNNELMETADATA;Copy Exif/IPTC/XMP unchanged to output file
!PROFILEPANEL_PDYNAMIC;Dynamic
!SAVEDLG_SUBSAMP_TOOLTIP;Best compression:\nJ:a:b 4:2:0\nh/v 2/2\nChroma halved horizontally and vertically.\n\nBalanced:\nJ:a:b 4:2:2\nh/v 2/1\nChroma halved horizontally.\n\nBest quality:\nJ:a:b 4:4:4\nh/v 1/1\nNo chroma subsampling.
@ -2007,6 +2020,13 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
!TP_CBDL_BEF;Before Black-and-White
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_DIRPYRDENOISE_3X3;3×3
!TP_DIRPYRDENOISE_3X3_SOFT;3×3 soft
!TP_DIRPYRDENOISE_5X5;5×5

View File

@ -244,8 +244,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Keša maksimālais sīktēla augstums
PREFERENCES_CLIPPINGIND;Cirpšanas pazīme
PREFERENCES_DATEFORMAT;Datuma formāts
PREFERENCES_DATEFORMATHINT;Jūs varat lietot šāduas formatēšanas parametrus:\n%y : gads\n%m : mēnesis\n%d : diena\n\nPiemēram, ungāru datuma formāts ir:\n%y/%m/%d
PREFERENCES_DEFAULTLANG;Noklusētā valoda
PREFERENCES_DEFAULTTHEME;Noklusētā tēma
PREFERENCES_DIRHOME;Mājas mape
PREFERENCES_DIRLAST;Pēdējā lietotā mape
PREFERENCES_DIROTHER;Cita
@ -449,6 +447,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -578,6 +577,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!GENERAL_OPEN;Open
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -959,6 +959,15 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1132,7 +1141,8 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1161,7 +1171,8 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1176,6 +1187,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1241,6 +1253,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1354,11 +1367,11 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1378,8 +1391,8 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1390,6 +1403,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1401,9 +1415,11 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1422,10 +1438,14 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1615,17 +1635,17 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1639,7 +1659,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -499,8 +499,6 @@ PREFERENCES_DARKFRAMESHOTS;kép
PREFERENCES_DARKFRAMETEMPLATES;sablonok
PREFERENCES_DATEFORMAT;Dátumformátum
PREFERENCES_DATEFORMATHINT;<i>A következő jeleket lehet használni:</i>\n<b>%y</b><i> : év</i>\n<b>%m</b><i> : hónap</i>\n<b>%d</b><i> : nap</i>\n<i>\nPéldául a magyar dátumformátum:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;Alapértelmezett nyelv
PREFERENCES_DEFAULTTHEME;Alapértelmezett kinézet
PREFERENCES_DIRDARKFRAMES;Dark frame könyvtára
PREFERENCES_DIRHOME;Saját könyvtár
PREFERENCES_DIRLAST;Utoljára látogatott könyvtár
@ -881,6 +879,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!CURVEEDITOR_AXIS_OUT;O:
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -939,6 +938,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!GENERAL_CLOSE;Close
!GENERAL_OPEN;Open
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
!HISTORY_MSG_166;Exposure - Reset
@ -1234,6 +1234,15 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1334,7 +1343,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!PREFERENCES_CUSTPROFBUILDKEYFORMAT;Keys format
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1351,7 +1361,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1364,6 +1375,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!PREFERENCES_INSPECT_LABEL;Inspect
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
!PREFERENCES_LISS;Auto multi-zone smoothing
@ -1406,6 +1418,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1506,11 +1519,11 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!TP_CBDL_BEF;Before Black-and-White
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1530,8 +1543,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1542,6 +1555,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1553,9 +1567,11 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1574,10 +1590,14 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1721,22 +1741,22 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
!TP_GRADIENT_STRENGTH_TOOLTIP;Filter strength in stops.
!TP_HLREC_ENA_TOOLTIP;Could be activated by Auto Levels.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image
!TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift
!TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction.
!TP_LABCURVE_CHROMATICITY;Chromaticity

View File

@ -974,8 +974,6 @@ PREFERENCES_DATEFORMAT;Datumformaat
PREFERENCES_DATEFORMATHINT;<i>U kunt de volgende formaten gebruiken:</i>\n<b>%y</b><i> : jaar</i>\n<b>%m</b><i> : maand</i>\n<b>%d</b><i> : dag</i>\n<i>\nHet Nederlandse datumformaat is bijvoorbeeld:</i>\n<b>%d/%m/%y</b>
PREFERENCES_DAUB_LABEL;Gebruik Daubechies D6 wavelets in plaats van D4
PREFERENCES_DAUB_TOOLTIP;De Ruisonderdrukking en Wavelet niveaus gebruiken de Debauchies moeder wavelet. Als je D6 gebruikt in plaats van D4 vergroot het aantal orthogonale Daubechies coëfficiënten en dit verbeterd waarschijnlijk de kwaliteit van de lage niveaus.
PREFERENCES_DEFAULTLANG;Standaardtaal
PREFERENCES_DEFAULTTHEME;Standaardthema
PREFERENCES_DIRDARKFRAMES;Map met donkerframes
PREFERENCES_DIRHOME;Standaardmap
PREFERENCES_DIRLAST;Laatst bezochte map
@ -2141,11 +2139,33 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: <b>-</b>
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
!DONT_SHOW_AGAIN;Don't show this message again.
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_441;Retinex - Gain transmission
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_LANG;Language
!PREFERENCES_PROFILESAVEBOTH;Save processing profile both to the cache and next to the input file
!PREFERENCES_PROFILESAVELOCATION;Processing profile saving location
!PREFERENCES_THEME;Theme
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_RAW_IMAGENUM_TOOLTIP;Some raw files consist of several sub-images (Pentax Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel).\n\nWhen using any demosaicing method other than Pixel Shift, this selects which sub-image is used.\n\nWhen using the Pixel Shift demosaicing method on a Pixel Shift raw, all sub-images are used, and this selects which sub-image should be used for moving parts.
!TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL;Equalize per channel
!TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;Enabled: Equalize the RGB channels individually.\nDisabled: Use same equalization factor for all channels.

View File

@ -244,8 +244,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Maksimal Thumbnail Høyde
PREFERENCES_CLIPPINGIND;Markerings-indikasjon
PREFERENCES_DATEFORMAT;Datoformat
PREFERENCES_DATEFORMATHINT;<i>Du kan bruke følgende formattering:</i>\n<b>%y</b><i> : år</i>\n<b>%m</b><i> : måned</i>\n<b>%d</b><i> : dag</i>\n<i>\nF. eks. er ungarsk datoformat:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;Programspråk
PREFERENCES_DEFAULTTHEME;Standard tema
PREFERENCES_DIRHOME;Hjemmemappe
PREFERENCES_DIRLAST;Sidste besøkte mappe
PREFERENCES_DIROTHER;Annen
@ -448,6 +446,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -577,6 +576,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!GENERAL_OPEN;Open
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -958,6 +958,15 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1131,7 +1140,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1160,7 +1170,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1175,6 +1186,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1240,6 +1252,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1353,11 +1366,11 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1377,8 +1390,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1389,6 +1402,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1400,9 +1414,11 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1421,10 +1437,14 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1614,17 +1634,17 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1638,7 +1658,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -720,8 +720,6 @@ PREFERENCES_DARKFRAMESHOTS;zdjęć(ia)
PREFERENCES_DARKFRAMETEMPLATES;szablonów(ny)
PREFERENCES_DATEFORMAT;Format daty
PREFERENCES_DATEFORMATHINT;<i>Dozwolone są następujące kody formatujące:\n<b>%y</b> - rok\n<b>%m</b> - miesiąc\n<b>%d</b> - dzień\n\nNa przykład według standardu ISO 8601 format daty wygląda następująco:\n<b>%y-%m-%d</b>
PREFERENCES_DEFAULTLANG;Domyślny język
PREFERENCES_DEFAULTTHEME;Domyślny temat
PREFERENCES_DIRDARKFRAMES;Katalog z czarnymi klatkami
PREFERENCES_DIRHOME;Katalog domowy
PREFERENCES_DIRLAST;Ostatnio odwiedzony katalog
@ -1465,6 +1463,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
!CURVEEDITOR_AXIS_OUT;O:
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1493,6 +1492,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
!GENERAL_APPLY;Apply
!GENERAL_ASIMAGE;As Image
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_166;Exposure - Reset
!HISTORY_MSG_299;NR - Chrominance curve
!HISTORY_MSG_300;-
@ -1655,6 +1655,15 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1708,11 +1717,13 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
!PREFERENCES_CURVEBBOXPOS_BELOW;Below
!PREFERENCES_CURVEBBOXPOS_LEFT;Left
!PREFERENCES_CURVEBBOXPOS_RIGHT;Right
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
!PREFERENCES_EXPAUT;Expert
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser.
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREYSC;Scene Yb luminance (%)
!PREFERENCES_GREYSC18;Yb=18 CIE L#50
!PREFERENCES_GREYSCA;Automatic
@ -1720,6 +1731,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
!PREFERENCES_INSPECT_LABEL;Inspect
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
!PREFERENCES_LISS;Auto multi-zone smoothing
@ -1757,6 +1769,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
!PREFERENCES_SMA;Small (250x287)
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1774,6 +1787,13 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
!TP_CBDL_BEF;Before Black-and-White
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
@ -1819,11 +1839,11 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
!TP_EXPOSURE_TCMODE_PERCEPTUAL;Perceptual
!TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapee is configured to look for Hald CLUT images, which are used for the Film Simulation tool, in a folder which is taking too long to load.\nGo to Preferences > Image Processing > Film Simulation\nto see which folder is being used. You should either point RawTherapee to a folder which contains only Hald CLUT images and nothing more, or to an empty folder if you don't want to use the Film Simulation tool.\n\nRead the Film Simulation article in RawPedia for more information.\n\nDo you want to cancel the scan now?
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image

View File

@ -720,8 +720,6 @@ PREFERENCES_DARKFRAMESHOTS;zdjec(ia)
PREFERENCES_DARKFRAMETEMPLATES;szablonow(ny)
PREFERENCES_DATEFORMAT;Format daty
PREFERENCES_DATEFORMATHINT;<i>Dozwolone sa nastepujace kody formatujace:\n<b>%y</b> - rok\n<b>%m</b> - miesiac\n<b>%d</b> - dzien\n\nNa przyklad wedlug standardu ISO 8601 format daty wyglada nastepujaco:\n<b>%y-%m-%d</b>
PREFERENCES_DEFAULTLANG;Domyslny jezyk
PREFERENCES_DEFAULTTHEME;Domyslny temat
PREFERENCES_DIRDARKFRAMES;Katalog z czarnymi klatkami
PREFERENCES_DIRHOME;Katalog domowy
PREFERENCES_DIRLAST;Ostatnio odwiedzony katalog
@ -1465,6 +1463,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
!CURVEEDITOR_AXIS_OUT;O:
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1493,6 +1492,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
!GENERAL_APPLY;Apply
!GENERAL_ASIMAGE;As Image
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_166;Exposure - Reset
!HISTORY_MSG_299;NR - Chrominance curve
!HISTORY_MSG_300;-
@ -1655,6 +1655,15 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1708,11 +1717,13 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
!PREFERENCES_CURVEBBOXPOS_BELOW;Below
!PREFERENCES_CURVEBBOXPOS_LEFT;Left
!PREFERENCES_CURVEBBOXPOS_RIGHT;Right
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
!PREFERENCES_EXPAUT;Expert
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser.
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREYSC;Scene Yb luminance (%)
!PREFERENCES_GREYSC18;Yb=18 CIE L#50
!PREFERENCES_GREYSCA;Automatic
@ -1720,6 +1731,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
!PREFERENCES_INSPECT_LABEL;Inspect
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
!PREFERENCES_LISS;Auto multi-zone smoothing
@ -1757,6 +1769,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
!PREFERENCES_SMA;Small (250x287)
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1774,6 +1787,13 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
!TP_CBDL_BEF;Before Black-and-White
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
@ -1819,11 +1839,11 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
!TP_EXPOSURE_TCMODE_PERCEPTUAL;Perceptual
!TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapee is configured to look for Hald CLUT images, which are used for the Film Simulation tool, in a folder which is taking too long to load.\nGo to Preferences > Image Processing > Film Simulation\nto see which folder is being used. You should either point RawTherapee to a folder which contains only Hald CLUT images and nothing more, or to an empty folder if you don't want to use the Film Simulation tool.\n\nRead the Film Simulation article in RawPedia for more information.\n\nDo you want to cancel the scan now?
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image

View File

@ -244,8 +244,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Tamanho máximo das miniaturas
PREFERENCES_CLIPPINGIND;Recortando indicação
PREFERENCES_DATEFORMAT;Formato de data
PREFERENCES_DATEFORMATHINT;<i>Você pode usar as seguintes formatações:</i>\n<b>%a</b><i> : ano</i>\n<b>%m</b><i> : mês</i>\n<b>%d</b><i> : dia</i>\n<i>\nPor exemplo, o formato de data húngaro é:</i>\n<b>%a/%m/%d</b>
PREFERENCES_DEFAULTLANG;Idioma padrão
PREFERENCES_DEFAULTTHEME;Tema padrão
PREFERENCES_DIRHOME;Directory inicial
PREFERENCES_DIRLAST;Último directory visitado
PREFERENCES_DIROTHER;Outro
@ -449,6 +447,7 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -578,6 +577,7 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!GENERAL_OPEN;Open
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -959,6 +959,15 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1132,7 +1141,8 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1161,7 +1171,8 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1176,6 +1187,7 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1241,6 +1253,7 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1354,11 +1367,11 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1378,8 +1391,8 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1390,6 +1403,7 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1401,9 +1415,11 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1422,10 +1438,14 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1615,17 +1635,17 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1639,7 +1659,7 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -651,8 +651,6 @@ PREFERENCES_DARKFRAMESHOTS;снимков
PREFERENCES_DARKFRAMETEMPLATES;шаблонов
PREFERENCES_DATEFORMAT;Формат даты
PREFERENCES_DATEFORMATHINT;Вы можете использовать следующие элементы форматирования:\n<b>%y</b><i>: год</i>\n<b>%m</b><i>: месяц</i>\n<b>%d</b><i>: день</i>\n\nНапример, венгерский формат даты такой:\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;Язык по умолчанию
PREFERENCES_DEFAULTTHEME;Тема по умолчанию
PREFERENCES_DIRDARKFRAMES;Каталог размещения темновых кадров
PREFERENCES_DIRHOME;Домашний каталог
PREFERENCES_DIRLAST;Последний каталог
@ -1274,6 +1272,7 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!CURVEEDITOR_AXIS_OUT;O:
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1305,6 +1304,7 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!GENERAL_APPLY;Apply
!GENERAL_ASIMAGE;As Image
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_166;Exposure - Reset
!HISTORY_MSG_252;CbDL - Skin tar/prot
!HISTORY_MSG_253;CbDL - Reduce artifacts
@ -1514,6 +1514,15 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1584,12 +1593,14 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!PREFERENCES_CURVEBBOXPOS_BELOW;Below
!PREFERENCES_CURVEBBOXPOS_LEFT;Left
!PREFERENCES_CURVEBBOXPOS_RIGHT;Right
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
!PREFERENCES_EXPAUT;Expert
!PREFERENCES_FILMSIMULATION;Film Simulation
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser.
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREYSC;Scene Yb luminance (%)
!PREFERENCES_GREYSC18;Yb=18 CIE L#50
!PREFERENCES_GREYSCA;Automatic
@ -1599,6 +1610,7 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!PREFERENCES_INSPECT_LABEL;Inspect
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
!PREFERENCES_LISS;Auto multi-zone smoothing
@ -1637,6 +1649,7 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!PREFERENCES_SMA;Small (250x287)
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1661,6 +1674,7 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_HUE_TOOLTIP;Hue (h) - angle between 0° and 360°.
!TP_COLORAPP_LABEL;CIE Color Appearance Model 2002
!TP_COLORAPP_LABEL_CAM02;Image Adjustments
@ -1668,9 +1682,11 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!TP_COLORAPP_LABEL_VIEWING;Viewing Conditions
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SURROUND;Surround
!TP_COLORAPP_SURROUND_AVER;Average
!TP_COLORAPP_SURROUND_DARK;Dark
@ -1687,10 +1703,14 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1799,13 +1819,13 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
!TP_FLATFIELD_CLIPCONTROL;Clip control
!TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Clip control avoids clipped highlights caused by applying the flat field. If there are already clipped highlights before applying the flat field, clip control can lead to color cast.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image
!TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance

View File

@ -637,8 +637,6 @@ PREFERENCES_DARKFRAMESHOTS;снимака
PREFERENCES_DARKFRAMETEMPLATES;шаблони
PREFERENCES_DATEFORMAT;Формат датума
PREFERENCES_DATEFORMATHINT;<i>Можете задати следеће формате:</i>\n<b>%y</b><i> :година</i>\n<b>%m</b><i> : месец</i>\n<b>%d</b><i> : дан</i>\n<i>\nУ Србији се највише користи:</i>\n<b>%d.%m.%y</b>
PREFERENCES_DEFAULTLANG;Језик програма
PREFERENCES_DEFAULTTHEME;Тема програма
PREFERENCES_DIRDARKFRAMES;Директоријум тамног кадра
PREFERENCES_DIRHOME;Лични директоријум
PREFERENCES_DIRLAST;Последњи директоријум
@ -1296,6 +1294,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DIRBROWSER_FOLDERS;Folders
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1339,6 +1338,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
!GENERAL_APPLY;Apply
!GENERAL_ASIMAGE;As Image
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_252;CbDL - Skin tar/prot
!HISTORY_MSG_253;CbDL - Reduce artifacts
!HISTORY_MSG_254;CbDL - Skin hue
@ -1547,6 +1547,15 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1616,12 +1625,14 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
!PREFERENCES_CURVEBBOXPOS_BELOW;Below
!PREFERENCES_CURVEBBOXPOS_LEFT;Left
!PREFERENCES_CURVEBBOXPOS_RIGHT;Right
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
!PREFERENCES_EXPAUT;Expert
!PREFERENCES_FILMSIMULATION;Film Simulation
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser.
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREYSC;Scene Yb luminance (%)
!PREFERENCES_GREYSC18;Yb=18 CIE L#50
!PREFERENCES_GREYSCA;Automatic
@ -1631,6 +1642,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
!PREFERENCES_INSPECT_LABEL;Inspect
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
!PREFERENCES_LISS;Auto multi-zone smoothing
@ -1669,6 +1681,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
!PREFERENCES_SMA;Small (250x287)
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1689,6 +1702,13 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
!TP_CBDL_BEF;Before Black-and-White
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1798,13 +1818,13 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
!TP_FLATFIELD_CLIPCONTROL;Clip control
!TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Clip control avoids clipped highlights caused by applying the flat field. If there are already clipped highlights before applying the flat field, clip control can lead to color cast.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image

View File

@ -637,8 +637,6 @@ PREFERENCES_DARKFRAMESHOTS;snimaka
PREFERENCES_DARKFRAMETEMPLATES;šabloni
PREFERENCES_DATEFORMAT;Format datuma
PREFERENCES_DATEFORMATHINT;<i>Možete zadati sledeće formate:</i>\n<b>%y</b><i> :godina</i>\n<b>%m</b><i> : mesec</i>\n<b>%d</b><i> : dan</i>\n<i>\nU Srbiji se najviše koristi:</i>\n<b>%d.%m.%y</b>
PREFERENCES_DEFAULTLANG;Jezik programa
PREFERENCES_DEFAULTTHEME;Tema programa
PREFERENCES_DIRDARKFRAMES;Direktorijum tamnog kadra
PREFERENCES_DIRHOME;Lični direktorijum
PREFERENCES_DIRLAST;Poslednji direktorijum
@ -1296,6 +1294,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DIRBROWSER_FOLDERS;Folders
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1339,6 +1338,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
!GENERAL_APPLY;Apply
!GENERAL_ASIMAGE;As Image
!GENERAL_OPEN;Open
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_252;CbDL - Skin tar/prot
!HISTORY_MSG_253;CbDL - Reduce artifacts
!HISTORY_MSG_254;CbDL - Skin hue
@ -1547,6 +1547,15 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1616,12 +1625,14 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
!PREFERENCES_CURVEBBOXPOS_BELOW;Below
!PREFERENCES_CURVEBBOXPOS_LEFT;Left
!PREFERENCES_CURVEBBOXPOS_RIGHT;Right
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
!PREFERENCES_EXPAUT;Expert
!PREFERENCES_FILMSIMULATION;Film Simulation
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser
!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser.
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREYSC;Scene Yb luminance (%)
!PREFERENCES_GREYSC18;Yb=18 CIE L#50
!PREFERENCES_GREYSCA;Automatic
@ -1631,6 +1642,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
!PREFERENCES_INSPECT_LABEL;Inspect
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
!PREFERENCES_LISS;Auto multi-zone smoothing
@ -1669,6 +1681,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
!PREFERENCES_SMA;Small (250x287)
!PREFERENCES_STDAUT;Standard
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1689,6 +1702,13 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
!TP_CBDL_BEF;Before Black-and-White
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1798,13 +1818,13 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
!TP_FLATFIELD_CLIPCONTROL;Clip control
!TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Clip control avoids clipped highlights caused by applying the flat field. If there are already clipped highlights before applying the flat field, clip control can lead to color cast.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image

View File

@ -288,8 +288,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Maximálna výška zmenšenín
PREFERENCES_CLIPPINGIND;Indikácia orezu
PREFERENCES_DATEFORMAT;Formát dátumu
PREFERENCES_DATEFORMATHINT;<i>Môžete použiť nasledujúce formátovacie reťazce:</i>\n<b>%y</b><i> : rok</i>\n<b>%m</b><i> : mesiac</i>\n<b>%d</b><i> : deň</i>\n<i>\nNapríklad, slovenský formát je:</i>\n<b>%d.%m.%y</b>
PREFERENCES_DEFAULTLANG;Predvolený jazyk
PREFERENCES_DEFAULTTHEME;Predvolený vzhľad
PREFERENCES_DIRHOME;Domovský adresár
PREFERENCES_DIRLAST;Posledný navštívený adresár
PREFERENCES_DIROTHER;Iný
@ -530,6 +528,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!CURVEEDITOR_MINMAXCPOINTS;Equalizer
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -650,6 +649,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!GENERAL_NONE;None
!GENERAL_OPEN;Open
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -1021,6 +1021,15 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1182,7 +1191,8 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1210,7 +1220,8 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1225,6 +1236,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1284,6 +1296,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1393,11 +1406,11 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1417,8 +1430,8 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1429,6 +1442,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1440,9 +1454,11 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1461,10 +1477,14 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1643,17 +1663,17 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1667,7 +1687,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift
!TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction.
!TP_LABCURVE_CHROMATICITY;Chromaticity

View File

@ -244,8 +244,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Suurin esikatselukuvan korkeus
PREFERENCES_CLIPPINGIND;Leikkautuminen
PREFERENCES_DATEFORMAT;Päivämäärän muoto
PREFERENCES_DATEFORMATHINT;<i>Voit käyttää seuraavia komentoja:</i>\n<b>%y</b><i> : vuosi</i>\n<b>%m</b><i> : kuukausi</i>\n<b>%d</b><i> : päivä</i>\n<i>\nEsimerkiksi, pp.kk.vvvv:</i>\n<b>%d.%m.%y</b>
PREFERENCES_DEFAULTLANG;Oletuskieli
PREFERENCES_DEFAULTTHEME;Oletusteema
PREFERENCES_DIRHOME;Kotihakemisto
PREFERENCES_DIRLAST;Viimeksi käytetty hakemisto
PREFERENCES_DIROTHER;Muu
@ -450,6 +448,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -579,6 +578,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!GENERAL_OPEN;Open
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -960,6 +960,15 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1133,7 +1142,8 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1162,7 +1172,8 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1177,6 +1188,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1242,6 +1254,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1354,11 +1367,11 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1378,8 +1391,8 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1390,6 +1403,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1401,9 +1415,11 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1422,10 +1438,14 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1615,17 +1635,17 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1639,7 +1659,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -878,8 +878,6 @@ PREFERENCES_DATEFORMAT;Datumformat
PREFERENCES_DATEFORMATHINT;Du kan använda följande format:\n<b>%y</b>: år\n<b>%m</b>: månad\n<b>%d</b>: dag\n\nTill exempel är det svenska datumformatet:\n<b>%y-%m-%d</b>
PREFERENCES_DAUB_LABEL;Använd Daubechies D6-wavelets istället för D4
PREFERENCES_DAUB_TOOLTIP;Brusreduceringen och wavelet-verktyget använder en Debauchies moder-wavelet. Om du väljer D6 istället för D4 ökas antalet ortogonala Daubechies-koefficienter och troligtvis ökas också kvaliteten på de småskaliga nivåerna. Det blir ingen skillnad i minnesanvändning eller beräkningstid.
PREFERENCES_DEFAULTLANG;Förvalt språk
PREFERENCES_DEFAULTTHEME;Förvalt tema
PREFERENCES_DIRDARKFRAMES;Katalog för svartbilder
PREFERENCES_DIRHOME;Hemkatalog
PREFERENCES_DIRLAST;Senaste besökta katalog
@ -1888,6 +1886,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
!CURVEEDITOR_AXIS_LEFT_TAN;LT:
!CURVEEDITOR_AXIS_RIGHT_TAN;RT:
!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node.
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -1903,6 +1902,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
!EXPORT_USE_FAST_PIPELINE_TIP;Use a dedicated processing pipeline for images in Fast Export mode, that trades speed for quality. Resizing of the image is done as early as possible, instead of doing it at the end like in the normal pipeline. The speedup can be significant, but be prepared to see artifacts and a general degradation of output quality.
!EXPORT_USE_NORMAL_PIPELINE;Standard (bypass some steps, resize at the end)
!FILEBROWSER_RESETDEFAULTPROFILE;Reset to default
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTORY_MSG_257;Color Toning
!HISTORY_MSG_288;Flat Field - Clip control
!HISTORY_MSG_289;Flat Field - Clip control - Auto
@ -1942,6 +1942,15 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@ -1974,7 +1983,10 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
!PARTIALPASTE_RAW_IMAGENUM;Sub-image
!PARTIALPASTE_RAW_PIXELSHIFT;PixelShift
!PREFERENCES_CMMBPC;Black point compensation
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_LANG;Language
!PREFERENCES_LISS;Auto multi-zone smoothing
!PREFERENCES_MONINTENT;Default rendering intent
!PREFERENCES_MONITOR;Monitor
@ -1987,8 +1999,16 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
!PREFERENCES_PRTPROFILE;Color profile
!PREFERENCES_SERIALIZE_TIFF_READ;Tiff Read Settings
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_THEME;Theme
!PROFILEPANEL_PDYNAMIC;Dynamic
!TP_CBDL_METHOD;Process located
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L)
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_METHOD_TOOLTIP;"L*a*b* blending", "RGB sliders" and "RGB curves" use interpolated color blending.\n"Color balance (Shadows/Midtones/Highlights)" and "Saturation 2 colors" use direct colors.\n\nThe Black-and-White tool can be enabled when using any color toning method, which allows for color toning.
@ -2008,8 +2028,8 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
!TP_DISTORTION_AUTO_TIP;Automatically corrects lens distortion in raw files by matching it against the embedded JPEG image if one exists and has had its lens disortion auto-corrected by the camera.
!TP_FLATFIELD_CLIPCONTROL;Clip control
!TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Clip control avoids clipped highlights caused by applying the flat field. If there are already clipped highlights before applying the flat field, clip control can lead to color cast.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_PROFILEINTENT;Rendering Intent
!TP_ICM_SAVEREFERENCE;Save Reference Image

View File

@ -244,8 +244,6 @@ PREFERENCES_CACHETHUMBHEIGHT;Maximal Thumbnail Height
PREFERENCES_CLIPPINGIND;Kırpma gösterme
PREFERENCES_DATEFORMAT;Tarih biçimi
PREFERENCES_DATEFORMATHINT;<i>You can use the following formatting strings:</i>\n<b>%y</b><i> : year</i>\n<b>%m</b><i> : month</i>\n<b>%d</b><i> : day</i>\n<i>\nFor example, the hungarian date format is:</i>\n<b>%y/%m/%d</b>
PREFERENCES_DEFAULTLANG;Varsayılan dil
PREFERENCES_DEFAULTTHEME;Default theme
PREFERENCES_DIRHOME;Kullanıcı dizini
PREFERENCES_DIRLAST;Son gidilen dizin
PREFERENCES_DIROTHER;Diğer
@ -449,6 +447,7 @@ TP_WBALANCE_TEMPERATURE;Isı
!CURVEEDITOR_TOOLTIPCOPY;Copy current curve to clipboard.
!CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
!CURVEEDITOR_TYPE;Type:
!DONT_SHOW_AGAIN;Don't show this message again.
!DYNPROFILEEDITOR_DELETE;Delete
!DYNPROFILEEDITOR_EDIT;Edit
!DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -578,6 +577,7 @@ TP_WBALANCE_TEMPERATURE;Isı
!GENERAL_OPEN;Open
!GENERAL_UNCHANGED;(Unchanged)
!GENERAL_WARNING;Warning
!GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
!HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
!HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
!HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram.
@ -959,6 +959,15 @@ TP_WBALANCE_TEMPERATURE;Isı
!HISTORY_MSG_473;PS - Use LMMSE
!HISTORY_MSG_474;PS - Equalize
!HISTORY_MSG_475;PS - Equalize channel
!HISTORY_MSG_476;CAM02 - Temp out
!HISTORY_MSG_477;CAM02 - Green out
!HISTORY_MSG_478;CAM02 - Yb out
!HISTORY_MSG_479;CAM02 - CAT02 adaptation out
!HISTORY_MSG_480;CAM02 - Automatic CAT02 out
!HISTORY_MSG_481;CAM02 - Temp scene
!HISTORY_MSG_482;CAM02 - Green scene
!HISTORY_MSG_483;CAM02 - Yb scene
!HISTORY_MSG_484;CAM02 - Auto Yb scene
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@ -1132,7 +1141,8 @@ TP_WBALANCE_TEMPERATURE;Isı
!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
!PREFERENCES_CUSTPROFBUILDPATH;Executable path
!PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
!PREFERENCES_D50;5000K
!PREFERENCES_D50;Settings in main menu
!PREFERENCES_D50_OLD;5000K
!PREFERENCES_D55;5500K
!PREFERENCES_D60;6000K
!PREFERENCES_D65;6500K
@ -1161,7 +1171,8 @@ TP_WBALANCE_TEMPERATURE;Isı
!PREFERENCES_GREY05;Yb=05 CIE L#30
!PREFERENCES_GREY10;Yb=10 CIE L#40
!PREFERENCES_GREY15;Yb=15 CIE L#45
!PREFERENCES_GREY18;Yb=18 CIE L#50
!PREFERENCES_GREY18;Settings in main menu
!PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
!PREFERENCES_GREY23;Yb=23 CIE L#55
!PREFERENCES_GREY30;Yb=30 CIE L#60
!PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1176,6 +1187,7 @@ TP_WBALANCE_TEMPERATURE;Isı
!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images
!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2.
!PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
!PREFERENCES_LANG;Language
!PREFERENCES_LANGAUTODETECT;Use system language
!PREFERENCES_LEVAUTDN;Denoising level
!PREFERENCES_LEVDN;Cell size
@ -1241,6 +1253,7 @@ TP_WBALANCE_TEMPERATURE;Isı
!PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules
!PREFERENCES_TAB_PERFORMANCE;Performance & Quality
!PREFERENCES_TAB_SOUND;Sounds
!PREFERENCES_THEME;Theme
!PREFERENCES_TIMAX;High
!PREFERENCES_TINB;Number of tiles
!PREFERENCES_TISTD;Standard
@ -1353,11 +1366,11 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_CBDL_METHOD;Process located
!TP_CBDL_METHOD_TOOLTIP;Choose whether the Contrast by Detail Levels tool is to be positioned after the Black-and-White tool, which makes it work in L*a*b* space, or before it, which makes it work in RGB space.
!TP_CHROMATABERR_LABEL;Chromatic Aberration
!TP_COLORAPP_ADAPTSCENE;Scene luminosity
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
!TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
!TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
!TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
!TP_COLORAPP_ALGO;Algorithm
!TP_COLORAPP_ALGO_ALL;All
!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1377,8 +1390,8 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
!TP_COLORAPP_CONTRAST;Contrast (J)
!TP_COLORAPP_CONTRAST_Q;Contrast (Q)
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
!TP_COLORAPP_CURVEEDITOR1;Tone curve 1
!TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
!TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1389,6 +1402,7 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
!TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
!TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
!TP_COLORAPP_HUE;Hue (h)
@ -1400,9 +1414,11 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_COLORAPP_LIGHT;Lightness (J)
!TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
!TP_COLORAPP_MODEL;WP Model
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in <i>Preferences > Color Management</i>.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in <i>Preferences - Color Management</i>.
!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
!TP_COLORAPP_RSTPRO;Red & skin-tones protection
!TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
!TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SHARPCIE;--unused--
!TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
!TP_COLORAPP_SURROUND;Surround
@ -1421,10 +1437,14 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@ -1614,17 +1634,17 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_HSVEQUALIZER_SAT;S
!TP_HSVEQUALIZER_VAL;V
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP;Base table
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE;Look table
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
!TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
!TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
!TP_ICM_BPC;Black Point Compensation
!TP_ICM_DCPILLUMINANT;Illuminant
!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
!TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
!TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
!TP_ICM_INPUTCAMERA_TOOLTIP;Use a simple color matrix from dcraw, an enhanced RawTherapee version (whichever is available based on camera model) or one embedded in the DNG.
@ -1638,7 +1658,7 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
!TP_ICM_TONECURVE;Tone curve
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
!TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
!TP_IMPULSEDENOISE_THRESH;Threshold
!TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift

View File

@ -36,6 +36,7 @@ CURVEEDITOR_TOOLTIPPASTE;Paste curve from clipboard.
CURVEEDITOR_TOOLTIPSAVE;Save current curve.
CURVEEDITOR_TYPE;Type:
DIRBROWSER_FOLDERS;Folders
DONT_SHOW_AGAIN;Don't show this message again.
DYNPROFILEEDITOR_DELETE;Delete
DYNPROFILEEDITOR_EDIT;Edit
DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule
@ -234,6 +235,7 @@ GENERAL_PORTRAIT;Portrait
GENERAL_SAVE;Save
GENERAL_UNCHANGED;(Unchanged)
GENERAL_WARNING;Warning
GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
HISTOGRAM_TOOLTIP_B;Show/Hide blue histogram.
HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar.\nRight-click on image preview to freeze/unfreeze.
HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram.
@ -279,9 +281,9 @@ HISTORY_MSG_30;RLD - Radius
HISTORY_MSG_31;RLD - Amount
HISTORY_MSG_32;RLD - Damping
HISTORY_MSG_33;RLD - Iterations
HISTORY_MSG_34;LCP distortion correction
HISTORY_MSG_35;LCP vignetting correction
HISTORY_MSG_36;LCP CA correction
HISTORY_MSG_34;Lens Correction - Distortion
HISTORY_MSG_35;Lens Correction - Vignetting
HISTORY_MSG_36;Lens Correction - CA
HISTORY_MSG_37;Exposure - Auto levels
HISTORY_MSG_38;White Balance - Method
HISTORY_MSG_39;WB - Temperature
@ -330,7 +332,7 @@ HISTORY_MSG_81;Resize
HISTORY_MSG_82;Profile changed
HISTORY_MSG_83;S/H - Sharp mask
HISTORY_MSG_84;Perspective correction
HISTORY_MSG_85;LCP
HISTORY_MSG_85;Lens Correction - LCP file
HISTORY_MSG_86;RGB Curves - Luminosity mode
HISTORY_MSG_87;Impulse Noise Reduction
HISTORY_MSG_88;Impulse NR threshold
@ -707,6 +709,15 @@ HISTORY_MSG_475;PS - Equalize channel
HISTORY_MSG_476;CAM02 - Temp out
HISTORY_MSG_477;CAM02 - Green out
HISTORY_MSG_478;CAM02 - Yb out
HISTORY_MSG_479;CAM02 - CAT02 adaptation out
HISTORY_MSG_480;CAM02 - Automatic CAT02 out
HISTORY_MSG_481;CAM02 - Temp scene
HISTORY_MSG_482;CAM02 - Green scene
HISTORY_MSG_483;CAM02 - Yb scene
HISTORY_MSG_484;CAM02 - Auto Yb scene
HISTORY_MSG_485;Lens Correction
HISTORY_MSG_486;Lens Correction - Camera
HISTORY_MSG_487;Lens Correction - Lens
HISTORY_NEWSNAPSHOT;Add
HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
HISTORY_SNAPSHOT;Snapshot
@ -811,6 +822,7 @@ MAIN_TAB_WAVELET_TOOLTIP;Shortcut: <b>Alt-w</b>
MAIN_TOOLTIP_BACKCOLOR0;Background color of the preview: <b>Theme-based</b>\nShortcut: <b>9</b>
MAIN_TOOLTIP_BACKCOLOR1;Background color of the preview: <b>Black</b>\nShortcut: <b>9</b>
MAIN_TOOLTIP_BACKCOLOR2;Background color of the preview: <b>White</b>\nShortcut: <b>9</b>
MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>Middle grey</b>\nShortcut: <b>9</b>
MAIN_TOOLTIP_BEFOREAFTERLOCK;<b>Lock</b> / <b>Unlock</b> the <b>Before</b> view\n\n<b>Lock</b>: keep the <b>Before</b> view unchanged.\nUseful to evaluate the cumulative effect of multiple tools.\nAdditionally, comparisons can be made to any state in the History.\n\n<b>Unlock</b>: the <b>Before</b> view will follow the <b>After</b> view one step behind, showing the image before the effect of the currently used tool.
MAIN_TOOLTIP_HIDEHP;Show/Hide the left panel (including the history).\nShortcut: <b>l</b>
MAIN_TOOLTIP_INDCLIPPEDH;Clipped highlight indication.\nShortcut: <b>&lt;</b>
@ -878,7 +890,7 @@ PARTIALPASTE_IMPULSEDENOISE;Impulse noise reduction
PARTIALPASTE_IPTCINFO;IPTC
PARTIALPASTE_LABCURVE;L*a*b* adjustments
PARTIALPASTE_LENSGROUP;Lens Related Settings
PARTIALPASTE_LENSPROFILE;Lens correction profile
PARTIALPASTE_LENSPROFILE;Profiled lens correction
PARTIALPASTE_METAGROUP;Metadata
PARTIALPASTE_PCVIGNETTE;Vignette filter
PARTIALPASTE_PERSPECTIVE;Perspective
@ -955,8 +967,8 @@ PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name
PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID
PREFERENCES_CUSTPROFBUILDPATH;Executable path
PREFERENCES_CUTOVERLAYBRUSH;Crop mask color/transparency
PREFERENCES_D50_OLD;5000K
PREFERENCES_D50;Settings in main menu
PREFERENCES_D50_OLD;5000K
PREFERENCES_D55;5500K
PREFERENCES_D60;6000K
PREFERENCES_D65;6500K
@ -968,8 +980,6 @@ PREFERENCES_DATEFORMAT;Date format
PREFERENCES_DATEFORMATHINT;You can use the following formatting strings:\n<b>%y</b> - year\n<b>%m</b> - month\n<b>%d</b> - day\n\nFor example, the ISO 8601 standard dictates the date format as follows:\n<b>%y-%m-%d</b>
PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4
PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two.
PREFERENCES_DEFAULTLANG;Default Language
PREFERENCES_DEFAULTTHEME;Default Theme
PREFERENCES_DIRDARKFRAMES;Dark-frames directory
PREFERENCES_DIRHOME;Home directory
PREFERENCES_DIRLAST;Last visited directory
@ -1001,8 +1011,8 @@ PREFERENCES_GREY;Output device's Yb luminance (%)
PREFERENCES_GREY05;Yb=05 CIE L#30
PREFERENCES_GREY10;Yb=10 CIE L#40
PREFERENCES_GREY15;Yb=15 CIE L#45
PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
PREFERENCES_GREY18;Settings in main menu
PREFERENCES_GREY18_OLD;Yb=18 CIE L#50
PREFERENCES_GREY23;Yb=23 CIE L#55
PREFERENCES_GREY30;Yb=30 CIE L#60
PREFERENCES_GREY40;Yb=40 CIE L#70
@ -1024,6 +1034,7 @@ PREFERENCES_INTENT_PERCEPTUAL;Perceptual
PREFERENCES_INTENT_RELATIVE;Relative Colorimetric
PREFERENCES_INTENT_SATURATION;Saturation
PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is unedited
PREFERENCES_LANG;Language
PREFERENCES_LANGAUTODETECT;Use system language
PREFERENCES_LEVAUTDN;Denoising level
PREFERENCES_LEVDN;Cell size
@ -1115,12 +1126,15 @@ PREFERENCES_TAB_GENERAL;General
PREFERENCES_TAB_IMPROC;Image Processing
PREFERENCES_TAB_PERFORMANCE;Performance & Quality
PREFERENCES_TAB_SOUND;Sounds
PREFERENCES_THEME;Theme
PREFERENCES_TIMAX;High
PREFERENCES_TINB;Number of tiles
PREFERENCES_TISTD;Standard
PREFERENCES_TP_LABEL;Tool panel:
PREFERENCES_TP_USEICONORTEXT;Use tab icons instead of text
PREFERENCES_TP_VSCROLLBAR;Hide vertical scrollbar
PREFERENCES_AUTOSAVE_TP_OPEN;Automatically save tools collapsed/expanded\nstate before exiting
PREFERENCES_SAVE_TP_OPEN_NOW;Save tools collapsed/expanded state now
PREFERENCES_TUNNELMETADATA;Copy Exif/IPTC/XMP unchanged to output file
PREFERENCES_USEBUNDLEDPROFILES;Use bundled profiles
PREFERENCES_VIEW;Output device's white balance (monitor, TV, projector, viewing, etc.)
@ -1280,11 +1294,11 @@ TP_COARSETRAF_TOOLTIP_HFLIP;Flip horizontally.
TP_COARSETRAF_TOOLTIP_ROTLEFT;Rotate left.\n\nShortcuts:\n<b>[</b> - Multiple Editor Tabs Mode,\n<b>Alt-[</b> - Single Editor Tab Mode.
TP_COARSETRAF_TOOLTIP_ROTRIGHT;Rotate right.\n\nShortcuts:\n<b>]</b> - Multiple Editor Tabs Mode,\n<b>Alt-]</b> - Single Editor Tab Mode.
TP_COARSETRAF_TOOLTIP_VFLIP;Flip vertically.
TP_COLORAPP_ADAPTSCENE;Scene luminosity
TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environement (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
TP_COLORAPP_ADAPTVIEWING;Viewing luminosity (cd/m²)
TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environnement\n(usually 16cd/m²).
TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first.
TP_COLORAPP_ADAPTSCENE;Scene absolute luminance
TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute luminance of the scene environment (cd/m²).\n1) Calculated from the Exif data:\nShutter speed - ISO speed - F number - camera exposure correction.\n2) Calculated from the raw white point and RT's Exposure Compensation slider.
TP_COLORAPP_ADAPTVIEWING;Viewing absolute luminance (cd/m²)
TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16cd/m²).
TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from the Exif data.\nTo set the value manually, uncheck the checkbox first.
TP_COLORAPP_ALGO;Algorithm
TP_COLORAPP_ALGO_ALL;All
TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC)
@ -1304,8 +1318,8 @@ TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM02 differs from L*a*b* and RGB chroma
TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation
TP_COLORAPP_CONTRAST;Contrast (J)
TP_COLORAPP_CONTRAST_Q;Contrast (Q)
TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast in CIECAM02 for the Q slider; it differs from L*a*b* and RGB contrast.
TP_COLORAPP_CONTRAST_TOOLTIP;Contrast in CIECAM02 for the J slider; it differs from L*a*b* and RGB contrast.
TP_COLORAPP_CONTRAST_Q_TOOLTIP;Differs from L*a*b* and RGB contrast.
TP_COLORAPP_CONTRAST_TOOLTIP;Differs from L*a*b* and RGB contrast.
TP_COLORAPP_CURVEEDITOR1;Tone curve 1
TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel.
TP_COLORAPP_CURVEEDITOR2;Tone curve 2
@ -1316,6 +1330,7 @@ TP_COLORAPP_DATACIE;CIECAM02 output histograms in curves
TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02 curves show L*a*b* values before CIECAM02 adjustments.
TP_COLORAPP_DEGREE_AUTO_TOOLTIP;If the check-box is checked (recommended), RawTherapee calculates an optimum value, which is then used by CAT02, and also for the entire CIECAM02.\nTo set the value manually, uncheck the check-box first (values above 65 are recommended).
TP_COLORAPP_DEGREE_TOOLTIP;Amount of CIE Chromatic Adaptation Transform 2002.
TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
TP_COLORAPP_GAMUT;Gamut control (L*a*b*)
TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode.
TP_COLORAPP_HUE;Hue (h)
@ -1327,9 +1342,11 @@ TP_COLORAPP_LABEL_VIEWING;Viewing Conditions
TP_COLORAPP_LIGHT;Lightness (J)
TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02 differs from L*a*b* and RGB lightness.
TP_COLORAPP_MODEL;WP Model
TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.
TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\n<b>WB [RT] + [output]</b>: RT's white balance is used for the scene, CIECAM02 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\n<b>WB [RT+CAT02] + [output]</b>: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\n<b>Free temp+green + CAT02 + [output]:</b> temp and green are selected bu user, output device's white balance is set in Viewing Conditions.
TP_COLORAPP_NEUTRAL;Reset
TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
TP_COLORAPP_RSTPRO;Red & skin-tones protection
TP_COLORAPP_RSTPRO_TOOLTIP;Red and skin-tones protection affects both sliders and curves.
TP_COLORAPP_RSTPRO_TOOLTIP;Red &amp; skin-tones protection affects both sliders and curves.
TP_COLORAPP_SHARPCIE;--unused--
TP_COLORAPP_SHARPCIE_TOOLTIP;--unused--
TP_COLORAPP_SURROUND;Surround
@ -1348,11 +1365,14 @@ TP_COLORAPP_TCMODE_LABEL2;Curve mode 2
TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
TP_COLORAPP_TCMODE_SATUR;Saturation
TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always Tint=1.\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
TP_COLORAPP_WBRT;WB [RT] + [output]
TP_COLORAPP_YB;Yb (mean luminance)
TP_COLORAPP_YB;Yb% (mean luminance)
TP_COLORAPP_YBSCENE;Yb% (mean luminance)
TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
TP_COLORTONING_AB;o C/L
TP_COLORTONING_AUTOSAT;Automatic
TP_COLORTONING_BALANCE;Balance
@ -1569,17 +1589,17 @@ TP_HSVEQUALIZER_LABEL;HSV Equalizer
TP_HSVEQUALIZER_SAT;S
TP_HSVEQUALIZER_VAL;V
TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one.
TP_ICM_APPLYHUESATMAP;Base table
TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only available if the selected DCP has one.
TP_ICM_APPLYLOOKTABLE;Look table
TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only available if the selected DCP has one.
TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
TP_ICM_BPC;Black Point Compensation
TP_ICM_DCPILLUMINANT;Illuminant
TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated
TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected.
TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only available if a dual-illuminant DCP with interpolation support is selected.
TP_ICM_INPUTCAMERA;Camera standard
TP_ICM_INPUTCAMERAICC;Auto-matched camera profile
TP_ICM_INPUTCAMERAICC_TOOLTIP;Use RawTherapee's camera-specific DCP or ICC input color profiles. These profiles are more precise than simpler matrix ones. They are not available for all cameras. These profiles are stored in the /iccprofiles/input and /dcpprofiles folders and are automatically retrieved based on a file name matching to the exact model name of the camera.
@ -1601,7 +1621,7 @@ TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance
TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
TP_ICM_TONECURVE;Tone curve
TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
TP_ICM_WORKINGPROFILE;Working Profile
TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
TP_IMPULSEDENOISE_THRESH;Threshold
@ -1645,7 +1665,7 @@ TP_LABCURVE_RSTPRO_TOOLTIP;Works on the Chromaticity slider and the CC curve.
TP_LENSGEOM_AUTOCROP;Auto-Crop
TP_LENSGEOM_FILL;Auto-fill
TP_LENSGEOM_LABEL;Lens / Geometry
TP_LENSPROFILE_LABEL;Lens Correction Profile
TP_LENSPROFILE_LABEL;Profiled Lens Correction
TP_LENSPROFILE_USECA;Chromatic aberration correction
TP_LENSPROFILE_USEDIST;Distortion correction
TP_LENSPROFILE_USEVIGN;Vignetting correction
@ -2143,5 +2163,7 @@ ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: <b>Alt</b>-<b>f</b>
ZOOMPANEL_ZOOMFITSCREEN;Fit whole image to screen\nShortcut: <b>f</b>
ZOOMPANEL_ZOOMIN;Zoom In\nShortcut: <b>+</b>
ZOOMPANEL_ZOOMOUT;Zoom Out\nShortcut: <b>-</b>
GIMP_PLUGIN_INFO;Welcome to the RawTherapee GIMP plugin!\nOnce you are done editing, simply close the main RawTherapee window and the image will be automatically imported in GIMP.
DONT_SHOW_AGAIN;Don't show this message again.
LENSPROFILE_CORRECTION_AUTOMATCH;Auto-matched correction parameters
LENSPROFILE_CORRECTION_MANUAL;Manual correction parameters
LENSPROFILE_CORRECTION_LCPFILE;LCP File
LENSPROFILE_LENS_WARNING;Warning: the crop factor used for lens profiling is larger than the crop factor of the camera, the results might be wrong.

View File

@ -187,24 +187,37 @@ button {
min-width: 5px;
background-image: linear-gradient(#343434, #2E2E2E, #292929);
}
/* Curve mode buttons and drop-downs */
button:checked.Left {
background-image: linear-gradient(to bottom, rgba(100,100,100,.3), rgba(30,30,30,.3));
background-color: #585858;
}
button.flat {
background-image: none;
}
button.flat:checked {
background-image: linear-gradient(#343434, #2E2E2E, #292929);
}
checkbutton > check {
background-image: linear-gradient(#343434, #2E2E2E, #292929);
}
radiobutton > radio {
background-image: linear-gradient(#343434, #2E2E2E, #292929);
}
button:hover , button.flat:hover, checkbutton:hover > check, radiobutton:hover > radio {
background-image: linear-gradient(shade(#343434,1.3), shade(#2E2E2E,1.3), shade(#292929,1.3));
}
button.popupbutton-arrow {
min-width: 18px;
}
/* Save, Cancel, OK ... buttons */
.dialog-action-area button {
min-height: 24px;
@ -626,18 +639,11 @@ paned box, paned grid {
}
paned > separator {
border-width: 1px;
border-color: #484848;
margin: 0;
padding: 0;
}
paned.horizontal > separator {
min-width: 2px;
border-style: none solid;
}
paned.vertical > separator {
min-height: 2px;
border-style: solid none;
border-width: 1px 1px 0 0;
border-style: solid;
border-color: #404040;
padding: 0px;
margin: 4px;
}
#PlacesPaned {

View File

@ -31,19 +31,19 @@
@define-color bg-highlighted-text-color rgb(43,119,196); /*** Highlighted text color background* Default: rgb(35,99,166) ***/
@define-color highlighted-text-color rgb(255,255,255); /*** Highlighted text color * Default: rgb(210,210,210) ***/
@define-color bg-image rgb(90,90,90); /*** Image area & File Browser background * Default: rgb(70,70,70) ***/
@define-color bg-image rgb(95,95,95); /*** Image area & File Browser background * Default: rgb(70,70,70) ***/
@define-color accent-color2 rgb(43,119,196); /*** Scale, Progressbar, Scrollbar, Tabs * Default: rgb(35,99,166) ***/
@define-color accent-color4 rgb(128,128,128); /*** Slider knob * Default: rgb(115,115,115) ***/
@define-color accent-color4 rgb(135,135,135); /*** Slider knob * Default: rgb(115,115,115) ***/
@define-color accent-color3 rgb(43,119,196); /*** Selected thumbnail background color * Default: rgb(35,99,166) ***/
@define-color text-hl-color3 rgb(255,255,255); /*** Selected thumbnail text color * Default: rgb(210,210,210) ***/
/*** Change me end *****************************************************************************/
@define-color bg-light-grey rgb(110,110,110);
@define-color bg-grey rgb(90,90,90);
@define-color bg-dark-grey rgb(50,50,50);
@define-color bg-light-grey rgb(115,115,115);
@define-color bg-grey rgb(95,95,95);
@define-color bg-dark-grey rgb(55,55,55);
@define-color bg-button-hover rgba(0,0,0,.25);
@define-color bg-button-active rgba(0,0,0,.60);
@ -58,12 +58,15 @@
@define-color text-color rgb(210,210,210);
@define-color text-tbEntry rgb(230,230,230);
@define-color border-color rgba(255,255,255,.35);
@define-color bg-list-hover rgb(60,60,60);
@define-color bg-list-hover rgb(68,68,68);
@define-color bg-scale-entry rgba(0,0,0,.14);
@define-color bg-button-border rgba(0,0,0,.60);
@define-color bg-button-border rgba(0,0,0,.5);
@define-color bg-entry-border rgba(0,0,0,.40);
@define-color view-grid-border rgba(255,255,255,0.25);
@define-color headline-big rgb(210,210,210);
@define-color headline-hl rgb(255,255,255);
@define-color headline-frame rgb(245,245,245);
/*** New Color Variable v2.53 ************************************************************************/
@define-color fg-disabled rgb(145,145,145);
@define-color bg-tb-spinbutton shade(@bg-grey, 1.3);
/***********************************************************************************************/

View File

@ -43,7 +43,7 @@
@define-color bg-light-grey rgb(75,75,75);
@define-color bg-grey rgb(58,58,58);
@define-color bg-dark-grey rgb(36,36,36);
@define-color bg-dark-grey rgb(30,30,30);
@define-color bg-button-hover rgba(0,0,0,.3);
@define-color bg-button-active rgba(0,0,0,.7);
@ -66,4 +66,7 @@
@define-color headline-big rgb(187,187,187);
@define-color headline-hl rgb(215,215,215);
@define-color headline-frame rgb(210,210,210);
/*** New Color Variable v2.53 ************************************************************************/
@define-color fg-disabled rgb(128,128,128);
@define-color bg-tb-spinbutton shade(@bg-grey, 1.35);
/***********************************************************************************************/

View File

@ -2,7 +2,7 @@
This file is part of RawTherapee.
Copyright (c) 2016-2017 TooWaBoo
Version 2.51 - requires RT 5.0 (Gtk+ >= 3.20)
Version 2.56 - requires RT 5.0 (Gtk+ >= 3.20)
RawTherapee is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -26,7 +26,7 @@
@define-color bg-highlighted-text-color rgb(35,99,166); /*** Highlighted text color background* Default: rgb(35,99,166) ***/
@define-color highlighted-text-color rgb(210,210,210); /*** Highlighted text color * Default: rgb(210,210,210) ***/
@define-color bg-image rgb(70,70,70); /*** Image area & File Browser background * Default: rgb(70,70,70) ***/
@define-color bg-image rgb(75,75,75); /*** Image area & File Browser background * Default: rgb(70,70,70) ***/
@define-color accent-color2 rgb(35,99,166); /*** Scale, Progressbar, Scrollbar, Tabs * Default: rgb(35,99,166) ***/
@define-color accent-color4 rgb(115,115,115); /*** Slider knob * Default: rgb(115,115,115) ***/
@ -36,9 +36,9 @@
/*** Change me end *****************************************************************************/
@define-color bg-light-grey rgb(90,90,90);
@define-color bg-grey rgb(70,70,70);
@define-color bg-dark-grey rgb(36,36,36);
@define-color bg-light-grey rgb(95,95,95);
@define-color bg-grey rgb(75,75,75);
@define-color bg-dark-grey rgb(40,40,40);
@define-color bg-button-hover rgba(0,0,0,.25);
@define-color bg-button-active rgba(0,0,0,.60);
@ -47,8 +47,8 @@
@define-color winTitle rgb(190,190,190);
@define-color bg-tooltip rgb(185,185,185);
@define-color border-tooltip rgb(36,36,36);
@define-color text-tooltip rgb(36,36,36);
@define-color border-tooltip rgb(40,40,40);
@define-color text-tooltip rgb(40,40,40);
/***********************************************/
@define-color text-color rgb(186,186,186);
@define-color text-tbEntry rgb(192,192,192);
@ -61,6 +61,9 @@
@define-color headline-big rgb(195,195,195);
@define-color headline-hl rgb(230,230,230);
@define-color headline-frame rgb(215,215,215);
/*** New Color Variable v2.53 ************************************************************************/
@define-color fg-disabled rgb(128,128,128);
@define-color bg-tb-spinbutton shade(@bg-grey, 1.33);
/***********************************************************************************************/
* {
@ -72,7 +75,7 @@
}
*:disabled {
color: rgb(128,128,128);
color: @fg-disabled;
}
#ToolPanelNotebook {
@ -422,6 +425,7 @@ paned.horizontal > separator {
}
paned.vertical > separator {
background-image: image(@bg-dark-grey);
background-color: @bg-light-grey;
min-height: 0.5em;
border-top: 1px solid @bg-light-grey;
@ -594,7 +598,7 @@ scale slider {
margin: calc(-0.33334em - 1px);
border-radius: 0.83334em;
background-image: linear-gradient(to bottom, shade (@accent-color4,1.15), shade (@accent-color4,.85));
border: 0.08334em solid @bg-dark-grey;
border: 0.08334em solid @bg-button-border;
box-shadow: none;
}
scale slider:hover {
@ -604,13 +608,13 @@ scale slider:hover {
scale trough {
margin: 0.5em; /* has to be half of "scale slider / min-width min-height*/
background-color: @bg-scale-entry;
border: 0.08334em solid @bg-dark-grey;
border: 0.08334em solid @bg-button-border;
box-shadow: inset 0 0.08334em rgba(255, 255, 255, 0.11), 0 0.08334em rgba(242, 242, 242, 0.11);
border-radius: 0.5em;
}
scale:not(:disabled) trough highlight {
background-color: @accent-color2;
border: 0.08334em solid @bg-dark-grey;
border: 0.08334em solid @bg-button-border;
box-shadow: inset 0 0.08334em shade(@accent-color2, 1.3);
border-radius: 0.5em;
}
@ -1031,36 +1035,10 @@ window.csd:not(.fullscreen) #MainNotebook > header.top {
margin-right: 0;
}
#EditorTopPanel > box:nth-child(9) > button.image-button:not(:nth-child(6)) {
#EditorTopPanel > box:nth-child(9) > button.image-button {
min-width: 0;
padding-left: 0.33334em;
padding-right: 0.33334em;
}
#EditorTopPanel > box:nth-child(9) > button.image-button:nth-child(6) {
-gtk-icon-shadow: none;
}
#EditorTopPanel > box > box > button {
min-height: 0.625em;
min-width: 0;
margin: 0 0.16667em;
padding: 0 0.16667em;
border: 0.08334em solid transparent;
background-color: transparent;
background-image: none;
box-shadow: none;
}
#EditorTopPanel > box > box > button:hover {
background-color: transparent;
background-image: none;
border: 0.08334em solid transparent;
box-shadow: none;
}
#EditorTopPanel > box > box > button:checked {
background-color: transparent;
background-image: none;
border: 0.08334em solid @bg-button-border;
box-shadow: none;
padding-left: 0.25em;
padding-right: 0.25em;
}
/*Button editor bottom*/
@ -1639,7 +1617,7 @@ radiobutton {
check,
radio {
border: calc(0.083334em + 0.18px) solid shade(@text-color, .9);
border: calc(0.083334em + 0.18px) solid @text-color;
background-image: none;
background-color: transparent;
margin: 0;
@ -1649,6 +1627,7 @@ radio {
box-shadow: none;
background-repeat: no-repeat;
-gtk-icon-shadow: none;
color: @text-color;
}
radiobutton label,
checkbutton label {
@ -1664,7 +1643,7 @@ radio{
}
check:disabled,
radio:disabled {
border-color: rgb(120,120,120);
border-color: @fg-disabled;
}
frame > checkbutton check{
@ -1717,7 +1696,7 @@ spinbutton {
min-width: 0;
border-top-left-radius: 1.83334em;
border-bottom-left-radius: 1.83334em;
background-color: shade(@bg-grey, 1.33);
background-color: @bg-tb-spinbutton;
border: 0.08334em solid @bg-button-border;
color: @text-tbEntry;
box-shadow: inset 0.08334em 0.08334em rgba(0, 0, 0, .12), 0 0.08334em rgba(255, 255, 255, 0.12);
@ -1858,5 +1837,4 @@ headerbar:backdrop {
headerbar .title:backdrop {
color: alpha(@winTitle,.60);
}
/**/
/*** end ***************************************************************************************/

View File

@ -0,0 +1,72 @@
/*
This file is part of RawTherapee.
Copyright (c) 2016-2017 TooWaBoo
Requires RT 5.0 (Gtk+ >= 3.20)
RawTherapee is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
RawTherapee is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
*/
/*****************************************/
/**/ @import "TooWaBlue-GTK3-20_.css"; /**/
/*****************************************/
/*** Change me *** rgb(red,green,blue) *** allowed values from 0 to 255 for each color ***/
@define-color accent-color rgb(110,110,110); /*** Active color for Lists, Menu, Borders ... * Default: rgb(35,99,166) ***/
@define-color text-hl-color rgb(255,255,255); /*** Active text color * Default: rgb(210,210,210) ***/
@define-color bg-highlighted-text-color rgb(49,132,220); /*** Highlighted text color background* Default: rgb(35,99,166) ***/
@define-color highlighted-text-color rgb(255,255,255); /*** Highlighted text color * Default: rgb(210,210,210) ***/
@define-color bg-image rgb(120,120,120); /*** Image area & File Browser background * Default: rgb(70,70,70) ***/
@define-color accent-color2 rgb(49,132,220); /*** Scale, Progressbar, Scrollbar, Tabs * Default: rgb(35,99,166) ***/
@define-color accent-color4 rgb(155,155,155); /*** Slider knob * Default: rgb(115,115,115) ***/
@define-color accent-color3 rgb(85,85,85); /*** Selected thumbnail background color * Default: rgb(35,99,166) ***/
@define-color text-hl-color3 rgb(230,230,230); /*** Selected thumbnail text color * Default: rgb(210,210,210) ***/
/*** Change me end *****************************************************************************/
@define-color bg-light-grey rgb(135,135,135);
@define-color bg-grey rgb(120,120,120);
@define-color bg-dark-grey rgb(85,85,85);
@define-color bg-button-hover rgba(0,0,0,.15);
@define-color bg-button-active rgba(0,0,0,.5);
@define-color winHeaderbar rgb(75,75,75);
@define-color winTitle rgb(210,210,210);
@define-color bg-tooltip rgb(210,210,210);
@define-color border-tooltip rgb(50,50,50);
@define-color text-tooltip rgb(50,50,50);
/***********************************************/
@define-color text-color rgb(230,230,230);
@define-color text-tbEntry rgb(245,245,245);
@define-color border-color rgba(255,255,255,.35);
@define-color bg-list-hover rgb(95,95,95);
@define-color bg-scale-entry rgba(0,0,0,.14);
@define-color bg-button-border rgba(0,0,0,.45);
@define-color bg-entry-border rgba(0,0,0,.40);
@define-color view-grid-border rgba(255,255,255,0.25);
@define-color headline-big rgb(210,210,210);
@define-color headline-hl rgb(255,255,255);
@define-color headline-frame rgb(245,245,245);
/*** New Color Variable v2.53 ************************************************************************/
@define-color fg-disabled rgb(180,180,180);
@define-color bg-tb-spinbutton shade(@bg-grey, 1.20);
/***********************************************************************************************/

View File

@ -113,7 +113,7 @@ using namespace rtengine;
void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const double cablue, const double caautostrength, array2D<float> &rawData)
{
// multithreaded and partly vectorized by Ingo Weyrich
// multithreaded and vectorized by Ingo Weyrich
constexpr int ts = 128;
constexpr int tsh = ts / 2;
//shifts to location of vertical and diagonal neighbors
@ -134,12 +134,12 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
}
// local variables
const int width = W, height = H;
const int width = W + (W & 1), height = H;
//temporary array to store simple interpolation of G
float *Gtmp = (float (*)) calloc ((height) * (width), sizeof * Gtmp);
float *Gtmp = (float (*)) malloc ((height * width) / 2 * sizeof * Gtmp);
// temporary array to avoid race conflicts, only every second pixel needs to be saved here
float *RawDataTmp = (float*) malloc( (height * width + ((height * width) & 1)) * sizeof(float) / 2);
float *RawDataTmp = (float*) malloc( (height * width) * sizeof(float) / 2);
float blockave[2][2] = {{0, 0}, {0, 0}}, blocksqave[2][2] = {{0, 0}, {0, 0}}, blockdenom[2][2] = {{0, 0}, {0, 0}}, blockvar[2][2];
@ -185,7 +185,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
float blockavethr[2][2] = {{0, 0}, {0, 0}}, blocksqavethr[2][2] = {{0, 0}, {0, 0}}, blockdenomthr[2][2] = {{0, 0}, {0, 0}};
// assign working space
constexpr int buffersize = 3 * sizeof(float) * ts * ts + 6 * sizeof(float) * ts * tsh + 8 * 64 + 63;
constexpr int buffersize = sizeof(float) * ts * ts + 8 * sizeof(float) * ts * tsh + 8 * 64 + 63;
char *buffer = (char *) malloc(buffersize);
char *data = (char*)( ( uintptr_t(buffer) + uintptr_t(63)) / 64 * 64);
@ -194,22 +194,21 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
//rgb data in a tile
float* rgb[3];
rgb[0] = (float (*)) data;
rgb[1] = (float (*)) (data + 1 * sizeof(float) * ts * ts + 1 * 64);
rgb[2] = (float (*)) (data + 2 * sizeof(float) * ts * ts + 2 * 64);
rgb[1] = (float (*)) (data + sizeof(float) * ts * tsh + 1 * 64);
rgb[2] = (float (*)) (data + sizeof(float) * (ts * ts + ts * tsh) + 2 * 64);
//high pass filter for R/B in vertical direction
float *rbhpfh = (float (*)) (data + 3 * sizeof(float) * ts * ts + 3 * 64);
float *rbhpfh = (float (*)) (data + 2 * sizeof(float) * ts * ts + 3 * 64);
//high pass filter for R/B in horizontal direction
float *rbhpfv = (float (*)) (data + 3 * sizeof(float) * ts * ts + sizeof(float) * ts * tsh + 4 * 64);
float *rbhpfv = (float (*)) (data + 2 * sizeof(float) * ts * ts + sizeof(float) * ts * tsh + 4 * 64);
//low pass filter for R/B in horizontal direction
float *rblpfh = (float (*)) (data + 4 * sizeof(float) * ts * ts + 5 * 64);
float *rblpfh = (float (*)) (data + 3 * sizeof(float) * ts * ts + 5 * 64);
//low pass filter for R/B in vertical direction
float *rblpfv = (float (*)) (data + 4 * sizeof(float) * ts * ts + sizeof(float) * ts * tsh + 6 * 64);
float *rblpfv = (float (*)) (data + 3 * sizeof(float) * ts * ts + sizeof(float) * ts * tsh + 6 * 64);
//low pass filter for colour differences in horizontal direction
float *grblpfh = (float (*)) (data + 5 * sizeof(float) * ts * ts + 7 * 64);
float *grblpfh = (float (*)) (data + 4 * sizeof(float) * ts * ts + 7 * 64);
//low pass filter for colour differences in vertical direction
float *grblpfv = (float (*)) (data + 5 * sizeof(float) * ts * ts + sizeof(float) * ts * tsh + 8 * 64);
//colour differences
float *grblpfv = (float (*)) (data + 4 * sizeof(float) * ts * ts + sizeof(float) * ts * tsh + 8 * 64);
float *grbdiff = rbhpfh; // there is no overlap in buffer usage => share
//green interpolated to optical sample points for R/B
float *gshift = rbhpfv; // there is no overlap in buffer usage => share
@ -236,13 +235,38 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
// rgb values should be floating point numbers between 0 and 1
// after white balance multipliers are applied
for (int rr = rrmin; rr < rrmax; rr++)
for (int row = rr + top, cc = ccmin; cc < ccmax; cc++) {
int col = cc + left;
#ifdef __SSE2__
vfloat c65535v = F2V(65535.f);
#endif
for (int rr = rrmin; rr < rrmax; rr++) {
int row = rr + top;
int cc = ccmin;
int col = cc + left;
#ifdef __SSE2__
int c0 = FC(rr, cc);
if(c0 == 1) {
rgb[c0][rr * ts + cc] = rawData[row][col] / 65535.f;
cc++;
col++;
c0 = FC(rr, cc);
}
int indx1 = rr * ts + cc;
for (; cc < ccmax - 7; cc+=8, col+=8, indx1 += 8) {
vfloat val1 = LVFU(rawData[row][col]) / c65535v;
vfloat val2 = LVFU(rawData[row][col + 4]) / c65535v;
vfloat nonGreenv = _mm_shuffle_ps(val1,val2,_MM_SHUFFLE( 2,0,2,0 ));
STVFU(rgb[c0][indx1 >> 1], nonGreenv);
STVFU(rgb[1][indx1], val1);
STVFU(rgb[1][indx1 + 4], val2);
}
#endif
for (; cc < ccmax; cc++, col++) {
int c = FC(rr, cc);
int indx1 = rr * ts + cc;
rgb[c][indx1] = (rawData[row][col]) / 65535.0f;
rgb[c][indx1 >> ((c & 1) ^ 1)] = rawData[row][col] / 65535.f;
}
}
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//fill borders
@ -250,7 +274,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = ccmin; cc < ccmax; cc++) {
int c = FC(rr, cc);
rgb[c][rr * ts + cc] = rgb[c][(border2 - rr) * ts + cc];
rgb[c][(rr * ts + cc) >> ((c & 1) ^ 1)] = rgb[c][((border2 - rr) * ts + cc) >> ((c & 1) ^ 1)];
}
}
@ -258,7 +282,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = ccmin; cc < ccmax; cc++) {
int c = FC(rr, cc);
rgb[c][(rrmax + rr)*ts + cc] = (rawData[(height - rr - 2)][left + cc]) / 65535.0f;
rgb[c][((rrmax + rr)*ts + cc) >> ((c & 1) ^ 1)] = rawData[(height - rr - 2)][left + cc] / 65535.f;
}
}
@ -266,7 +290,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = rrmin; rr < rrmax; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][rr * ts + cc] = rgb[c][rr * ts + border2 - cc];
rgb[c][(rr * ts + cc) >> ((c & 1) ^ 1)] = rgb[c][(rr * ts + border2 - cc) >> ((c & 1) ^ 1)];
}
}
@ -274,7 +298,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = rrmin; rr < rrmax; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][rr * ts + ccmax + cc] = (rawData[(top + rr)][(width - cc - 2)]) / 65535.0f;
rgb[c][(rr * ts + ccmax + cc) >> ((c & 1) ^ 1)] = rawData[(top + rr)][(width - cc - 2)] / 65535.f;
}
}
@ -283,7 +307,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][(rr)*ts + cc] = (rawData[border2 - rr][border2 - cc]) / 65535.0f;
rgb[c][(rr * ts + cc) >> ((c & 1) ^ 1)] = rawData[border2 - rr][border2 - cc] / 65535.f;
}
}
@ -291,7 +315,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][(rrmax + rr)*ts + ccmax + cc] = (rawData[(height - rr - 2)][(width - cc - 2)]) / 65535.0f;
rgb[c][((rrmax + rr)*ts + ccmax + cc) >> ((c & 1) ^ 1)] = rawData[(height - rr - 2)][(width - cc - 2)] / 65535.f;
}
}
@ -299,7 +323,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][(rr)*ts + ccmax + cc] = (rawData[(border2 - rr)][(width - cc - 2)]) / 65535.0f;
rgb[c][(rr * ts + ccmax + cc) >> ((c & 1) ^ 1)] = rawData[(border2 - rr)][(width - cc - 2)] / 65535.f;
}
}
@ -307,7 +331,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][(rrmax + rr)*ts + cc] = (rawData[(height - rr - 2)][(border2 - cc)]) / 65535.0f;
rgb[c][((rrmax + rr)*ts + cc) >> ((c & 1) ^ 1)] = rawData[(height - rr - 2)][(border2 - cc)] / 65535.f;
}
}
@ -328,30 +352,45 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
#ifdef __SSE2__
for (; cc < cc1 - 9; cc+=8, indx+=8) {
//compute directional weights using image gradients
vfloat wtuv = onev / SQRV(epsv + vabsf(LC2VFU(rgb[1][indx + v1]) - LC2VFU(rgb[1][indx - v1])) + vabsf(LC2VFU(rgb[c][indx]) - LC2VFU(rgb[c][indx - v2])) + vabsf(LC2VFU(rgb[1][indx - v1]) - LC2VFU(rgb[1][indx - v3])));
vfloat wtdv = onev / SQRV(epsv + vabsf(LC2VFU(rgb[1][indx - v1]) - LC2VFU(rgb[1][indx + v1])) + vabsf(LC2VFU(rgb[c][indx]) - LC2VFU(rgb[c][indx + v2])) + vabsf(LC2VFU(rgb[1][indx + v1]) - LC2VFU(rgb[1][indx + v3])));
vfloat wtlv = onev / SQRV(epsv + vabsf(LC2VFU(rgb[1][indx + 1]) - LC2VFU(rgb[1][indx - 1])) + vabsf(LC2VFU(rgb[c][indx]) - LC2VFU(rgb[c][indx - 2])) + vabsf(LC2VFU(rgb[1][indx - 1]) - LC2VFU(rgb[1][indx - 3])));
vfloat wtrv = onev / SQRV(epsv + vabsf(LC2VFU(rgb[1][indx - 1]) - LC2VFU(rgb[1][indx + 1])) + vabsf(LC2VFU(rgb[c][indx]) - LC2VFU(rgb[c][indx + 2])) + vabsf(LC2VFU(rgb[1][indx + 1]) - LC2VFU(rgb[1][indx + 3])));
vfloat rgb1mv1v = LC2VFU(rgb[1][indx - v1]);
vfloat rgb1pv1v = LC2VFU(rgb[1][indx + v1]);
vfloat rgbcv = LVFU(rgb[c][indx >> 1]);
vfloat temp1v = epsv + vabsf(rgb1mv1v - rgb1pv1v);
vfloat wtuv = onev / SQRV(temp1v + vabsf(rgbcv - LVFU(rgb[c][(indx - v2) >> 1])) + vabsf(rgb1mv1v - LC2VFU(rgb[1][indx - v3])));
vfloat wtdv = onev / SQRV(temp1v + vabsf(rgbcv - LVFU(rgb[c][(indx + v2) >> 1])) + vabsf(rgb1pv1v - LC2VFU(rgb[1][indx + v3])));
vfloat rgb1m1v = LC2VFU(rgb[1][indx - 1]);
vfloat rgb1p1v = LC2VFU(rgb[1][indx + 1]);
vfloat temp2v = epsv + vabsf(rgb1m1v - rgb1p1v);
vfloat wtlv = onev / SQRV(temp2v + vabsf(rgbcv - LVFU(rgb[c][(indx - 2) >> 1])) + vabsf(rgb1m1v - LC2VFU(rgb[1][indx - 3])));
vfloat wtrv = onev / SQRV(temp2v + vabsf(rgbcv - LVFU(rgb[c][(indx + 2) >> 1])) + vabsf(rgb1p1v - LC2VFU(rgb[1][indx + 3])));
//store in rgb array the interpolated G value at R/B grid points using directional weighted average
STC2VFU(rgb[1][indx], (wtuv * LC2VFU(rgb[1][indx - v1]) + wtdv * LC2VFU(rgb[1][indx + v1]) + wtlv * LC2VFU(rgb[1][indx - 1]) + wtrv * LC2VFU(rgb[1][indx + 1])) / (wtuv + wtdv + wtlv + wtrv));
STC2VFU(rgb[1][indx], (wtuv * rgb1mv1v + wtdv * rgb1pv1v + wtlv * rgb1m1v + wtrv * rgb1p1v) / (wtuv + wtdv + wtlv + wtrv));
}
#endif
for (; cc < cc1 - 3; cc+=2, indx+=2) {
//compute directional weights using image gradients
float wtu = 1.f / SQR(eps + fabsf(rgb[1][indx + v1] - rgb[1][indx - v1]) + fabsf(rgb[c][indx] - rgb[c][indx - v2]) + fabsf(rgb[1][indx - v1] - rgb[1][indx - v3]));
float wtd = 1.f / SQR(eps + fabsf(rgb[1][indx - v1] - rgb[1][indx + v1]) + fabsf(rgb[c][indx] - rgb[c][indx + v2]) + fabsf(rgb[1][indx + v1] - rgb[1][indx + v3]));
float wtl = 1.f / SQR(eps + fabsf(rgb[1][indx + 1] - rgb[1][indx - 1]) + fabsf(rgb[c][indx] - rgb[c][indx - 2]) + fabsf(rgb[1][indx - 1] - rgb[1][indx - 3]));
float wtr = 1.f / SQR(eps + fabsf(rgb[1][indx - 1] - rgb[1][indx + 1]) + fabsf(rgb[c][indx] - rgb[c][indx + 2]) + fabsf(rgb[1][indx + 1] - rgb[1][indx + 3]));
float wtu = 1.f / SQR(eps + fabsf(rgb[1][indx + v1] - rgb[1][indx - v1]) + fabsf(rgb[c][indx >> 1] - rgb[c][(indx - v2) >> 1]) + fabsf(rgb[1][indx - v1] - rgb[1][indx - v3]));
float wtd = 1.f / SQR(eps + fabsf(rgb[1][indx - v1] - rgb[1][indx + v1]) + fabsf(rgb[c][indx >> 1] - rgb[c][(indx + v2) >> 1]) + fabsf(rgb[1][indx + v1] - rgb[1][indx + v3]));
float wtl = 1.f / SQR(eps + fabsf(rgb[1][indx + 1] - rgb[1][indx - 1]) + fabsf(rgb[c][indx >> 1] - rgb[c][(indx - 2) >> 1]) + fabsf(rgb[1][indx - 1] - rgb[1][indx - 3]));
float wtr = 1.f / SQR(eps + fabsf(rgb[1][indx - 1] - rgb[1][indx + 1]) + fabsf(rgb[c][indx >> 1] - rgb[c][(indx + 2) >> 1]) + fabsf(rgb[1][indx + 1] - rgb[1][indx + 3]));
//store in rgb array the interpolated G value at R/B grid points using directional weighted average
rgb[1][indx] = (wtu * rgb[1][indx - v1] + wtd * rgb[1][indx + v1] + wtl * rgb[1][indx - 1] + wtr * rgb[1][indx + 1]) / (wtu + wtd + wtl + wtr);
}
if (row > -1 && row < height) {
for(int col = max(left + 3, 0), indx = rr * ts + 3 - (left < 0 ? (left+3) : 0); col < min(cc1 + left - 3, width); col++, indx++) {
Gtmp[row * width + col] = rgb[1][indx];
int offset = (FC(row,max(left + 3, 0)) & 1);
int col = max(left + 3, 0) + offset;
int indx = rr * ts + 3 - (left < 0 ? (left+3) : 0) + offset;
#ifdef __SSE2__
for(; col < min(cc1 + left - 3, width) - 7; col+=8, indx+=8) {
STVFU(Gtmp[(row * width + col) >> 1], LC2VFU(rgb[1][indx]));
}
#endif
for(; col < min(cc1 + left - 3, width); col+=2, indx+=2) {
Gtmp[(row * width + col) >> 1] = rgb[1][indx];
}
}
@ -361,47 +400,53 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
vfloat zd25v = F2V(0.25f);
#endif
for (int rr = 4; rr < rr1 - 4; rr++) {
int cc = 4 + (FC(rr, 2) & 1), indx = rr * ts + cc, c = FC(rr, cc);
int cc = 4 + (FC(rr, 2) & 1);
int indx = rr * ts + cc;
int c = FC(rr, cc);
#ifdef __SSE2__
for (; cc < cc1 - 10; cc += 8, indx += 8) {
vfloat rgb1v = LC2VFU(rgb[1][indx]);
vfloat rgbcv = LC2VFU(rgb[c][indx]);
vfloat temp1v = vabsf(vabsf((rgb1v - rgbcv) - (LC2VFU(rgb[1][indx + v4]) - LC2VFU(rgb[c][indx + v4]))) +
vabsf(LC2VFU(rgb[1][indx - v4]) - LC2VFU(rgb[c][indx - v4]) - rgb1v + rgbcv) -
vabsf(LC2VFU(rgb[1][indx - v4]) - LC2VFU(rgb[c][indx - v4]) - LC2VFU(rgb[1][indx + v4]) + LC2VFU(rgb[c][indx + v4])));
vfloat rgbcv = LVFU(rgb[c][indx >> 1]);
vfloat rgb1mv4 = LC2VFU(rgb[1][indx - v4]);
vfloat rgb1pv4 = LC2VFU(rgb[1][indx + v4]);
vfloat temp1v = vabsf(vabsf((rgb1v - rgbcv) - (rgb1pv4 - LVFU(rgb[c][(indx + v4) >> 1]))) +
vabsf(rgb1mv4 - LVFU(rgb[c][(indx - v4) >> 1]) - rgb1v + rgbcv) -
vabsf(rgb1mv4 - LVFU(rgb[c][(indx - v4) >> 1]) - rgb1pv4 + LVFU(rgb[c][(indx + v4) >> 1])));
STVFU(rbhpfv[indx >> 1], temp1v);
vfloat temp2v = vabsf(vabsf((rgb1v - rgbcv) - (LC2VFU(rgb[1][indx + 4]) - LC2VFU(rgb[c][indx + 4]))) +
vabsf(LC2VFU(rgb[1][indx - 4]) - LC2VFU(rgb[c][indx - 4]) - rgb1v + rgbcv) -
vabsf(LC2VFU(rgb[1][indx - 4]) - LC2VFU(rgb[c][indx - 4]) - LC2VFU(rgb[1][indx + 4]) + LC2VFU(rgb[c][indx + 4])));
vfloat rgb1m4 = LC2VFU(rgb[1][indx - 4]);
vfloat rgb1p4 = LC2VFU(rgb[1][indx + 4]);
vfloat temp2v = vabsf(vabsf((rgb1v - rgbcv) - (rgb1p4 - LVFU(rgb[c][(indx + 4) >> 1]))) +
vabsf(rgb1m4 - LVFU(rgb[c][(indx - 4) >> 1]) - rgb1v + rgbcv) -
vabsf(rgb1m4 - LVFU(rgb[c][(indx - 4) >> 1]) - rgb1p4 + LVFU(rgb[c][(indx + 4) >> 1])));
STVFU(rbhpfh[indx >> 1], temp2v);
//low and high pass 1D filters of G in vertical/horizontal directions
rgb1v = vmul2f(rgb1v);
vfloat glpfvv = zd25v * (rgb1v + LC2VFU(rgb[1][indx + v2]) + LC2VFU(rgb[1][indx - v2]));
vfloat glpfhv = zd25v * (rgb1v + LC2VFU(rgb[1][indx + 2]) + LC2VFU(rgb[1][indx - 2]));
vfloat glpfvv = (rgb1v + LC2VFU(rgb[1][indx + v2]) + LC2VFU(rgb[1][indx - v2]));
vfloat glpfhv = (rgb1v + LC2VFU(rgb[1][indx + 2]) + LC2VFU(rgb[1][indx - 2]));
rgbcv = vmul2f(rgbcv);
STVFU(rblpfv[indx >> 1], epsv + vabsf(glpfvv - zd25v * (rgbcv + LC2VFU(rgb[c][indx + v2]) + LC2VFU(rgb[c][indx - v2]))));
STVFU(rblpfh[indx >> 1], epsv + vabsf(glpfhv - zd25v * (rgbcv + LC2VFU(rgb[c][indx + 2]) + LC2VFU(rgb[c][indx - 2]))));
STVFU(grblpfv[indx >> 1], glpfvv + zd25v * (rgbcv + LC2VFU(rgb[c][indx + v2]) + LC2VFU(rgb[c][indx - v2])));
STVFU(grblpfh[indx >> 1], glpfhv + zd25v * (rgbcv + LC2VFU(rgb[c][indx + 2]) + LC2VFU(rgb[c][indx - 2])));
STVFU(rblpfv[indx >> 1], zd25v * vabsf(glpfvv - (rgbcv + LVFU(rgb[c][(indx + v2) >> 1]) + LVFU(rgb[c][(indx - v2) >> 1]))));
STVFU(rblpfh[indx >> 1], zd25v * vabsf(glpfhv - (rgbcv + LVFU(rgb[c][(indx + 2) >> 1]) + LVFU(rgb[c][(indx - 2) >> 1]))));
STVFU(grblpfv[indx >> 1], zd25v * (glpfvv + (rgbcv + LVFU(rgb[c][(indx + v2) >> 1]) + LVFU(rgb[c][(indx - v2) >> 1]))));
STVFU(grblpfh[indx >> 1], zd25v * (glpfhv + (rgbcv + LVFU(rgb[c][(indx + 2) >> 1]) + LVFU(rgb[c][(indx - 2) >> 1]))));
}
#endif
for (; cc < cc1 - 4; cc += 2, indx += 2) {
rbhpfv[indx >> 1] = fabsf(fabsf((rgb[1][indx] - rgb[c][indx]) - (rgb[1][indx + v4] - rgb[c][indx + v4])) +
fabsf((rgb[1][indx - v4] - rgb[c][indx - v4]) - (rgb[1][indx] - rgb[c][indx])) -
fabsf((rgb[1][indx - v4] - rgb[c][indx - v4]) - (rgb[1][indx + v4] - rgb[c][indx + v4])));
rbhpfh[indx >> 1] = fabsf(fabsf((rgb[1][indx] - rgb[c][indx]) - (rgb[1][indx + 4] - rgb[c][indx + 4])) +
fabsf((rgb[1][indx - 4] - rgb[c][indx - 4]) - (rgb[1][indx] - rgb[c][indx])) -
fabsf((rgb[1][indx - 4] - rgb[c][indx - 4]) - (rgb[1][indx + 4] - rgb[c][indx + 4])));
rbhpfv[indx >> 1] = fabsf(fabsf((rgb[1][indx] - rgb[c][indx >> 1]) - (rgb[1][indx + v4] - rgb[c][(indx + v4) >> 1])) +
fabsf((rgb[1][indx - v4] - rgb[c][(indx - v4) >> 1]) - (rgb[1][indx] - rgb[c][indx >> 1])) -
fabsf((rgb[1][indx - v4] - rgb[c][(indx - v4) >> 1]) - (rgb[1][indx + v4] - rgb[c][(indx + v4) >> 1])));
rbhpfh[indx >> 1] = fabsf(fabsf((rgb[1][indx] - rgb[c][indx >> 1]) - (rgb[1][indx + 4] - rgb[c][(indx + 4) >> 1])) +
fabsf((rgb[1][indx - 4] - rgb[c][(indx - 4) >> 1]) - (rgb[1][indx] - rgb[c][indx >> 1])) -
fabsf((rgb[1][indx - 4] - rgb[c][(indx - 4) >> 1]) - (rgb[1][indx + 4] - rgb[c][(indx + 4) >> 1])));
//low and high pass 1D filters of G in vertical/horizontal directions
float glpfv = 0.25f * (2.f * rgb[1][indx] + rgb[1][indx + v2] + rgb[1][indx - v2]);
float glpfh = 0.25f * (2.f * rgb[1][indx] + rgb[1][indx + 2] + rgb[1][indx - 2]);
rblpfv[indx >> 1] = eps + fabsf(glpfv - 0.25f * (2.f * rgb[c][indx] + rgb[c][indx + v2] + rgb[c][indx - v2]));
rblpfh[indx >> 1] = eps + fabsf(glpfh - 0.25f * (2.f * rgb[c][indx] + rgb[c][indx + 2] + rgb[c][indx - 2]));
grblpfv[indx >> 1] = glpfv + 0.25f * (2.f * rgb[c][indx] + rgb[c][indx + v2] + rgb[c][indx - v2]);
grblpfh[indx >> 1] = glpfh + 0.25f * (2.f * rgb[c][indx] + rgb[c][indx + 2] + rgb[c][indx - 2]);
float glpfv = (2.f * rgb[1][indx] + rgb[1][indx + v2] + rgb[1][indx - v2]);
float glpfh = (2.f * rgb[1][indx] + rgb[1][indx + 2] + rgb[1][indx - 2]);
rblpfv[indx >> 1] = 0.25f * fabsf(glpfv - (2.f * rgb[c][indx >> 1] + rgb[c][(indx + v2) >> 1] + rgb[c][(indx - v2) >> 1]));
rblpfh[indx >> 1] = 0.25f * fabsf(glpfh - (2.f * rgb[c][indx >> 1] + rgb[c][(indx + 2) >> 1] + rgb[c][(indx - 2) >> 1]));
grblpfv[indx >> 1] = 0.25f * (glpfv + (2.f * rgb[c][indx >> 1] + rgb[c][(indx + v2) >> 1] + rgb[c][(indx - v2) >> 1]));
grblpfh[indx >> 1] = 0.25f * (glpfh + (2.f * rgb[c][indx >> 1] + rgb[c][(indx + 2) >> 1] + rgb[c][(indx - 2) >> 1]));
}
}
@ -414,10 +459,9 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
}
#ifdef __SSE2__
vfloat zd3125v = F2V(0.3125f);
vfloat zd09375v = F2V(0.09375f);
vfloat zd3v = F2V(0.3f);
vfloat zd1v = F2V(0.1f);
vfloat zd125v = F2V(0.125f);
vfloat zd5v = F2V(0.5f);
#endif
// along line segments, find the point along each segment that minimizes the colour variance
@ -439,29 +483,27 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
//solve for the interpolation position that minimizes colour difference variance over the tile
//vertical
vfloat gdiffv = zd3125v * (LC2VFU(rgb[1][indx + ts]) - LC2VFU(rgb[1][indx - ts])) + zd09375v * (LC2VFU(rgb[1][indx + ts + 1]) - LC2VFU(rgb[1][indx - ts + 1]) + LC2VFU(rgb[1][indx + ts - 1]) - LC2VFU(rgb[1][indx - ts - 1]));
vfloat deltgrbv = LC2VFU(rgb[c][indx]) - LC2VFU(rgb[1][indx]);
vfloat temp1 = zd3v * (LC2VFU(rgb[1][indx + ts + 1]) - LC2VFU(rgb[1][indx - ts - 1]));
vfloat temp2 = zd3v * (LC2VFU(rgb[1][indx - ts + 1]) - LC2VFU(rgb[1][indx + ts - 1]));
vfloat gdiffvv = (LC2VFU(rgb[1][indx + ts]) - LC2VFU(rgb[1][indx - ts])) + (temp1 - temp2);
vfloat deltgrbv = LVFU(rgb[c][indx >> 1]) - LC2VFU(rgb[1][indx]);
vfloat gradwtv = vabsf(zd25v * LVFU(rbhpfv[indx >> 1]) + zd125v * (LVFU(rbhpfv[(indx >> 1) + 1]) + LVFU(rbhpfv[(indx >> 1) - 1])) ) * (LVFU(grblpfv[(indx >> 1) - v1]) + LVFU(grblpfv[(indx >> 1) + v1])) / (epsv + zd1v * (LVFU(grblpfv[(indx >> 1) - v1]) + LVFU(grblpfv[(indx >> 1) + v1])) + LVFU(rblpfv[(indx >> 1) - v1]) + LVFU(rblpfv[(indx >> 1) + v1]));
vfloat gradwtvv = (LVFU(rbhpfv[indx >> 1]) + zd5v * (LVFU(rbhpfv[(indx >> 1) + 1]) + LVFU(rbhpfv[(indx >> 1) - 1]))) * (LVFU(grblpfv[(indx >> 1) - v1]) + LVFU(grblpfv[(indx >> 1) + v1])) / (epsv + zd1v * (LVFU(grblpfv[(indx >> 1) - v1]) + LVFU(grblpfv[(indx >> 1) + v1])) + LVFU(rblpfv[(indx >> 1) - v1]) + LVFU(rblpfv[(indx >> 1) + v1]));
coeff00v += gradwtv * deltgrbv * deltgrbv;
coeff01v += gradwtv * gdiffv * deltgrbv;
coeff02v += gradwtv * gdiffv * gdiffv;
coeff00v += gradwtvv * deltgrbv * deltgrbv;
coeff01v += gradwtvv * gdiffvv * deltgrbv;
coeff02v += gradwtvv * gdiffvv * gdiffvv;
//horizontal
gdiffv = zd3125v * (LC2VFU(rgb[1][indx + 1]) - LC2VFU(rgb[1][indx - 1])) + zd09375v * (LC2VFU(rgb[1][indx + 1 + ts]) - LC2VFU(rgb[1][indx - 1 + ts]) + LC2VFU(rgb[1][indx + 1 - ts]) - LC2VFU(rgb[1][indx - 1 - ts]));
vfloat gdiffhv = (LC2VFU(rgb[1][indx + 1]) - LC2VFU(rgb[1][indx - 1])) + (temp1 + temp2);
gradwtv = vabsf(zd25v * LVFU(rbhpfh[indx >> 1]) + zd125v * (LVFU(rbhpfh[(indx >> 1) + v1]) + LVFU(rbhpfh[(indx >> 1) - v1])) ) * (LVFU(grblpfh[(indx >> 1) - 1]) + LVFU(grblpfh[(indx >> 1) + 1])) / (epsv + zd1v * (LVFU(grblpfh[(indx >> 1) - 1]) + LVFU(grblpfh[(indx >> 1) + 1])) + LVFU(rblpfh[(indx >> 1) - 1]) + LVFU(rblpfh[(indx >> 1) + 1]));
vfloat gradwthv = (LVFU(rbhpfh[indx >> 1]) + zd5v * (LVFU(rbhpfh[(indx >> 1) + v1]) + LVFU(rbhpfh[(indx >> 1) - v1]))) * (LVFU(grblpfh[(indx >> 1) - 1]) + LVFU(grblpfh[(indx >> 1) + 1])) / (epsv + zd1v * (LVFU(grblpfh[(indx >> 1) - 1]) + LVFU(grblpfh[(indx >> 1) + 1])) + LVFU(rblpfh[(indx >> 1) - 1]) + LVFU(rblpfh[(indx >> 1) + 1]));
coeff10v += gradwtv * deltgrbv * deltgrbv;
coeff11v += gradwtv * gdiffv * deltgrbv;
coeff12v += gradwtv * gdiffv * gdiffv;
// In Mathematica,
// f[x_]=Expand[Total[Flatten[
// ((1-x) RotateLeft[Gint,shift1]+x RotateLeft[Gint,shift2]-cfapad)^2[[dv;;-1;;2,dh;;-1;;2]]]]];
// extremum = -.5Coefficient[f[x],x]/Coefficient[f[x],x^2]
coeff10v += gradwthv * deltgrbv * deltgrbv;
coeff11v += gradwthv * gdiffhv * deltgrbv;
coeff12v += gradwthv * gdiffhv * gdiffhv;
}
coeff[0][0][c>>1] += vhadd(coeff00v);
coeff[0][1][c>>1] += vhadd(coeff01v);
coeff[0][2][c>>1] += vhadd(coeff02v);
@ -476,19 +518,19 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
//solve for the interpolation position that minimizes colour difference variance over the tile
//vertical
float gdiff = 0.3125f * (rgb[1][indx + ts] - rgb[1][indx - ts]) + 0.09375f * (rgb[1][indx + ts + 1] - rgb[1][indx - ts + 1] + rgb[1][indx + ts - 1] - rgb[1][indx - ts - 1]);
float deltgrb = (rgb[c][indx] - rgb[1][indx]);
float gdiff = (rgb[1][indx + ts] - rgb[1][indx - ts]) + 0.3f * (rgb[1][indx + ts + 1] - rgb[1][indx - ts + 1] + rgb[1][indx + ts - 1] - rgb[1][indx - ts - 1]);
float deltgrb = (rgb[c][indx >> 1] - rgb[1][indx]);
float gradwt = fabsf(0.25f * rbhpfv[indx >> 1] + 0.125f * (rbhpfv[(indx >> 1) + 1] + rbhpfv[(indx >> 1) - 1]) ) * (grblpfv[(indx >> 1) - v1] + grblpfv[(indx >> 1) + v1]) / (eps + 0.1f * (grblpfv[(indx >> 1) - v1] + grblpfv[(indx >> 1) + v1]) + rblpfv[(indx >> 1) - v1] + rblpfv[(indx >> 1) + v1]);
float gradwt = (rbhpfv[indx >> 1] + 0.5f * (rbhpfv[(indx >> 1) + 1] + rbhpfv[(indx >> 1) - 1]) ) * (grblpfv[(indx >> 1) - v1] + grblpfv[(indx >> 1) + v1]) / (eps + 0.1f * (grblpfv[(indx >> 1) - v1] + grblpfv[(indx >> 1) + v1]) + rblpfv[(indx >> 1) - v1] + rblpfv[(indx >> 1) + v1]);
coeff[0][0][c>>1] += gradwt * deltgrb * deltgrb;
coeff[0][1][c>>1] += gradwt * gdiff * deltgrb;
coeff[0][2][c>>1] += gradwt * gdiff * gdiff;
//horizontal
gdiff = 0.3125f * (rgb[1][indx + 1] - rgb[1][indx - 1]) + 0.09375f * (rgb[1][indx + 1 + ts] - rgb[1][indx - 1 + ts] + rgb[1][indx + 1 - ts] - rgb[1][indx - 1 - ts]);
gdiff = (rgb[1][indx + 1] - rgb[1][indx - 1]) + 0.3f * (rgb[1][indx + 1 + ts] - rgb[1][indx - 1 + ts] + rgb[1][indx + 1 - ts] - rgb[1][indx - 1 - ts]);
gradwt = fabsf(0.25f * rbhpfh[indx >> 1] + 0.125f * (rbhpfh[(indx >> 1) + v1] + rbhpfh[(indx >> 1) - v1]) ) * (grblpfh[(indx >> 1) - 1] + grblpfh[(indx >> 1) + 1]) / (eps + 0.1f * (grblpfh[(indx >> 1) - 1] + grblpfh[(indx >> 1) + 1]) + rblpfh[(indx >> 1) - 1] + rblpfh[(indx >> 1) + 1]);
gradwt = (rbhpfh[indx >> 1] + 0.5f * (rbhpfh[(indx >> 1) + v1] + rbhpfh[(indx >> 1) - v1]) ) * (grblpfh[(indx >> 1) - 1] + grblpfh[(indx >> 1) + 1]) / (eps + 0.1f * (grblpfh[(indx >> 1) - 1] + grblpfh[(indx >> 1) + 1]) + rblpfh[(indx >> 1) - 1] + rblpfh[(indx >> 1) + 1]);
coeff[1][0][c>>1] += gradwt * deltgrb * deltgrb;
coeff[1][1][c>>1] += gradwt * gdiff * deltgrb;
@ -501,6 +543,19 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
}
}
for (int dir = 0; dir < 2; dir++) {
for (int k = 0; k < 3; k++) {
for (int c = 0; c < 2; c++) {
coeff[dir][k][c] *= 0.25f;
if(k == 1) {
coeff[dir][k][c] *= 0.3125f;
} else if(k == 2) {
coeff[dir][k][c] *= SQR(0.3125f);
}
}
}
}
for (int c = 0; c < 2; c++) {
for (int dir = 0; dir < 2; dir++) { // vert/hor
@ -719,26 +774,51 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
// rgb values should be floating point number between 0 and 1
// after white balance multipliers are applied
for (int rr = rrmin; rr < rrmax; rr++)
for (int row = rr + top, cc = ccmin; cc < ccmax; cc++) {
int col = cc + left;
#ifdef __SSE2__
vfloat c65535v = F2V(65535.f);
vmask gmask = _mm_set_epi32(0, 0xffffffff, 0, 0xffffffff);
#endif
for (int rr = rrmin; rr < rrmax; rr++) {
int row = rr + top;
int cc = ccmin;
int col = cc + left;
int indx = row * width + col;
int indx1 = rr * ts + cc;
#ifdef __SSE2__
int c = FC(rr, cc);
if(c & 1) {
rgb[1][indx1] = rawData[row][col] / 65535.f;
indx++;
indx1++;
cc++;
col++;
c = FC(rr, cc);
}
for (; cc < ccmax - 7; cc += 8, col += 8, indx += 8, indx1 += 8) {
vfloat val1v = LVFU(rawData[row][col]) / c65535v;
vfloat val2v = LVFU(rawData[row][col + 4]) / c65535v;
STVFU(rgb[c][indx1 >> 1], _mm_shuffle_ps(val1v, val2v, _MM_SHUFFLE(2, 0, 2, 0)));
vfloat gtmpv = LVFU(Gtmp[indx >> 1]);
STVFU(rgb[1][indx1], vself(gmask, PERMUTEPS(gtmpv, _MM_SHUFFLE(1, 1, 0, 0)), val1v));
STVFU(rgb[1][indx1 + 4], vself(gmask, PERMUTEPS(gtmpv, _MM_SHUFFLE(3, 3, 2, 2)), val2v));
}
#endif
for (; cc < ccmax; cc++, col++, indx++, indx1++) {
int c = FC(rr, cc);
int indx = row * width + col;
int indx1 = rr * ts + cc;
rgb[c][indx1] = (rawData[row][col]) / 65535.0f;
rgb[c][indx1 >> ((c & 1) ^ 1)] = rawData[row][col] / 65535.f;
if ((c & 1) == 0) {
rgb[1][indx1] = Gtmp[indx];
rgb[1][indx1] = Gtmp[indx >> 1];
}
}
}
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//fill borders
if (rrmin > 0) {
for (int rr = 0; rr < border; rr++)
for (int cc = ccmin; cc < ccmax; cc++) {
int c = FC(rr, cc);
rgb[c][rr * ts + cc] = rgb[c][(border2 - rr) * ts + cc];
rgb[c][(rr * ts + cc) >> ((c & 1) ^ 1)] = rgb[c][((border2 - rr) * ts + cc) >> ((c & 1) ^ 1)];
rgb[1][rr * ts + cc] = rgb[1][(border2 - rr) * ts + cc];
}
}
@ -747,8 +827,10 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = ccmin; cc < ccmax; cc++) {
int c = FC(rr, cc);
rgb[c][(rrmax + rr)*ts + cc] = (rawData[(height - rr - 2)][left + cc]) / 65535.0f;
rgb[1][(rrmax + rr)*ts + cc] = Gtmp[(height - rr - 2) * width + left + cc];
rgb[c][((rrmax + rr)*ts + cc) >> ((c & 1) ^ 1)] = (rawData[(height - rr - 2)][left + cc]) / 65535.f;
if ((c & 1) == 0) {
rgb[1][(rrmax + rr)*ts + cc] = Gtmp[((height - rr - 2) * width + left + cc) >> 1];
}
}
}
@ -756,7 +838,7 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = rrmin; rr < rrmax; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][rr * ts + cc] = rgb[c][rr * ts + border2 - cc];
rgb[c][(rr * ts + cc) >> ((c & 1) ^ 1)] = rgb[c][(rr * ts + border2 - cc) >> ((c & 1) ^ 1)];
rgb[1][rr * ts + cc] = rgb[1][rr * ts + border2 - cc];
}
}
@ -765,8 +847,10 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = rrmin; rr < rrmax; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][rr * ts + ccmax + cc] = (rawData[(top + rr)][(width - cc - 2)]) / 65535.0f;
rgb[1][rr * ts + ccmax + cc] = Gtmp[(top + rr) * width + (width - cc - 2)];
rgb[c][(rr * ts + ccmax + cc) >> ((c & 1) ^ 1)] = (rawData[(top + rr)][(width - cc - 2)]) / 65535.f;
if ((c & 1) == 0) {
rgb[1][rr * ts + ccmax + cc] = Gtmp[((top + rr) * width + (width - cc - 2)) >> 1];
}
}
}
@ -775,8 +859,10 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][(rr)*ts + cc] = (rawData[border2 - rr][border2 - cc]) / 65535.0f;
rgb[1][(rr)*ts + cc] = Gtmp[(border2 - rr) * width + border2 - cc];
rgb[c][(rr * ts + cc) >> ((c & 1) ^ 1)] = (rawData[border2 - rr][border2 - cc]) / 65535.f;
if ((c & 1) == 0) {
rgb[1][rr * ts + cc] = Gtmp[((border2 - rr) * width + border2 - cc) >> 1];
}
}
}
@ -784,8 +870,10 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][(rrmax + rr)*ts + ccmax + cc] = (rawData[(height - rr - 2)][(width - cc - 2)]) / 65535.0f;
rgb[1][(rrmax + rr)*ts + ccmax + cc] = Gtmp[(height - rr - 2) * width + (width - cc - 2)];
rgb[c][((rrmax + rr)*ts + ccmax + cc) >> ((c & 1) ^ 1)] = (rawData[(height - rr - 2)][(width - cc - 2)]) / 65535.f;
if ((c & 1) == 0) {
rgb[1][(rrmax + rr)*ts + ccmax + cc] = Gtmp[((height - rr - 2) * width + (width - cc - 2)) >> 1];
}
}
}
@ -793,8 +881,10 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][(rr)*ts + ccmax + cc] = (rawData[(border2 - rr)][(width - cc - 2)]) / 65535.0f;
rgb[1][(rr)*ts + ccmax + cc] = Gtmp[(border2 - rr) * width + (width - cc - 2)];
rgb[c][(rr * ts + ccmax + cc) >> ((c & 1) ^ 1)] = (rawData[(border2 - rr)][(width - cc - 2)]) / 65535.f;
if ((c & 1) == 0) {
rgb[1][rr * ts + ccmax + cc] = Gtmp[((border2 - rr) * width + (width - cc - 2)) >> 1];
}
}
}
@ -802,8 +892,10 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 0; rr < border; rr++)
for (int cc = 0; cc < border; cc++) {
int c = FC(rr, cc);
rgb[c][(rrmax + rr)*ts + cc] = (rawData[(height - rr - 2)][(border2 - cc)]) / 65535.0f;
rgb[1][(rrmax + rr)*ts + cc] = Gtmp[(height - rr - 2) * width + (border2 - cc)];
rgb[c][((rrmax + rr)*ts + cc) >> ((c & 1) ^ 1)] = (rawData[(height - rr - 2)][(border2 - cc)]) / 65535.f;
if ((c & 1) == 0) {
rgb[1][(rrmax + rr)*ts + cc] = Gtmp[((height - rr - 2) * width + (border2 - cc)) >> 1];
}
}
}
@ -813,24 +905,20 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
if (!autoCA) {
//manual CA correction; use red/blue slider values to set CA shift parameters
for (int rr = 3; rr < rr1 - 3; rr++)
for (int row = rr + top, cc = 3, indx = rr * ts + cc; cc < cc1 - 3; cc++, indx++) {
int col = cc + left;
for (int cc = 3, indx = rr * ts + cc; cc < cc1 - 3; cc++, indx++) {
int c = FC(rr, cc);
if (c != 1) {
//compute directional weights using image gradients
float wtu = 1.0 / SQR(eps + fabsf(rgb[1][(rr + 1) * ts + cc] - rgb[1][(rr - 1) * ts + cc]) + fabsf(rgb[c][(rr) * ts + cc] - rgb[c][(rr - 2) * ts + cc]) + fabsf(rgb[1][(rr - 1) * ts + cc] - rgb[1][(rr - 3) * ts + cc]));
float wtd = 1.0 / SQR(eps + fabsf(rgb[1][(rr - 1) * ts + cc] - rgb[1][(rr + 1) * ts + cc]) + fabsf(rgb[c][(rr) * ts + cc] - rgb[c][(rr + 2) * ts + cc]) + fabsf(rgb[1][(rr + 1) * ts + cc] - rgb[1][(rr + 3) * ts + cc]));
float wtl = 1.0 / SQR(eps + fabsf(rgb[1][(rr) * ts + cc + 1] - rgb[1][(rr) * ts + cc - 1]) + fabsf(rgb[c][(rr) * ts + cc] - rgb[c][(rr) * ts + cc - 2]) + fabsf(rgb[1][(rr) * ts + cc - 1] - rgb[1][(rr) * ts + cc - 3]));
float wtr = 1.0 / SQR(eps + fabsf(rgb[1][(rr) * ts + cc - 1] - rgb[1][(rr) * ts + cc + 1]) + fabsf(rgb[c][(rr) * ts + cc] - rgb[c][(rr) * ts + cc + 2]) + fabsf(rgb[1][(rr) * ts + cc + 1] - rgb[1][(rr) * ts + cc + 3]));
float wtu = 1.f / SQR(eps + fabsf(rgb[1][(rr + 1) * ts + cc] - rgb[1][(rr - 1) * ts + cc]) + fabsf(rgb[c][(rr * ts + cc) >> 1] - rgb[c][((rr - 2) * ts + cc) >> 1]) + fabsf(rgb[1][(rr - 1) * ts + cc] - rgb[1][(rr - 3) * ts + cc]));
float wtd = 1.f / SQR(eps + fabsf(rgb[1][(rr - 1) * ts + cc] - rgb[1][(rr + 1) * ts + cc]) + fabsf(rgb[c][(rr * ts + cc) >> 1] - rgb[c][((rr + 2) * ts + cc) >> 1]) + fabsf(rgb[1][(rr + 1) * ts + cc] - rgb[1][(rr + 3) * ts + cc]));
float wtl = 1.f / SQR(eps + fabsf(rgb[1][rr * ts + cc + 1] - rgb[1][rr * ts + cc - 1]) + fabsf(rgb[c][(rr * ts + cc) >> 1] - rgb[c][(rr * ts + cc - 2) >> 1]) + fabsf(rgb[1][rr * ts + cc - 1] - rgb[1][rr * ts + cc - 3]));
float wtr = 1.f / SQR(eps + fabsf(rgb[1][rr * ts + cc - 1] - rgb[1][rr * ts + cc + 1]) + fabsf(rgb[c][(rr * ts + cc) >> 1] - rgb[c][(rr * ts + cc + 2) >> 1]) + fabsf(rgb[1][rr * ts + cc + 1] - rgb[1][rr * ts + cc + 3]));
//store in rgb array the interpolated G value at R/B grid points using directional weighted average
rgb[1][indx] = (wtu * rgb[1][indx - v1] + wtd * rgb[1][indx + v1] + wtl * rgb[1][indx - 1] + wtr * rgb[1][indx + 1]) / (wtu + wtd + wtl + wtr);
}
if (row > -1 && row < height && col > -1 && col < width) {
Gtmp[row * width + col] = rgb[1][indx];
}
}
float hfrac = -((float)(hblock - 0.5) / (hblsz - 2) - 0.5);
@ -884,34 +972,39 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
for (int rr = 4; rr < rr1 - 4; rr++) {
int cc = 4 + (FC(rr, 2) & 1);
int c = FC(rr, cc);
int indx = (rr * ts + cc) >> 1;
int indxfc = (rr + shiftvfloor[c]) * ts + cc + shifthceil[c];
int indxff = (rr + shiftvfloor[c]) * ts + cc + shifthfloor[c];
int indxcc = (rr + shiftvceil[c]) * ts + cc + shifthceil[c];
int indxcf = (rr + shiftvceil[c]) * ts + cc + shifthfloor[c];
#ifdef __SSE2__
vfloat shifthfracv = F2V(shifthfrac[c]);
vfloat shiftvfracv = F2V(shiftvfrac[c]);
for (; cc < cc1 - 10; cc += 8) {
for (; cc < cc1 - 10; cc += 8, indxfc += 8, indxff += 8, indxcc += 8, indxcf += 8, indx += 4) {
//perform CA correction using colour ratios or colour differences
vfloat Ginthfloorv = vintpf(shifthfracv, LC2VFU(rgb[1][(rr + shiftvfloor[c]) * ts + cc + shifthceil[c]]), LC2VFU(rgb[1][(rr + shiftvfloor[c]) * ts + cc + shifthfloor[c]]));
vfloat Ginthceilv = vintpf(shifthfracv, LC2VFU(rgb[1][(rr + shiftvceil[c]) * ts + cc + shifthceil[c]]), LC2VFU(rgb[1][(rr + shiftvceil[c]) * ts + cc + shifthfloor[c]]));
vfloat Ginthfloorv = vintpf(shifthfracv, LC2VFU(rgb[1][indxfc]), LC2VFU(rgb[1][indxff]));
vfloat Ginthceilv = vintpf(shifthfracv, LC2VFU(rgb[1][indxcc]), LC2VFU(rgb[1][indxcf]));
//Gint is bilinear interpolation of G at CA shift point
vfloat Gintv = vintpf(shiftvfracv, Ginthceilv, Ginthfloorv);
//determine R/B at grid points using colour differences at shift point plus interpolated G value at grid point
//but first we need to interpolate G-R/G-B to grid points...
STVFU(grbdiff[((rr)*ts + cc) >> 1], Gintv - LC2VFU(rgb[c][(rr) * ts + cc]));
STVFU(gshift[((rr)*ts + cc) >> 1], Gintv);
STVFU(grbdiff[indx], Gintv - LVFU(rgb[c][indx]));
STVFU(gshift[indx], Gintv);
}
#endif
for (; cc < cc1 - 4; cc += 2) {
for (; cc < cc1 - 4; cc += 2, indxfc += 2, indxff += 2, indxcc += 2, indxcf += 2, ++indx) {
//perform CA correction using colour ratios or colour differences
float Ginthfloor = intp(shifthfrac[c], rgb[1][(rr + shiftvfloor[c]) * ts + cc + shifthceil[c]], rgb[1][(rr + shiftvfloor[c]) * ts + cc + shifthfloor[c]]);
float Ginthceil = intp(shifthfrac[c], rgb[1][(rr + shiftvceil[c]) * ts + cc + shifthceil[c]], rgb[1][(rr + shiftvceil[c]) * ts + cc + shifthfloor[c]]);
float Ginthfloor = intp(shifthfrac[c], rgb[1][indxfc], rgb[1][indxff]);
float Ginthceil = intp(shifthfrac[c], rgb[1][indxcc], rgb[1][indxcf]);
//Gint is bilinear interpolation of G at CA shift point
float Gint = intp(shiftvfrac[c], Ginthceil, Ginthfloor);
//determine R/B at grid points using colour differences at shift point plus interpolated G value at grid point
//but first we need to interpolate G-R/G-B to grid points...
grbdiff[((rr)*ts + cc) >> 1] = Gint - rgb[c][(rr) * ts + cc];
gshift[((rr)*ts + cc) >> 1] = Gint;
grbdiff[indx] = Gint - rgb[c][indx];
gshift[indx] = Gint;
}
}
@ -920,54 +1013,105 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
shiftvfrac[0] /= 2.f;
shiftvfrac[2] /= 2.f;
// this loop does not deserve vectorization in mainly because the most expensive part with the divisions does not happen often (less than 1/10 in my tests)
for (int rr = 8; rr < rr1 - 8; rr++)
for (int cc = 8 + (FC(rr, 2) & 1), c = FC(rr, cc), indx = rr * ts + cc; cc < cc1 - 8; cc += 2, indx += 2) {
#ifdef __SSE2__
vfloat zd25v = F2V(0.25f);
vfloat onev = F2V(1.f);
vfloat zd5v = F2V(0.5f);
vfloat epsv = F2V(eps);
#endif
for (int rr = 8; rr < rr1 - 8; rr++) {
int cc = 8 + (FC(rr, 2) & 1);
int c = FC(rr, cc);
int GRBdir0 = GRBdir[0][c];
int GRBdir1 = GRBdir[1][c];
#ifdef __SSE2__
vfloat shifthfracc = F2V(shifthfrac[c]);
vfloat shiftvfracc = F2V(shiftvfrac[c]);
for (int indx = rr * ts + cc; cc < cc1 - 14; cc += 8, indx += 8) {
//interpolate colour difference from optical R/B locations to grid locations
vfloat grbdiffinthfloor = vintpf(shifthfracc, LVFU(grbdiff[(indx - GRBdir1) >> 1]), LVFU(grbdiff[indx >> 1]));
vfloat grbdiffinthceil = vintpf(shifthfracc, LVFU(grbdiff[((rr - GRBdir0) * ts + cc - GRBdir1) >> 1]), LVFU(grbdiff[((rr - GRBdir0) * ts + cc) >> 1]));
//grbdiffint is bilinear interpolation of G-R/G-B at grid point
vfloat grbdiffint = vintpf(shiftvfracc, grbdiffinthceil, grbdiffinthfloor);
float grbdiffold = rgb[1][indx] - rgb[c][indx];
//now determine R/B at grid points using interpolated colour differences and interpolated G value at grid point
vfloat cinv = LVFU(rgb[c][indx >> 1]);
vfloat rinv = LC2VFU(rgb[1][indx]);
vfloat RBint = rinv - grbdiffint;
vmask cmask = vmaskf_ge(vabsf(RBint - cinv), zd25v * (RBint + cinv));
if(_mm_movemask_ps((vfloat)cmask)) {
// if for any of the 4 pixels the condition is true, do the math for all 4 pixels and mask the unused out at the end
//gradient weights using difference from G at CA shift points and G at grid points
vfloat p0 = onev / (epsv + vabsf(rinv - LVFU(gshift[indx >> 1])));
vfloat p1 = onev / (epsv + vabsf(rinv - LVFU(gshift[(indx - GRBdir1) >> 1])));
vfloat p2 = onev / (epsv + vabsf(rinv - LVFU(gshift[((rr - GRBdir0) * ts + cc) >> 1])));
vfloat p3 = onev / (epsv + vabsf(rinv - LVFU(gshift[((rr - GRBdir0) * ts + cc - GRBdir1) >> 1])));
grbdiffint = vself(cmask, (p0 * LVFU(grbdiff[indx >> 1]) + p1 * LVFU(grbdiff[(indx - GRBdir1) >> 1]) +
p2 * LVFU(grbdiff[((rr - GRBdir0) * ts + cc) >> 1]) + p3 * LVFU(grbdiff[((rr - GRBdir0) * ts + cc - GRBdir1) >> 1])) / (p0 + p1 + p2 + p3), grbdiffint);
}
vfloat grbdiffold = rinv - cinv;
RBint = rinv - grbdiffint;
RBint = vself(vmaskf_gt(vabsf(grbdiffold), vabsf(grbdiffint)), RBint, cinv);
RBint = vself(vmaskf_lt(grbdiffold * grbdiffint, ZEROV), rinv - zd5v * (grbdiffold + grbdiffint), RBint);
STVFU(rgb[c][indx >> 1], RBint);
}
#endif
for (int c = FC(rr, cc), indx = rr * ts + cc; cc < cc1 - 8; cc += 2, indx += 2) {
float grbdiffold = rgb[1][indx] - rgb[c][indx >> 1];
//interpolate colour difference from optical R/B locations to grid locations
float grbdiffinthfloor = intp(shifthfrac[c], grbdiff[(indx - GRBdir[1][c]) >> 1], grbdiff[indx >> 1]);
float grbdiffinthceil = intp(shifthfrac[c], grbdiff[((rr - GRBdir[0][c]) * ts + cc - GRBdir[1][c]) >> 1], grbdiff[((rr - GRBdir[0][c]) * ts + cc) >> 1]);
float grbdiffinthfloor = intp(shifthfrac[c], grbdiff[(indx - GRBdir1) >> 1], grbdiff[indx >> 1]);
float grbdiffinthceil = intp(shifthfrac[c], grbdiff[((rr - GRBdir0) * ts + cc - GRBdir1) >> 1], grbdiff[((rr - GRBdir0) * ts + cc) >> 1]);
//grbdiffint is bilinear interpolation of G-R/G-B at grid point
float grbdiffint = intp(shiftvfrac[c], grbdiffinthceil, grbdiffinthfloor);
//now determine R/B at grid points using interpolated colour differences and interpolated G value at grid point
float RBint = rgb[1][indx] - grbdiffint;
if (fabsf(RBint - rgb[c][indx]) < 0.25f * (RBint + rgb[c][indx])) {
if (fabsf(RBint - rgb[c][indx >> 1]) < 0.25f * (RBint + rgb[c][indx >> 1])) {
if (fabsf(grbdiffold) > fabsf(grbdiffint) ) {
rgb[c][indx] = RBint;
rgb[c][indx >> 1] = RBint;
}
} else {
//gradient weights using difference from G at CA shift points and G at grid points
float p0 = 1.0f / (eps + fabsf(rgb[1][indx] - gshift[indx >> 1]));
float p1 = 1.0f / (eps + fabsf(rgb[1][indx] - gshift[(indx - GRBdir[1][c]) >> 1]));
float p2 = 1.0f / (eps + fabsf(rgb[1][indx] - gshift[((rr - GRBdir[0][c]) * ts + cc) >> 1]));
float p3 = 1.0f / (eps + fabsf(rgb[1][indx] - gshift[((rr - GRBdir[0][c]) * ts + cc - GRBdir[1][c]) >> 1]));
float p0 = 1.f / (eps + fabsf(rgb[1][indx] - gshift[indx >> 1]));
float p1 = 1.f / (eps + fabsf(rgb[1][indx] - gshift[(indx - GRBdir1) >> 1]));
float p2 = 1.f / (eps + fabsf(rgb[1][indx] - gshift[((rr - GRBdir0) * ts + cc) >> 1]));
float p3 = 1.f / (eps + fabsf(rgb[1][indx] - gshift[((rr - GRBdir0) * ts + cc - GRBdir1) >> 1]));
grbdiffint = (p0 * grbdiff[indx >> 1] + p1 * grbdiff[(indx - GRBdir[1][c]) >> 1] +
p2 * grbdiff[((rr - GRBdir[0][c]) * ts + cc) >> 1] + p3 * grbdiff[((rr - GRBdir[0][c]) * ts + cc - GRBdir[1][c]) >> 1]) / (p0 + p1 + p2 + p3) ;
grbdiffint = (p0 * grbdiff[indx >> 1] + p1 * grbdiff[(indx - GRBdir1) >> 1] +
p2 * grbdiff[((rr - GRBdir0) * ts + cc) >> 1] + p3 * grbdiff[((rr - GRBdir0) * ts + cc - GRBdir1) >> 1]) / (p0 + p1 + p2 + p3) ;
//now determine R/B at grid points using interpolated colour differences and interpolated G value at grid point
if (fabsf(grbdiffold) > fabsf(grbdiffint) ) {
rgb[c][indx] = rgb[1][indx] - grbdiffint;
rgb[c][indx >> 1] = rgb[1][indx] - grbdiffint;
}
}
//if colour difference interpolation overshot the correction, just desaturate
if (grbdiffold * grbdiffint < 0) {
rgb[c][indx] = rgb[1][indx] - 0.5f * (grbdiffold + grbdiffint);
rgb[c][indx >> 1] = rgb[1][indx] - 0.5f * (grbdiffold + grbdiffint);
}
}
}
// copy CA corrected results to temporary image matrix
for (int rr = border; rr < rr1 - border; rr++) {
int c = FC(rr + top, left + border + (FC(rr + top, 2) & 1));
for (int row = rr + top, cc = border + (FC(rr, 2) & 1), indx = (row * width + cc + left) >> 1; cc < cc1 - border; cc += 2, indx++) {
RawDataTmp[indx] = 65535.0f * rgb[c][(rr) * ts + cc];
int row = rr + top;
int cc = border + (FC(rr, 2) & 1);
int indx = (row * width + cc + left) >> 1;
int indx1 = (rr * ts + cc) >> 1;
#ifdef __SSE2__
for (; indx < (row * width + cc1 - border - 7 + left) >> 1; indx+=4, indx1 += 4) {
STVFU(RawDataTmp[indx], c65535v * LVFU(rgb[c][indx1]));
}
#endif
for (; indx < (row * width + cc1 - border + left) >> 1; indx++, indx1++) {
RawDataTmp[indx] = 65535.f * rgb[c][indx1];
}
}
@ -993,17 +1137,23 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const
// copy temporary image matrix back to image matrix
#pragma omp for
for(int row = 0; row < height; row++)
for(int col = 0 + (FC(row, 0) & 1), indx = (row * width + col) >> 1; col < width; col += 2, indx++) {
for(int row = 0; row < height; row++) {
int col = FC(row, 0) & 1;
int indx = (row * width + col) >> 1;
#ifdef __SSE2__
for(; col < width - 7; col += 8, indx += 4) {
STC2VFU(rawData[row][col], LVFU(RawDataTmp[indx]));
}
#endif
for(; col < width; col += 2, indx++) {
rawData[row][col] = RawDataTmp[indx];
}
}
}
// clean up
free(buffer);
}
free(Gtmp);

View File

@ -9,6 +9,7 @@ include_directories(${EXTRA_INCDIR}
${GTK_INCLUDE_DIRS}
${IPTCDATA_INCLUDE_DIRS}
${LCMS_INCLUDE_DIRS}
${LENSFUN_INCLUDE_DIRS}
)
link_directories("${PROJECT_SOURCE_DIR}/rtexif"
@ -109,8 +110,14 @@ set(RTENGINESOURCEFILES
slicer.cc
stdimagesource.cc
utils.cc
rtlensfun.cc
)
if(LENSFUN_HAS_LOAD_DIRECTORY)
set_source_files_properties(rtlensfun.cc PROPERTIES COMPILE_DEFINITIONS RT_LENSFUN_HAS_LOAD_DIRECTORY)
endif()
if(NOT WITH_SYSTEM_KLT)
set(RTENGINESOURCEFILES ${RTENGINESOURCEFILES}
klt/convolve.cc
@ -153,6 +160,7 @@ target_link_libraries(rtengine rtexif
${PNG_LIBRARIES}
${TIFF_LIBRARIES}
${ZLIB_LIBRARIES}
${LENSFUN_LIBRARIES}
)
install(FILES ${CAMCONSTSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)

File diff suppressed because it is too large Load Diff

View File

@ -28,12 +28,12 @@ namespace rtengine
class Ciecam02
{
private:
static double d_factor( double f, double la );
static float d_factorfloat( float f, float la );
static double calculate_fl_from_la_ciecam02( double la );
static float calculate_fl_from_la_ciecam02float( float la );
static double achromatic_response_to_white( double x, double y, double z, double d, double fl, double nbb, int gamu );
static float achromatic_response_to_whitefloat( float x, float y, float z, float d, float fl, float nbb, int gamu );
static double d_factor ( double f, double la );
static float d_factorfloat ( float f, float la );
static double calculate_fl_from_la_ciecam02 ( double la );
static float calculate_fl_from_la_ciecam02float ( float la );
static double achromatic_response_to_white ( double x, double y, double z, double d, double fl, double nbb, int gamu );
static float achromatic_response_to_whitefloat ( float x, float y, float z, float d, float fl, float nbb, int gamu );
static void xyz_to_cat02 ( double &r, double &g, double &b, double x, double y, double z, int gamu );
static void cat02_to_hpe ( double &rh, double &gh, double &bh, double r, double g, double b, int gamu );
static void cat02_to_xyz ( double &x, double &y, double &z, double r, double g, double b, int gamu );
@ -45,97 +45,97 @@ private:
#ifdef __SSE2__
static void xyz_to_cat02float ( vfloat &r, vfloat &g, vfloat &b, vfloat x, vfloat y, vfloat z );
static void cat02_to_hpefloat ( vfloat &rh, vfloat &gh, vfloat &bh, vfloat r, vfloat g, vfloat b );
static vfloat nonlinear_adaptationfloat( vfloat c, vfloat fl );
static vfloat nonlinear_adaptationfloat ( vfloat c, vfloat fl );
#endif
static void Aab_to_rgb( double &r, double &g, double &b, double A, double aa, double bb, double nbb );
static void calculate_ab( double &aa, double &bb, double h, double e, double t, double nbb, double a );
static void Aab_to_rgb ( double &r, double &g, double &b, double A, double aa, double bb, double nbb );
static void calculate_ab ( double &aa, double &bb, double h, double e, double t, double nbb, double a );
static double nonlinear_adaptation( double c, double fl );
static float nonlinear_adaptationfloat( float c, float fl );
static double inverse_nonlinear_adaptation( double c, double fl );
static double nonlinear_adaptation ( double c, double fl );
static float nonlinear_adaptationfloat ( float c, float fl );
static double inverse_nonlinear_adaptation ( double c, double fl );
static float inverse_nonlinear_adaptationfloat( float c, float fl );
static void calculate_abfloat( float &aa, float &bb, float h, float e, float t, float nbb, float a );
static void Aab_to_rgbfloat( float &r, float &g, float &b, float A, float aa, float bb, float nbb );
static float inverse_nonlinear_adaptationfloat ( float c, float fl );
static void calculate_abfloat ( float &aa, float &bb, float h, float e, float t, float nbb, float a );
static void Aab_to_rgbfloat ( float &r, float &g, float &b, float A, float aa, float bb, float nbb );
static void hpe_to_xyzfloat ( float &x, float &y, float &z, float r, float g, float b );
static void cat02_to_xyzfloat ( float &x, float &y, float &z, float r, float g, float b, int gamu );
#ifdef __SSE2__
static vfloat inverse_nonlinear_adaptationfloat( vfloat c, vfloat fl );
static void calculate_abfloat( vfloat &aa, vfloat &bb, vfloat h, vfloat e, vfloat t, vfloat nbb, vfloat a );
static void Aab_to_rgbfloat( vfloat &r, vfloat &g, vfloat &b, vfloat A, vfloat aa, vfloat bb, vfloat nbb );
static vfloat inverse_nonlinear_adaptationfloat ( vfloat c, vfloat fl );
static void calculate_abfloat ( vfloat &aa, vfloat &bb, vfloat h, vfloat e, vfloat t, vfloat nbb, vfloat a );
static void Aab_to_rgbfloat ( vfloat &r, vfloat &g, vfloat &b, vfloat A, vfloat aa, vfloat bb, vfloat nbb );
static void hpe_to_xyzfloat ( vfloat &x, vfloat &y, vfloat &z, vfloat r, vfloat g, vfloat b );
static void cat02_to_xyzfloat ( vfloat &x, vfloat &y, vfloat &z, vfloat r, vfloat g, vfloat b );
#endif
public:
Ciecam02 () {}
static void curvecolor(double satind, double satval, double &sres, double parsat);
static void curvecolorfloat(float satind, float satval, float &sres, float parsat);
static void curveJ (double br, double contr, int db, LUTf & outCurve , LUTu & histogram ) ;
static void curvecolor (double satind, double satval, double &sres, double parsat);
static void curvecolorfloat (float satind, float satval, float &sres, float parsat);
static void curveJ (double br, double contr, int db, LUTf & outCurve, LUTu & histogram ) ;
static void curveJfloat (float br, float contr, const LUTu & histogram, LUTf & outCurve ) ;
/**
* Inverse transform from CIECAM02 JCh to XYZ.
*/
static void jch2xyz_ciecam02( double &x, double &y, double &z,
double J, double C, double h,
double xw, double yw, double zw,
double yb, double la,
double f, double c, double nc, int gamu, double n, double nbb, double ncb, double fl, double cz, double d, double aw);
static void jch2xyz_ciecam02 ( double &x, double &y, double &z,
double J, double C, double h,
double xw, double yw, double zw,
double yb, double la,
double f, double c, double nc, int gamu, double n, double nbb, double ncb, double fl, double cz, double d, double aw);
static void jch2xyz_ciecam02float( float &x, float &y, float &z,
float J, float C, float h,
float xw, float yw, float zw,
float f, float c, float nc, int gamu, float n, float nbb, float ncb, float fl, float cz, float d, float aw );
static void jch2xyz_ciecam02float ( float &x, float &y, float &z,
float J, float C, float h,
float xw, float yw, float zw,
float f, float c, float nc, int gamu, float n, float nbb, float ncb, float fl, float cz, float d, float aw );
#ifdef __SSE2__
static void jch2xyz_ciecam02float( vfloat &x, vfloat &y, vfloat &z,
vfloat J, vfloat C, vfloat h,
vfloat xw, vfloat yw, vfloat zw,
vfloat f, vfloat nc, vfloat n, vfloat nbb, vfloat ncb, vfloat fl, vfloat d, vfloat aw, vfloat reccmcz );
static void jch2xyz_ciecam02float ( vfloat &x, vfloat &y, vfloat &z,
vfloat J, vfloat C, vfloat h,
vfloat xw, vfloat yw, vfloat zw,
vfloat f, vfloat nc, vfloat n, vfloat nbb, vfloat ncb, vfloat fl, vfloat d, vfloat aw, vfloat reccmcz );
#endif
/**
* Forward transform from XYZ to CIECAM02 JCh.
*/
static void initcam1(double gamu, double yb, double pilotd, double f, double la, double xw, double yw, double zw, double &n, double &d, double &nbb, double &ncb,
double &cz, double &aw, double &wh, double &pfl, double &fl, double &c);
static void initcam1 (double gamu, double yb, double pilotd, double f, double la, double xw, double yw, double zw, double &n, double &d, double &nbb, double &ncb,
double &cz, double &aw, double &wh, double &pfl, double &fl, double &c);
static void initcam2(double gamu, double yb, double f, double la, double xw, double yw, double zw, double &n, double &d, double &nbb, double &ncb,
double &cz, double &aw, double &fl);
static void initcam2 (double gamu, double yb, double pilotd, double f, double la, double xw, double yw, double zw, double &n, double &d, double &nbb, double &ncb,
double &cz, double &aw, double &fl);
static void initcam1float(float gamu, float yb, float pilotd, float f, float la, float xw, float yw, float zw, float &n, float &d, float &nbb, float &ncb,
float &cz, float &aw, float &wh, float &pfl, float &fl, float &c);
static void initcam1float (float gamu, float yb, float pilotd, float f, float la, float xw, float yw, float zw, float &n, float &d, float &nbb, float &ncb,
float &cz, float &aw, float &wh, float &pfl, float &fl, float &c);
static void initcam2float(float gamu, float yb, float f, float la, float xw, float yw, float zw, float &n, float &d, float &nbb, float &ncb,
float &cz, float &aw, float &fl);
static void initcam2float (float gamu, float yb, float pilotd, float f, float la, float xw, float yw, float zw, float &n, float &d, float &nbb, float &ncb,
float &cz, float &aw, float &fl);
static void xyz2jchqms_ciecam02( double &J, double &C, double &h,
double &Q, double &M, double &s, double &aw, double &fl, double &wh,
double x, double y, double z,
double xw, double yw, double zw,
double yb, double la,
double f, double c, double nc, double pilotd, int gamu , double n, double nbb, double ncb, double pfl, double cz, double d );
static void xyz2jchqms_ciecam02 ( double &J, double &C, double &h,
double &Q, double &M, double &s, double &aw, double &fl, double &wh,
double x, double y, double z,
double xw, double yw, double zw,
double yb, double la,
double f, double c, double nc, double pilotd, int gamu, double n, double nbb, double ncb, double pfl, double cz, double d );
static void xyz2jch_ciecam02float( float &J, float &C, float &h,
float aw, float fl,
float x, float y, float z,
float xw, float yw, float zw,
float c, float nc, float n, float nbb, float ncb, float cz, float d );
static void xyz2jch_ciecam02float ( float &J, float &C, float &h,
float aw, float fl,
float x, float y, float z,
float xw, float yw, float zw,
float c, float nc, float n, float nbb, float ncb, float cz, float d );
static void xyz2jchqms_ciecam02float( float &J, float &C, float &h,
float &Q, float &M, float &s, float aw, float fl, float wh,
float x, float y, float z,
float xw, float yw, float zw,
float c, float nc, int gamu, float n, float nbb, float ncb, float pfl, float cz, float d );
static void xyz2jchqms_ciecam02float ( float &J, float &C, float &h,
float &Q, float &M, float &s, float aw, float fl, float wh,
float x, float y, float z,
float xw, float yw, float zw,
float c, float nc, int gamu, float n, float nbb, float ncb, float pfl, float cz, float d );
#ifdef __SSE2__
static void xyz2jchqms_ciecam02float( vfloat &J, vfloat &C, vfloat &h,
vfloat &Q, vfloat &M, vfloat &s, vfloat aw, vfloat fl, vfloat wh,
vfloat x, vfloat y, vfloat z,
vfloat xw, vfloat yw, vfloat zw,
vfloat c, vfloat nc, vfloat n, vfloat nbb, vfloat ncb, vfloat pfl, vfloat cz, vfloat d );
static void xyz2jchqms_ciecam02float ( vfloat &J, vfloat &C, vfloat &h,
vfloat &Q, vfloat &M, vfloat &s, vfloat aw, vfloat fl, vfloat wh,
vfloat x, vfloat y, vfloat z,
vfloat xw, vfloat yw, vfloat zw,
vfloat c, vfloat nc, vfloat n, vfloat nbb, vfloat ncb, vfloat pfl, vfloat cz, vfloat d );
#endif

View File

@ -305,7 +305,7 @@ rtengine::CLUTStore& rtengine::CLUTStore::getInstance()
return instance;
}
std::shared_ptr<rtengine::HaldCLUT> rtengine::CLUTStore::getClut(const Glib::ustring& filename)
std::shared_ptr<rtengine::HaldCLUT> rtengine::CLUTStore::getClut(const Glib::ustring& filename) const
{
std::shared_ptr<rtengine::HaldCLUT> result;

View File

@ -57,14 +57,14 @@ class CLUTStore final :
public:
static CLUTStore& getInstance();
std::shared_ptr<HaldCLUT> getClut(const Glib::ustring& filename);
std::shared_ptr<HaldCLUT> getClut(const Glib::ustring& filename) const;
void clearCache();
private:
CLUTStore();
Cache<Glib::ustring, std::shared_ptr<HaldCLUT>> cache;
mutable Cache<Glib::ustring, std::shared_ptr<HaldCLUT>> cache;
};
}

View File

@ -2562,6 +2562,12 @@ void CLASS kodak_radc_load_raw()
((short *)buf)[i] = 2048;
for (row=0; row < height; row+=4) {
FORC3 mul[c] = getbits(6);
FORC3 {
if (!mul[c]) {
mul[c] = 1;
derror();
}
}
FORC3 {
val = ((0x1000000/last[c] + 0x7ff) >> 12) * mul[c];
s = val > 65564 ? 10:12;
@ -2924,9 +2930,13 @@ void CLASS kodak_65000_load_raw()
pred[0] = pred[1] = 0;
len = MIN (256, width-col);
ret = kodak_65000_decode (buf, len);
for (i=0; i < len; i++)
if ((RAW(row,col+i) = curve[ret ? buf[i] :
(pred[i & 1] += buf[i])]) >> 12) derror();
for (i=0; i < len; i++) {
int idx = ret ? buf[i] : (pred[i & 1] += buf[i]);
if(idx >=0 && idx <= 0xffff) {
if ((RAW(row,col+i) = curve[idx]) >> 12) derror();
} else
derror();
}
}
}
@ -9754,11 +9764,45 @@ static void copyFloatDataToInt(float * src, ushort * dst, size_t size, float max
fprintf(stderr, "DNG Float: NaN data found in input file\n");
}
static int decompress(size_t srcLen, size_t dstLen, unsigned char *in, unsigned char *out) {
// At least in zlib 1.2.11 the uncompress function is not thread save while it is thread save in zlib 1.2.8
// This simple replacement is thread save. Used example code from https://zlib.net/zlib_how.html
int ret;
z_stream strm;
/* allocate inflate state */
strm.zalloc = Z_NULL;
strm.zfree = Z_NULL;
strm.opaque = Z_NULL;
strm.avail_in = 0;
strm.next_in = Z_NULL;
ret = inflateInit(&strm);
if (ret != Z_OK) {
return ret;
}
strm.avail_out = dstLen;
strm.next_out = out;
strm.avail_in = srcLen;
strm.next_in = in;
ret = inflate(&strm, Z_NO_FLUSH);
switch (ret) {
case Z_NEED_DICT:
ret = Z_DATA_ERROR; /* and fall through */
case Z_DATA_ERROR:
case Z_MEM_ERROR:
(void)inflateEnd(&strm);
return ret;
}
/* clean up and return */
(void)inflateEnd(&strm);
return ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR;
}
void CLASS deflate_dng_load_raw() {
float_raw_image = new float[raw_width * raw_height];
#ifdef _OPENMP
#pragma omp parallel for
#pragma omp parallel for
#endif
for (size_t i = 0; i < raw_width * raw_height; ++i)
float_raw_image[i] = 0.0f;
@ -9815,44 +9859,45 @@ void CLASS deflate_dng_load_raw() {
}
uLongf dstLen = tile_width * tile_length * 4;
#if defined(_OPENMP) && ZLIB_VER_REVISION == 8
#ifdef _OPENMP
#pragma omp parallel
#endif
{
Bytef * cBuffer = new Bytef[maxCompressed];
Bytef * uBuffer = new Bytef[dstLen];
#if defined(_OPENMP) && ZLIB_VER_REVISION == 8
#pragma omp for collapse(2) nowait
#ifdef _OPENMP
#pragma omp for collapse(2) schedule(dynamic) nowait
#endif
for (size_t y = 0; y < raw_height; y += tile_length) {
for (size_t x = 0; x < raw_width; x += tile_width) {
size_t t = (y / tile_length) * tilesWide + (x / tile_width);
#if defined(_OPENMP) && ZLIB_VER_REVISION == 8
#pragma omp critical
for (size_t x = 0; x < raw_width; x += tile_width) {
size_t t = (y / tile_length) * tilesWide + (x / tile_width);
#ifdef _OPENMP
#pragma omp critical
#endif
{
fseek(ifp, tileOffsets[t], SEEK_SET);
fread(cBuffer, 1, tileBytes[t], ifp);
}
int err = uncompress(uBuffer, &dstLen, cBuffer, tileBytes[t]);
if (err != Z_OK) {
fprintf(stderr, "DNG Deflate: Failed uncompressing tile %d, with error %d\n", (int)t, err);
} else if (ifd->sample_format == 3) { // Floating point data
int bytesps = ifd->bps >> 3;
size_t thisTileLength = y + tile_length > raw_height ? raw_height - y : tile_length;
size_t thisTileWidth = x + tile_width > raw_width ? raw_width - x : tile_width;
for (size_t row = 0; row < thisTileLength; ++row) {
Bytef * src = uBuffer + row*tile_width*bytesps;
Bytef * dst = (Bytef *)&float_raw_image[(y+row)*raw_width + x];
if (predFactor)
decodeFPDeltaRow(src, dst, thisTileWidth, tile_width, bytesps, predFactor);
expandFloats(dst, thisTileWidth, bytesps);
}
} else { // 32-bit Integer data
// TODO
{
fseek(ifp, tileOffsets[t], SEEK_SET);
fread(cBuffer, 1, tileBytes[t], ifp);
}
int err = decompress(tileBytes[t], dstLen, cBuffer, uBuffer);
if (err != Z_OK) {
fprintf(stderr, "DNG Deflate: Failed uncompressing tile %d, with error %d\n", (int)t, err);
} else if (ifd->sample_format == 3) { // Floating point data
int bytesps = ifd->bps >> 3;
size_t thisTileLength = y + tile_length > raw_height ? raw_height - y : tile_length;
size_t thisTileWidth = x + tile_width > raw_width ? raw_width - x : tile_width;
for (size_t row = 0; row < thisTileLength; ++row) {
Bytef * src = uBuffer + row*tile_width*bytesps;
Bytef * dst = (Bytef *)&float_raw_image[(y+row)*raw_width + x];
if (predFactor) {
decodeFPDeltaRow(src, dst, thisTileWidth, tile_width, bytesps, predFactor);
}
expandFloats(dst, thisTileWidth, bytesps);
}
} else { // 32-bit Integer data
// TODO
}
}
}
}
delete [] cBuffer;
@ -9901,4 +9946,4 @@ struct tiff_hdr {
/*RT*/#undef CLIP
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@ -3,9 +3,10 @@
// Green Equilibration via directional average
//
// copyright (c) 2008-2010 Emil Martinec <ejmartin@uchicago.edu>
// optimized for speed 2017 Ingo Weyrich <heckflosse67@gmx.de>
//
//
// code dated: February 12, 2011
// code dated: August 25, 2017
//
// green_equil_RT.cc is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@ -21,18 +22,72 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
////////////////////////////////////////////////////////////////
#define TS 256 // Tile size
#include <cmath>
#include <cstdlib>
#include <ctime>
#include "rt_math.h"
#include "rawimagesource.h"
#include "opthelper.h"
namespace rtengine
{
void RawImageSource::green_equilibrate_global(array2D<float> &rawData)
{
// global correction
int ng1 = 0, ng2 = 0;
double avgg1 = 0., avgg2 = 0.;
#ifdef _OPENMP
#pragma omp parallel for reduction(+: ng1, ng2, avgg1, avgg2) schedule(dynamic,16)
#endif
for (int i = border; i < H - border; i++) {
double avgg = 0.;
for (int j = border + ((FC(i, border) & 1) ^ 1); j < W - border; j += 2) {
avgg += rawData[i][j];
}
int ng = (W - 2 * border + (FC(i, border) & 1)) / 2;
if (i & 1) {
avgg2 += avgg;
ng2 += ng;
} else {
avgg1 += avgg;
ng1 += ng;
}
}
// Avoid division by zero
if(ng1 == 0 || avgg1 == 0.0) {
ng1 = 1;
avgg1 = 1.0;
}
if(ng2 == 0 || avgg2 == 0.0) {
ng2 = 1;
avgg2 = 1.0;
}
double corrg1 = (avgg1 / ng1 + avgg2 / ng2) / 2.0 / (avgg1 / ng1);
double corrg2 = (avgg1 / ng1 + avgg2 / ng2) / 2.0 / (avgg2 / ng2);
#ifdef _OPENMP
#pragma omp parallel for schedule(dynamic,16)
#endif
for (int i = border; i < H - border; i++) {
double corrg = (i & 1) ? corrg2 : corrg1;
for (int j = border + ((FC(i, border) & 1) ^ 1); j < W - border; j += 2) {
rawData[i][j] *= corrg;
}
}
}
//void green_equilibrate()//for dcraw implementation
void RawImageSource::green_equilibrate(float thresh, array2D<float> &rawData)
{
@ -42,15 +97,29 @@ void RawImageSource::green_equilibrate(float thresh, array2D<float> &rawData)
int height = H, width = W;
// local variables
float** rawptr = rawData;
array2D<float> cfa (width, height, rawptr);
//array2D<int> checker (width,height,ARRAY2D_CLEAR_DATA);
array2D<float> cfa(width / 2 + (width & 1), height);
#ifdef _OPENMP
#pragma omp parallel for schedule(dynamic,16)
#endif
//int verbose=1;
for (int i = 0; i < height; ++i) {
int j = (FC(i, 0) & 1) ^ 1;
#ifdef __SSE2__
static const float eps = 1.0; //tolerance to avoid dividing by zero
for (; j < width - 7; j += 8) {
STVFU(cfa[i][j >> 1], LC2VFU(rawData[i][j]));
}
#endif
for (; j < width; j += 2) {
cfa[i][j >> 1] = rawData[i][j];
}
}
constexpr float eps = 1.f; //tolerance to avoid dividing by zero
const float thresh6 = 6 * thresh;
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
// Fill G interpolated values with border interpolation and input values
@ -59,94 +128,118 @@ void RawImageSource::green_equilibrate(float thresh, array2D<float> &rawData)
//int counter, vtest;
//The green equilibration algorithm starts here
/*
#ifdef _OPENMP
#pragma omp parallel for
#endif
for (int rr=1; rr < height-1; rr++)
for (int cc=3-(FC(rr,2)&1); cc < width-2; cc+=2) {
float pcorr = (cfa[rr+1][cc+1]-cfa[rr][cc])*(cfa[rr-1][cc-1]-cfa[rr][cc]);
float mcorr = (cfa[rr-1][cc+1]-cfa[rr][cc])*(cfa[rr+1][cc-1]-cfa[rr][cc]);
if (pcorr>0 && mcorr>0) {checker[rr][cc]=1;} else {checker[rr][cc]=0;}
checker[rr][cc]=1;//test what happens if we always interpolate
}
counter=vtest=0;
*/
//now smooth the cfa data
#ifdef _OPENMP
#pragma omp parallel for schedule(dynamic,16)
#pragma omp parallel
#endif
{
#ifdef __SSE2__
vfloat zd5v = F2V(0.5f);
vfloat onev = F2V(1.f);
vfloat threshv = F2V(thresh);
vfloat thresh6v = F2V(thresh6);
vfloat epsv = F2V(eps);
#endif
#ifdef _OPENMP
#pragma omp for schedule(dynamic,16)
#endif
for (int rr = 4; rr < height - 4; rr++)
for (int cc = 5 - (FC(rr, 2) & 1); cc < width - 6; cc += 2) {
//if (checker[rr][cc]) {
//%%%%%%%%%%%%%%%%%%%%%%
//neighbor checking code from Manuel Llorens Garcia
float o1_1 = cfa[(rr - 1)][cc - 1];
float o1_2 = cfa[(rr - 1)][cc + 1];
float o1_3 = cfa[(rr + 1)][cc - 1];
float o1_4 = cfa[(rr + 1)][cc + 1];
float o2_1 = cfa[(rr - 2)][cc];
float o2_2 = cfa[(rr + 2)][cc];
float o2_3 = cfa[(rr)][cc - 2];
float o2_4 = cfa[(rr)][cc + 2];
for (int rr = 4; rr < height - 4; rr++) {
int cc = 5 - (FC(rr, 2) & 1);
#ifdef __SSE2__
float d1 = (o1_1 + o1_2 + o1_3 + o1_4) * 0.25f;
float d2 = (o2_1 + o2_2 + o2_3 + o2_4) * 0.25f;
for (; cc < width - 12; cc += 8) {
//neighbour checking code from Manuel Llorens Garcia
vfloat o1_1 = LVFU(cfa[rr - 1][(cc - 1) >> 1]);
vfloat o1_2 = LVFU(cfa[rr - 1][(cc + 1) >> 1]);
vfloat o1_3 = LVFU(cfa[rr + 1][(cc - 1) >> 1]);
vfloat o1_4 = LVFU(cfa[rr + 1][(cc + 1) >> 1]);
vfloat o2_1 = LVFU(cfa[rr - 2][cc >> 1]);
vfloat o2_2 = LVFU(cfa[rr + 2][cc >> 1]);
vfloat o2_3 = LVFU(cfa[rr][(cc >> 1) - 1]);
vfloat o2_4 = LVFU(cfa[rr][(cc >> 1) + 1]);
float c1 = (fabs(o1_1 - o1_2) + fabs(o1_1 - o1_3) + fabs(o1_1 - o1_4) + fabs(o1_2 - o1_3) + fabs(o1_3 - o1_4) + fabs(o1_2 - o1_4)) / 6.f;
float c2 = (fabs(o2_1 - o2_2) + fabs(o2_1 - o2_3) + fabs(o2_1 - o2_4) + fabs(o2_2 - o2_3) + fabs(o2_3 - o2_4) + fabs(o2_2 - o2_4)) / 6.f;
//%%%%%%%%%%%%%%%%%%%%%%
vfloat d1 = (o1_1 + o1_2 + o1_3 + o1_4);
vfloat d2 = (o2_1 + o2_2 + o2_3 + o2_4);
//vote1=(checker[rr-2][cc]+checker[rr][cc-2]+checker[rr][cc+2]+checker[rr+2][cc]);
//vote2=(checker[rr+1][cc-1]+checker[rr+1][cc+1]+checker[rr-1][cc-1]+checker[rr-1][cc+1]);
//if ((vote1==0 || vote2==0) && (c1+c2)<2*thresh*fabs(d1-d2)) vtest++;
//if (vote1>0 && vote2>0 && (c1+c2)<4*thresh*fabs(d1-d2)) {
if ((c1 + c2) < 4 * thresh * fabs(d1 - d2)) {
//pixel interpolation
float gin = cfa[rr][cc];
vfloat c1 = (vabsf(o1_1 - o1_2) + vabsf(o1_1 - o1_3) + vabsf(o1_1 - o1_4) + vabsf(o1_2 - o1_3) + vabsf(o1_3 - o1_4) + vabsf(o1_2 - o1_4));
vfloat c2 = (vabsf(o2_1 - o2_2) + vabsf(o2_1 - o2_3) + vabsf(o2_1 - o2_4) + vabsf(o2_2 - o2_3) + vabsf(o2_3 - o2_4) + vabsf(o2_2 - o2_4));
float gse = (cfa[rr + 1][cc + 1]) + 0.5f * (cfa[rr][cc] - cfa[rr + 2][cc + 2]);
float gnw = (cfa[rr - 1][cc - 1]) + 0.5f * (cfa[rr][cc] - cfa[rr - 2][cc - 2]);
float gne = (cfa[rr - 1][cc + 1]) + 0.5f * (cfa[rr][cc] - cfa[rr - 2][cc + 2]);
float gsw = (cfa[rr + 1][cc - 1]) + 0.5f * (cfa[rr][cc] - cfa[rr + 2][cc - 2]);
vmask mask1 = vmaskf_lt(c1 + c2, thresh6v * vabsf(d1 - d2));
if (_mm_movemask_ps((vfloat)mask1)) { // if for any of the 4 pixels the condition is true, do the maths for all 4 pixels and mask the unused out at the end
//pixel interpolation
vfloat gin = LVFU(cfa[rr][cc >> 1]);
vfloat gmp2p2 = gin - LVFU(cfa[rr + 2][(cc >> 1) + 1]);
vfloat gmm2m2 = gin - LVFU(cfa[rr - 2][(cc >> 1) - 1]);
vfloat gmm2p2 = gin - LVFU(cfa[rr - 2][(cc >> 1) + 1]);
vfloat gmp2m2 = gin - LVFU(cfa[rr + 2][(cc >> 1) - 1]);
float wtse = 1.0f / (eps + SQR(cfa[rr + 2][cc + 2] - cfa[rr][cc]) + SQR(cfa[rr + 3][cc + 3] - cfa[rr + 1][cc + 1]));
float wtnw = 1.0f / (eps + SQR(cfa[rr - 2][cc - 2] - cfa[rr][cc]) + SQR(cfa[rr - 3][cc - 3] - cfa[rr - 1][cc - 1]));
float wtne = 1.0f / (eps + SQR(cfa[rr - 2][cc + 2] - cfa[rr][cc]) + SQR(cfa[rr - 3][cc + 3] - cfa[rr - 1][cc + 1]));
float wtsw = 1.0f / (eps + SQR(cfa[rr + 2][cc - 2] - cfa[rr][cc]) + SQR(cfa[rr + 3][cc - 3] - cfa[rr + 1][cc - 1]));
vfloat gse = o1_4 + zd5v * gmp2p2;
vfloat gnw = o1_1 + zd5v * gmm2m2;
vfloat gne = o1_2 + zd5v * gmm2p2;
vfloat gsw = o1_3 + zd5v * gmp2m2;
float ginterp = (gse * wtse + gnw * wtnw + gne * wtne + gsw * wtsw) / (wtse + wtnw + wtne + wtsw);
vfloat wtse = onev / (epsv + SQRV(gmp2p2) + SQRV(LVFU(cfa[rr + 3][(cc + 3) >> 1]) - o1_4));
vfloat wtnw = onev / (epsv + SQRV(gmm2m2) + SQRV(LVFU(cfa[rr - 3][(cc - 3) >> 1]) - o1_1));
vfloat wtne = onev / (epsv + SQRV(gmm2p2) + SQRV(LVFU(cfa[rr - 3][(cc + 3) >> 1]) - o1_2));
vfloat wtsw = onev / (epsv + SQRV(gmp2m2) + SQRV(LVFU(cfa[rr + 3][(cc - 3) >> 1]) - o1_3));
if ( ((ginterp - gin) < thresh * (ginterp + gin)) ) {
rawData[rr][cc] = 0.5f * (ginterp + gin);
//counter++;
vfloat ginterp = (gse * wtse + gnw * wtnw + gne * wtne + gsw * wtsw) / (wtse + wtnw + wtne + wtsw);
vfloat val = vself(vmaskf_lt(ginterp - gin, threshv * (ginterp + gin)), zd5v * (ginterp + gin), gin);
val = vself(mask1, val, gin);
STC2VFU(rawData[rr][cc], val);
}
}
// }
#endif
for (; cc < width - 6; cc += 2) {
//neighbour checking code from Manuel Llorens Garcia
float o1_1 = cfa[rr - 1][(cc - 1) >> 1];
float o1_2 = cfa[rr - 1][(cc + 1) >> 1];
float o1_3 = cfa[rr + 1][(cc - 1) >> 1];
float o1_4 = cfa[rr + 1][(cc + 1) >> 1];
float o2_1 = cfa[rr - 2][cc >> 1];
float o2_2 = cfa[rr + 2][cc >> 1];
float o2_3 = cfa[rr][(cc - 2) >> 1];
float o2_4 = cfa[rr][(cc + 2) >> 1];
float d1 = (o1_1 + o1_2) + (o1_3 + o1_4);
float d2 = (o2_1 + o2_2) + (o2_3 + o2_4);
float c1 = (fabs(o1_1 - o1_2) + fabs(o1_1 - o1_3) + fabs(o1_1 - o1_4) + fabs(o1_2 - o1_3) + fabs(o1_3 - o1_4) + fabs(o1_2 - o1_4));
float c2 = (fabs(o2_1 - o2_2) + fabs(o2_1 - o2_3) + fabs(o2_1 - o2_4) + fabs(o2_2 - o2_3) + fabs(o2_3 - o2_4) + fabs(o2_2 - o2_4));
if (c1 + c2 < thresh6 * fabs(d1 - d2)) {
//pixel interpolation
float gin = cfa[rr][cc >> 1];
float gmp2p2 = gin - cfa[rr + 2][(cc + 2) >> 1];
float gmm2m2 = gin - cfa[rr - 2][(cc - 2) >> 1];
float gmm2p2 = gin - cfa[rr - 2][(cc + 2) >> 1];
float gmp2m2 = gin - cfa[rr + 2][(cc - 2) >> 1];
float gse = o1_4 + 0.5f * gmp2p2;
float gnw = o1_1 + 0.5f * gmm2m2;
float gne = o1_2 + 0.5f * gmm2p2;
float gsw = o1_3 + 0.5f * gmp2m2;
float wtse = 1.f / (eps + SQR(gmp2p2) + SQR(cfa[rr + 3][(cc + 3) >> 1] - o1_4));
float wtnw = 1.f / (eps + SQR(gmm2m2) + SQR(cfa[rr - 3][(cc - 3) >> 1] - o1_1));
float wtne = 1.f / (eps + SQR(gmm2p2) + SQR(cfa[rr - 3][(cc + 3) >> 1] - o1_2));
float wtsw = 1.f / (eps + SQR(gmp2m2) + SQR(cfa[rr + 3][(cc - 3) >> 1] - o1_3));
float ginterp = (gse * wtse + gnw * wtnw + gne * wtne + gsw * wtsw) / (wtse + wtnw + wtne + wtsw);
if (ginterp - gin < thresh * (ginterp + gin)) {
rawData[rr][cc] = 0.5f * (ginterp + gin);
}
}
}
}
//printf("pixfix count= %d; vtest= %d \n",counter,vtest);
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
// done
/*t2 = clock();
dt = ((double)(t2-t1)) / CLOCKS_PER_SEC;
if (verbose) {
fprintf(stderr,_("elapsed time = %5.3fs\n"),dt);
}*/
}
}
}
#undef TS

View File

@ -33,48 +33,48 @@ namespace rtengine
extern const Settings* settings;
ImProcCoordinator::ImProcCoordinator ()
: orig_prev(nullptr), oprevi(nullptr), oprevl(nullptr), nprevl(nullptr), previmg(nullptr), workimg(nullptr),
ncie(nullptr), imgsrc(nullptr), shmap(nullptr), lastAwbEqual(0.), lastAwbTempBias(0.0), ipf(&params, true), monitorIntent(RI_RELATIVE),
softProof(false), gamutCheck(false), scale(10), highDetailPreprocessComputed(false), highDetailRawComputed(false),
allocated(false), bwAutoR(-9000.f), bwAutoG(-9000.f), bwAutoB(-9000.f), CAMMean(NAN),
: orig_prev (nullptr), oprevi (nullptr), oprevl (nullptr), nprevl (nullptr), previmg (nullptr), workimg (nullptr),
ncie (nullptr), imgsrc (nullptr), shmap (nullptr), lastAwbEqual (0.), lastAwbTempBias (0.0), ipf (&params, true), monitorIntent (RI_RELATIVE),
softProof (false), gamutCheck (false), scale (10), highDetailPreprocessComputed (false), highDetailRawComputed (false),
allocated (false), bwAutoR (-9000.f), bwAutoG (-9000.f), bwAutoB (-9000.f), CAMMean (NAN),
hltonecurve(65536),
shtonecurve(65536),
tonecurve(65536, 0), //,1);
lumacurve(32770, 0), // lumacurve[32768] and lumacurve[32769] will be set to 32768 and 32769 later to allow linear interpolation
chroma_acurve(65536, 0),
chroma_bcurve(65536, 0),
satcurve(65536, 0),
lhskcurve(65536, 0),
clcurve(65536, 0),
conversionBuffer(1, 1),
wavclCurve(65536, 0),
clToningcurve(65536, 0),
cl2Toningcurve(65536, 0),
Noisecurve(65536, 0),
NoiseCCcurve(65536, 0),
vhist16(65536), vhist16bw(65536),
lhist16CAM(65536),
lhist16CCAM(65536),
hltonecurve (65536),
shtonecurve (65536),
tonecurve (65536, 0), //,1);
lumacurve (32770, 0), // lumacurve[32768] and lumacurve[32769] will be set to 32768 and 32769 later to allow linear interpolation
chroma_acurve (65536, 0),
chroma_bcurve (65536, 0),
satcurve (65536, 0),
lhskcurve (65536, 0),
clcurve (65536, 0),
conversionBuffer (1, 1),
wavclCurve (65536, 0),
clToningcurve (65536, 0),
cl2Toningcurve (65536, 0),
Noisecurve (65536, 0),
NoiseCCcurve (65536, 0),
vhist16 (65536), vhist16bw (65536),
lhist16CAM (65536),
lhist16CCAM (65536),
lhist16RETI(),
lhist16LClad(65536),
histRed(256), histRedRaw(256),
histGreen(256), histGreenRaw(256),
histBlue(256), histBlueRaw(256),
histLuma(256),
histToneCurve(256),
histToneCurveBW(256),
histLCurve(256),
histCCurve(256),
histLLCurve(256),
lhist16LClad (65536),
histRed (256), histRedRaw (256),
histGreen (256), histGreenRaw (256),
histBlue (256), histBlueRaw (256),
histLuma (256),
histToneCurve (256),
histToneCurveBW (256),
histLCurve (256),
histCCurve (256),
histLLCurve (256),
histLCAM(256),
histCCAM(256),
histClad(256),
bcabhist(256),
histChroma(256),
histLCAM (256),
histCCAM (256),
histClad (256),
bcabhist (256),
histChroma (256),
histLRETI(256),
histLRETI (256),
CAMBrightCurveJ(), CAMBrightCurveQ(),
@ -82,15 +82,15 @@ ImProcCoordinator::ImProcCoordinator ()
gCurve(),
bCurve(),
ctColorCurve(),
rcurvehist(256), rcurvehistCropped(256), rbeforehist(256),
gcurvehist(256), gcurvehistCropped(256), gbeforehist(256),
bcurvehist(256), bcurvehistCropped(256), bbeforehist(256),
fw(0), fh(0), tr(0),
fullw(1), fullh(1),
pW(-1), pH(-1),
plistener(nullptr), imageListener(nullptr), aeListener(nullptr), acListener(nullptr), abwListener(nullptr), awbListener(nullptr), frameCountListener(nullptr), imageTypeListener(nullptr), actListener(nullptr), adnListener(nullptr), awavListener(nullptr), dehaListener(nullptr), hListener(nullptr),
resultValid(false), lastOutputProfile("BADFOOD"), lastOutputIntent(RI__COUNT), lastOutputBPC(false), thread(nullptr), changeSinceLast(0), updaterRunning(false), destroying(false), utili(false), autili(false),
butili(false), ccutili(false), cclutili(false), clcutili(false), opautili(false), wavcontlutili(false), colourToningSatLimit(0.f), colourToningSatLimitOpacity(0.f)
rcurvehist (256), rcurvehistCropped (256), rbeforehist (256),
gcurvehist (256), gcurvehistCropped (256), gbeforehist (256),
bcurvehist (256), bcurvehistCropped (256), bbeforehist (256),
fw (0), fh (0), tr (0),
fullw (1), fullh (1),
pW (-1), pH (-1),
plistener (nullptr), imageListener (nullptr), aeListener (nullptr), acListener (nullptr), abwListener (nullptr), awbListener (nullptr), frameCountListener (nullptr), imageTypeListener (nullptr), actListener (nullptr), adnListener (nullptr), awavListener (nullptr), dehaListener (nullptr), hListener (nullptr),
resultValid (false), lastOutputProfile ("BADFOOD"), lastOutputIntent (RI__COUNT), lastOutputBPC (false), thread (nullptr), changeSinceLast (0), updaterRunning (false), destroying (false), utili (false), autili (false),
butili (false), ccutili (false), cclutili (false), clcutili (false), opautili (false), wavcontlutili (false), colourToningSatLimit (0.f), colourToningSatLimitOpacity (0.f)
{}
void ImProcCoordinator::assign (ImageSource* imgsrc)
@ -134,7 +134,7 @@ DetailedCrop* ImProcCoordinator::createCrop (::EditDataProvider *editDataProvid
void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
{
MyMutex::MyLock processingLock(mProcessing);
MyMutex::MyLock processingLock (mProcessing);
int numofphases = 14;
int readyphase = 0;
@ -165,15 +165,15 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
ColorManagementParams cmp = params.icm;
LCurveParams lcur = params.labCurve;
if( !highDetailNeeded ) {
if ( !highDetailNeeded ) {
// if below 100% magnification, take a fast path
if(rp.bayersensor.method != RAWParams::BayerSensor::methodstring[RAWParams::BayerSensor::none] && rp.bayersensor.method != RAWParams::BayerSensor::methodstring[RAWParams::BayerSensor::mono]) {
if (rp.bayersensor.method != RAWParams::BayerSensor::methodstring[RAWParams::BayerSensor::none] && rp.bayersensor.method != RAWParams::BayerSensor::methodstring[RAWParams::BayerSensor::mono]) {
rp.bayersensor.method = RAWParams::BayerSensor::methodstring[RAWParams::BayerSensor::fast];
}
//bayerrp.all_enhance = false;
if(rp.xtranssensor.method != RAWParams::XTransSensor::methodstring[RAWParams::XTransSensor::none] && rp.xtranssensor.method != RAWParams::XTransSensor::methodstring[RAWParams::XTransSensor::mono]) {
if (rp.xtranssensor.method != RAWParams::XTransSensor::methodstring[RAWParams::XTransSensor::none] && rp.xtranssensor.method != RAWParams::XTransSensor::methodstring[RAWParams::XTransSensor::mono]) {
rp.xtranssensor.method = RAWParams::XTransSensor::methodstring[RAWParams::XTransSensor::fast];
}
@ -184,16 +184,16 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
progress ("Applying white balance, color correction & sRGB conversion...", 100 * readyphase / numofphases);
if(frameCountListener) {
frameCountListener->FrameCountChanged(imgsrc->getFrameCount(), params.raw.bayersensor.imageNum);
if (frameCountListener) {
frameCountListener->FrameCountChanged (imgsrc->getFrameCount(), params.raw.bayersensor.imageNum);
}
// raw auto CA is bypassed if no high detail is needed, so we have to compute it when high detail is needed
if ( (todo & M_PREPROC) || (!highDetailPreprocessComputed && highDetailNeeded)) {
imgsrc->setCurrentFrame(params.raw.bayersensor.imageNum);
imgsrc->setCurrentFrame (params.raw.bayersensor.imageNum);
imgsrc->preprocess( rp, params.lensProf, params.coarse );
imgsrc->getRAWHistogram( histRedRaw, histGreenRaw, histBlueRaw );
imgsrc->preprocess ( rp, params.lensProf, params.coarse );
imgsrc->getRAWHistogram ( histRedRaw, histGreenRaw, histBlueRaw );
if (highDetailNeeded) {
highDetailPreprocessComputed = true;
@ -214,8 +214,8 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
*/
// If high detail (=100%) is newly selected, do a demosaic update, since the last was just with FAST
if(imageTypeListener) {
imageTypeListener->imageTypeChanged(imgsrc->isRAW(), imgsrc->getSensorType() == ST_BAYER, imgsrc->getSensorType() == ST_FUJI_XTRANS);
if (imageTypeListener) {
imageTypeListener->imageTypeChanged (imgsrc->isRAW(), imgsrc->getSensorType() == ST_BAYER, imgsrc->getSensorType() == ST_FUJI_XTRANS);
}
if ( (todo & M_RAW)
@ -225,13 +225,13 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
if (settings->verbose) {
if (imgsrc->getSensorType() == ST_BAYER) {
printf("Demosaic Bayer image n.%d using method: %s\n", rp.bayersensor.imageNum + 1, rp.bayersensor.method.c_str());
printf ("Demosaic Bayer image n.%d using method: %s\n", rp.bayersensor.imageNum + 1, rp.bayersensor.method.c_str());
} else if (imgsrc->getSensorType() == ST_FUJI_XTRANS) {
printf("Demosaic X-Trans image with using method: %s\n", rp.xtranssensor.method.c_str());
printf ("Demosaic X-Trans image with using method: %s\n", rp.xtranssensor.method.c_str());
}
}
imgsrc->demosaic( rp);//enabled demosaic
imgsrc->demosaic ( rp); //enabled demosaic
// if a demosaic happened we should also call getimage later, so we need to set the M_INIT flag
todo |= M_INIT;
@ -242,10 +242,10 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
}
if (params.retinex.enabled) {
lhist16RETI(32768);
lhist16RETI (32768);
lhist16RETI.clear();
imgsrc->retinexPrepareBuffers(params.icm, params.retinex, conversionBuffer, lhist16RETI);
imgsrc->retinexPrepareBuffers (params.icm, params.retinex, conversionBuffer, lhist16RETI);
}
}
@ -256,12 +256,12 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
LUTf cdcurve (65536, 0);
LUTf mapcurve (65536, 0);
imgsrc->retinexPrepareCurves(params.retinex, cdcurve, mapcurve, dehatransmissionCurve, dehagaintransmissionCurve, dehacontlutili, mapcontlutili, useHsl, lhist16RETI, histLRETI);
imgsrc->retinexPrepareCurves (params.retinex, cdcurve, mapcurve, dehatransmissionCurve, dehagaintransmissionCurve, dehacontlutili, mapcontlutili, useHsl, lhist16RETI, histLRETI);
float minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax;
imgsrc->retinex( params.icm, params.retinex, params.toneCurve, cdcurve, mapcurve, dehatransmissionCurve, dehagaintransmissionCurve, conversionBuffer, dehacontlutili, mapcontlutili, useHsl, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax, histLRETI);//enabled Retinex
imgsrc->retinex ( params.icm, params.retinex, params.toneCurve, cdcurve, mapcurve, dehatransmissionCurve, dehagaintransmissionCurve, conversionBuffer, dehacontlutili, mapcontlutili, useHsl, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax, histLRETI); //enabled Retinex
if(dehaListener) {
dehaListener->minmaxChanged(maxCD, minCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax);
if (dehaListener) {
dehaListener->minmaxChanged (maxCD, minCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax);
}
}
@ -270,7 +270,7 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
// It has to be done there, because the next 'if' statement will use the value computed here
if (todo & M_AUTOEXP) {
if (params.toneCurve.autoexp) {// this enabled HLRecovery
if (ToneCurveParams::HLReconstructionNecessary(histRedRaw, histGreenRaw, histBlueRaw) && !params.toneCurve.hrenabled) {
if (ToneCurveParams::HLReconstructionNecessary (histRedRaw, histGreenRaw, histBlueRaw) && !params.toneCurve.hrenabled) {
// switching params.toneCurve.hrenabled to true -> shouting in listener's ears!
params.toneCurve.hrenabled = true;
@ -281,9 +281,9 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
}
if (todo & (M_INIT | M_LINDENOISE)) {
MyMutex::MyLock initLock(minit); // Also used in crop window
MyMutex::MyLock initLock (minit); // Also used in crop window
imgsrc->HLRecovery_Global( params.toneCurve); // this handles Color HLRecovery
imgsrc->HLRecovery_Global ( params.toneCurve); // this handles Color HLRecovery
if (settings->verbose) {
@ -297,16 +297,16 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
} else if (params.wb.method == "Auto") {
if (lastAwbEqual != params.wb.equal || lastAwbTempBias != params.wb.tempBias) {
double rm, gm, bm;
imgsrc->getAutoWBMultipliers(rm, gm, bm);
imgsrc->getAutoWBMultipliers (rm, gm, bm);
if (rm != -1.) {
autoWB.update(rm, gm, bm, params.wb.equal, params.wb.tempBias);
autoWB.update (rm, gm, bm, params.wb.equal, params.wb.tempBias);
lastAwbEqual = params.wb.equal;
lastAwbTempBias = params.wb.tempBias;
} else {
lastAwbEqual = -1.;
lastAwbTempBias = 0.0;
autoWB.useDefaults(params.wb.equal);
autoWB.useDefaults (params.wb.equal);
}
//double rr,gg,bb;
@ -318,11 +318,12 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
params.wb.temperature = currWB.getTemp ();
params.wb.green = currWB.getGreen ();
if(params.wb.method == "Auto" && awbListener) {
awbListener->WBChanged(params.wb.temperature, params.wb.green);
if (params.wb.method == "Auto" && awbListener) {
awbListener->WBChanged (params.wb.temperature, params.wb.green);
}
int tr = getCoarseBitMask(params.coarse);
int tr = getCoarseBitMask (params.coarse);
imgsrc->getFullSize (fw, fh, tr);
@ -377,7 +378,7 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
}
}
*/
imgsrc->convertColorSpace(orig_prev, params.icm, currWB);
imgsrc->convertColorSpace (orig_prev, params.icm, currWB);
ipf.firstAnalysis (orig_prev, params, vhist16);
}
@ -388,42 +389,45 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
// Remove transformation if unneeded
bool needstransform = ipf.needsTransform();
if (!needstransform && !((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) && orig_prev != oprevi) {
if (!needstransform && ! ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) && orig_prev != oprevi) {
delete oprevi;
oprevi = orig_prev;
}
if ((needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled)) ) {
if(!oprevi || oprevi == orig_prev)
if (!oprevi || oprevi == orig_prev) {
oprevi = new Imagefloat (pW, pH);
}
if (needstransform)
ipf.transform (orig_prev, oprevi, 0, 0, 0, 0, pW, pH, fw, fh, imgsrc->getMetaData()->getFocalLen(),
imgsrc->getMetaData()->getFocalLen35mm(), imgsrc->getMetaData()->getFocusDist(), imgsrc->getMetaData()->getFNumber(), imgsrc->getRotateDegree(), false);
else
orig_prev->copyData(oprevi);
ipf.transform (orig_prev, oprevi, 0, 0, 0, 0, pW, pH, fw, fh,
imgsrc->getMetaData(), imgsrc->getRotateDegree(), false);
else {
orig_prev->copyData (oprevi);
}
}
if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) {
const int W = oprevi->getWidth();
const int H = oprevi->getHeight();
LabImage labcbdl(W, H);
ipf.rgb2lab(*oprevi, labcbdl, params.icm.working);
LabImage labcbdl (W, H);
ipf.rgb2lab (*oprevi, labcbdl, params.icm.working);
ipf.dirpyrequalizer (&labcbdl, scale);
ipf.lab2rgb(labcbdl, *oprevi, params.icm.working);
ipf.lab2rgb (labcbdl, *oprevi, params.icm.working);
}
readyphase++;
progress ("Preparing shadow/highlight map...", 100 * readyphase / numofphases);
if ((todo & M_BLURMAP) && params.sh.enabled) {
double radius = sqrt (double(pW * pW + pH * pH)) / 2.0;
double radius = sqrt (double (pW * pW + pH * pH)) / 2.0;
double shradius = params.sh.radius;
if (!params.sh.hq) {
shradius *= radius / 1800.0;
}
if(!shmap) {
if (!shmap) {
shmap = new SHMap (pW, pH, true);
}
@ -467,7 +471,7 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
opautili = false;
if(params.colorToning.enabled) {
if (params.colorToning.enabled) {
TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix (params.icm.working);
double wp[3][3] = {
{wprof[0][0], wprof[0][1], wprof[0][2]},
@ -480,34 +484,34 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
{wiprof[1][0], wiprof[1][1], wiprof[1][2]},
{wiprof[2][0], wiprof[2][1], wiprof[2][2]}
};
params.colorToning.getCurves(ctColorCurve, ctOpacityCurve, wp, wip, opautili);
CurveFactory::curveToning(params.colorToning.clcurve, clToningcurve, scale == 1 ? 1 : 16);
CurveFactory::curveToning(params.colorToning.cl2curve, cl2Toningcurve, scale == 1 ? 1 : 16);
params.colorToning.getCurves (ctColorCurve, ctOpacityCurve, wp, wip, opautili);
CurveFactory::curveToning (params.colorToning.clcurve, clToningcurve, scale == 1 ? 1 : 16);
CurveFactory::curveToning (params.colorToning.cl2curve, cl2Toningcurve, scale == 1 ? 1 : 16);
}
if(params.blackwhite.enabled) {
if (params.blackwhite.enabled) {
CurveFactory::curveBW (params.blackwhite.beforeCurve, params.blackwhite.afterCurve, vhist16bw, histToneCurveBW, beforeToneCurveBW, afterToneCurveBW, 1);
}
colourToningSatLimit = float(params.colorToning.satProtectionThreshold) / 100.f * 0.7f + 0.3f;
colourToningSatLimitOpacity = 1.f - (float(params.colorToning.saturatedOpacity) / 100.f);
colourToningSatLimit = float (params.colorToning.satProtectionThreshold) / 100.f * 0.7f + 0.3f;
colourToningSatLimitOpacity = 1.f - (float (params.colorToning.saturatedOpacity) / 100.f);
int satTH = 80;
int satPR = 30;
int indi = 0;
if(params.colorToning.enabled && params.colorToning.autosat) { //for colortoning evaluation of saturation settings
if (params.colorToning.enabled && params.colorToning.autosat) { //for colortoning evaluation of saturation settings
float moyS = 0.f;
float eqty = 0.f;
ipf.moyeqt (oprevi, moyS, eqty);//return image : mean saturation and standard dev of saturation
//printf("moy=%f ET=%f\n", moyS,eqty);
float satp = ((moyS + 1.5f * eqty) - 0.3f) / 0.7f; //1.5 sigma ==> 93% pixels with high saturation -0.3 / 0.7 convert to Hombre scale
if(satp >= 0.92f) {
if (satp >= 0.92f) {
satp = 0.92f; //avoid values too high (out of gamut)
}
if(satp <= 0.15f) {
if (satp <= 0.15f) {
satp = 0.15f; //avoid too low values
}
@ -520,22 +524,22 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
satPR = (int) 100.f * (moyS - 0.85f * eqty);
}
if(actListener) {
if (actListener) {
//if(params.blackwhite.enabled) {actListener->autoColorTonChanged(0, satTH, satPR);}
if(params.blackwhite.enabled && params.colorToning.autosat) {
actListener->autoColorTonChanged(0, satTH, satPR); //hide sliders only if autosat
if (params.blackwhite.enabled && params.colorToning.autosat) {
actListener->autoColorTonChanged (0, satTH, satPR); //hide sliders only if autosat
indi = 0;
} else {
if(params.colorToning.autosat) {
if (params.colorToning.autosat) {
if (params.colorToning.method == "Lab") {
indi = 1;
} else if(params.colorToning.method == "RGBCurves") {
} else if (params.colorToning.method == "RGBCurves") {
indi = 1;
} else if(params.colorToning.method == "RGBSliders") {
} else if (params.colorToning.method == "RGBSliders") {
indi = 1;
} else if(params.colorToning.method == "Splico") {
} else if (params.colorToning.method == "Splico") {
indi = 2;
} else if(params.colorToning.method == "Splitlr") {
} else if (params.colorToning.method == "Splitlr") {
indi = 2;
}
@ -552,25 +556,25 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
double bbm = 33.;
DCPProfile::ApplyState as;
DCPProfile *dcpProf = imgsrc->getDCP(params.icm, currWB, as);
DCPProfile *dcpProf = imgsrc->getDCP (params.icm, currWB, as);
ipf.rgbProc (oprevi, oprevl, nullptr, hltonecurve, shtonecurve, tonecurve, shmap, params.toneCurve.saturation,
rCurve, gCurve, bCurve, colourToningSatLimit , colourToningSatLimitOpacity, ctColorCurve, ctOpacityCurve, opautili, clToningcurve, cl2Toningcurve, customToneCurve1, customToneCurve2, beforeToneCurveBW, afterToneCurveBW, rrm, ggm, bbm, bwAutoR, bwAutoG, bwAutoB, params.toneCurve.expcomp, params.toneCurve.hlcompr, params.toneCurve.hlcomprthresh, dcpProf, as, histToneCurve);
rCurve, gCurve, bCurve, colourToningSatLimit, colourToningSatLimitOpacity, ctColorCurve, ctOpacityCurve, opautili, clToningcurve, cl2Toningcurve, customToneCurve1, customToneCurve2, beforeToneCurveBW, afterToneCurveBW, rrm, ggm, bbm, bwAutoR, bwAutoG, bwAutoB, params.toneCurve.expcomp, params.toneCurve.hlcompr, params.toneCurve.hlcomprthresh, dcpProf, as, histToneCurve);
if(params.blackwhite.enabled && params.blackwhite.autoc && abwListener) {
if (params.blackwhite.enabled && params.blackwhite.autoc && abwListener) {
if (settings->verbose) {
printf("ImProcCoordinator / Auto B&W coefs: R=%.2f G=%.2f B=%.2f\n", bwAutoR, bwAutoG, bwAutoB);
printf ("ImProcCoordinator / Auto B&W coefs: R=%.2f G=%.2f B=%.2f\n", bwAutoR, bwAutoG, bwAutoB);
}
abwListener->BWChanged((float) rrm, (float) ggm, (float) bbm);
abwListener->BWChanged ((float) rrm, (float) ggm, (float) bbm);
}
if(params.colorToning.autosat && actListener) {
if (params.colorToning.autosat && actListener) {
if (settings->verbose) {
printf("ImProcCoordinator / Auto CT: indi=%d satH=%d satPR=%d\n", indi, (int)colourToningSatLimit , (int) colourToningSatLimitOpacity);
printf ("ImProcCoordinator / Auto CT: indi=%d satH=%d satPR=%d\n", indi, (int)colourToningSatLimit, (int) colourToningSatLimitOpacity);
}
actListener->autoColorTonChanged(indi, (int) colourToningSatLimit, (int)colourToningSatLimitOpacity);//change sliders autosat
actListener->autoColorTonChanged (indi, (int) colourToningSatLimit, (int)colourToningSatLimitOpacity); //change sliders autosat
}
// correct GUI black and white with value
@ -578,20 +582,20 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
// compute L channel histogram
int x1, y1, x2, y2;
params.crop.mapToResized(pW, pH, scale, x1, x2, y1, y2);
params.crop.mapToResized (pW, pH, scale, x1, x2, y1, y2);
}
readyphase++;
if (todo & (M_LUMACURVE | M_CROP)) {
LUTu lhist16(32768);
LUTu lhist16 (32768);
lhist16.clear();
#ifdef _OPENMP
const int numThreads = min(max(pW * pH / (int)lhist16.getSize(), 1), omp_get_max_threads());
const int numThreads = min (max (pW * pH / (int)lhist16.getSize(), 1), omp_get_max_threads());
#pragma omp parallel num_threads(numThreads) if(numThreads>1)
#endif
{
LUTu lhist16thr(lhist16.getSize());
LUTu lhist16thr (lhist16.getSize());
lhist16thr.clear();
#ifdef _OPENMP
#pragma omp for nowait
@ -599,7 +603,7 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
for (int x = 0; x < pH; x++)
for (int y = 0; y < pW; y++) {
int pos = (int)(oprevl->L[x][y]);
int pos = (int) (oprevl->L[x][y]);
lhist16thr[pos]++;
}
@ -609,31 +613,31 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
lhist16 += lhist16thr;
}
#ifdef _OPENMP
static_cast<void>(numThreads); // to silence cppcheck warning
static_cast<void> (numThreads); // to silence cppcheck warning
#endif
CurveFactory::complexLCurve (params.labCurve.brightness, params.labCurve.contrast, params.labCurve.lcurve, lhist16, lumacurve, histLCurve, scale == 1 ? 1 : 16, utili);
}
if (todo & M_LUMACURVE) {
CurveFactory::curveCL(clcutili, params.labCurve.clcurve, clcurve, scale == 1 ? 1 : 16);
CurveFactory::curveCL (clcutili, params.labCurve.clcurve, clcurve, scale == 1 ? 1 : 16);
CurveFactory::complexsgnCurve (autili, butili, ccutili, cclutili, params.labCurve.acurve, params.labCurve.bcurve, params.labCurve.cccurve,
params.labCurve.lccurve, chroma_acurve, chroma_bcurve, satcurve, lhskcurve, scale == 1 ? 1 : 16);
}
if (todo & (M_LUMINANCE + M_COLOR) ) {
nprevl->CopyFrom(oprevl);
nprevl->CopyFrom (oprevl);
progress ("Applying Color Boost...", 100 * readyphase / numofphases);
// ipf.MSR(nprevl, nprevl->W, nprevl->H, 1);
histCCurve.clear();
histLCurve.clear();
ipf.chromiLuminanceCurve (nullptr, pW, nprevl, nprevl, chroma_acurve, chroma_bcurve, satcurve, lhskcurve, clcurve, lumacurve, utili, autili, butili, ccutili, cclutili, clcutili, histCCurve, histLCurve);
ipf.vibrance(nprevl);
ipf.vibrance (nprevl);
if((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!params.colorappearance.enabled)) {
ipf.EPDToneMap(nprevl, 5, scale);
if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!params.colorappearance.enabled)) {
ipf.EPDToneMap (nprevl, 5, scale);
}
// for all treatments Defringe, Sharpening, Contrast detail , Microcontrast they are activated if "CIECAM" function are disabled
@ -679,8 +683,8 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
}
}
*/
if(params.dirpyrequalizer.cbdlMethod == "aft") {
if(((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) ) {
if (params.dirpyrequalizer.cbdlMethod == "aft") {
if (((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) ) {
progress ("Pyramid wavelet...", 100 * readyphase / numofphases);
ipf.dirpyrequalizer (nprevl, scale);
//ipf.Lanczoslab (ip_wavelet(LabImage * lab, LabImage * dst, const procparams::EqualizerParams & eqparams), nprevl, 1.f/scale);
@ -691,35 +695,35 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
wavcontlutili = false;
//CurveFactory::curveWavContL ( wavcontlutili,params.wavelet.lcurve, wavclCurve, LUTu & histogramwavcl, LUTu & outBeforeWavCLurveHistogram,int skip);
CurveFactory::curveWavContL(wavcontlutili, params.wavelet.wavclCurve, wavclCurve, scale == 1 ? 1 : 16);
CurveFactory::curveWavContL (wavcontlutili, params.wavelet.wavclCurve, wavclCurve, scale == 1 ? 1 : 16);
if((params.wavelet.enabled)) {
if ((params.wavelet.enabled)) {
WaveletParams WaveParams = params.wavelet;
// WaveParams.getCurves(wavCLVCurve, waOpacityCurveRG, waOpacityCurveBY);
WaveParams.getCurves(wavCLVCurve, waOpacityCurveRG, waOpacityCurveBY, waOpacityCurveW, waOpacityCurveWL);
WaveParams.getCurves (wavCLVCurve, waOpacityCurveRG, waOpacityCurveBY, waOpacityCurveW, waOpacityCurveWL);
int kall = 0;
progress ("Wavelet...", 100 * readyphase / numofphases);
// ipf.ip_wavelet(nprevl, nprevl, kall, WaveParams, wavCLVCurve, waOpacityCurveRG, waOpacityCurveBY, scale);
ipf.ip_wavelet(nprevl, nprevl, kall, WaveParams, wavCLVCurve, waOpacityCurveRG, waOpacityCurveBY, waOpacityCurveW, waOpacityCurveWL, wavclCurve, wavcontlutili, scale);
ipf.ip_wavelet (nprevl, nprevl, kall, WaveParams, wavCLVCurve, waOpacityCurveRG, waOpacityCurveBY, waOpacityCurveW, waOpacityCurveWL, wavclCurve, wavcontlutili, scale);
}
if(params.colorappearance.enabled) {
if (params.colorappearance.enabled) {
//L histo and Chroma histo for ciecam
// histogram well be for Lab (Lch) values, because very difficult to do with J,Q, M, s, C
int x1, y1, x2, y2;
params.crop.mapToResized(pW, pH, scale, x1, x2, y1, y2);
params.crop.mapToResized (pW, pH, scale, x1, x2, y1, y2);
lhist16CAM.clear();
lhist16CCAM.clear();
if(!params.colorappearance.datacie) {
if (!params.colorappearance.datacie) {
for (int x = 0; x < pH; x++)
for (int y = 0; y < pW; y++) {
int pos = CLIP((int)(nprevl->L[x][y]));
int posc = CLIP((int)sqrt(nprevl->a[x][y] * nprevl->a[x][y] + nprevl->b[x][y] * nprevl->b[x][y]));
int pos = CLIP ((int) (nprevl->L[x][y]));
int posc = CLIP ((int)sqrt (nprevl->a[x][y] * nprevl->a[x][y] + nprevl->b[x][y] * nprevl->b[x][y]));
lhist16CAM[pos]++;
lhist16CCAM[posc]++;
}
@ -734,31 +738,31 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
double fcomp = imgsrc->getMetaData()->getExpComp (); // Compensation +/-
double adap;
if(fnum < 0.3f || fiso < 5.f || fspeed < 0.00001f) { //if no exif data or wrong
if (fnum < 0.3f || fiso < 5.f || fspeed < 0.00001f) { //if no exif data or wrong
adap = 2000.;
} else {
double E_V = fcomp + log2 (double((fnum * fnum) / fspeed / (fiso / 100.f)));
double E_V = fcomp + log2 (double ((fnum * fnum) / fspeed / (fiso / 100.f)));
E_V += params.toneCurve.expcomp;// exposure compensation in tonecurve ==> direct EV
E_V += log2(params.raw.expos);// exposure raw white point ; log2 ==> linear to EV
adap = powf(2.f, E_V - 3.f); // cd / m2
E_V += log2 (params.raw.expos); // exposure raw white point ; log2 ==> linear to EV
adap = powf (2.f, E_V - 3.f); // cd / m2
// end calculation adaptation scene luminosity
}
int begh = 0;
int endh = pH;
float d;
float d, dj, yb;
bool execsharp = false;
if(!ncie) {
if (!ncie) {
ncie = new CieImage (pW, pH);
}
if (!CAMBrightCurveJ && (params.colorappearance.algo == "JC" || params.colorappearance.algo == "JS" || params.colorappearance.algo == "ALL")) {
CAMBrightCurveJ(32768, 0);
CAMBrightCurveJ (32768, 0);
}
if (!CAMBrightCurveQ && (params.colorappearance.algo == "QM" || params.colorappearance.algo == "ALL")) {
CAMBrightCurveQ(32768, 0);
CAMBrightCurveQ (32768, 0);
}
// Issue 2785, only float version of ciecam02 for navigator and pan background
@ -766,14 +770,18 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
CAMBrightCurveJ.dirty = true;
CAMBrightCurveQ.dirty = true;
ipf.ciecam_02float (ncie, float(adap), begh, endh, pW, 2, nprevl, &params, customColCurve1, customColCurve2, customColCurve3, histLCAM, histCCAM, CAMBrightCurveJ, CAMBrightCurveQ, CAMMean, 5, scale, execsharp, d, 1);
ipf.ciecam_02float (ncie, float (adap), begh, endh, pW, 2, nprevl, &params, customColCurve1, customColCurve2, customColCurve3, histLCAM, histCCAM, CAMBrightCurveJ, CAMBrightCurveQ, CAMMean, 5, scale, execsharp, d, dj, yb, 1);
if(params.colorappearance.autodegree && acListener && params.colorappearance.enabled) {
acListener->autoCamChanged(100.*(double)d);
if ((params.colorappearance.autodegree || params.colorappearance.autodegreeout) && acListener && params.colorappearance.enabled) {
acListener->autoCamChanged (100.* (double)d, 100.* (double)dj);
}
if(params.colorappearance.autoadapscen && acListener && params.colorappearance.enabled) {
acListener->adapCamChanged(adap); //real value of adapt scene luminosity
if (params.colorappearance.autoadapscen && acListener && params.colorappearance.enabled) {
acListener->adapCamChanged (adap); //real value of adapt scene
}
if (params.colorappearance.autoybscen && acListener && params.colorappearance.enabled) {
acListener->ybCamChanged ((int) yb); //real value Yb scene
}
readyphase++;
@ -796,11 +804,11 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
}
// Update the monitor color transform if necessary
if ((todo & M_MONITOR) || (lastOutputProfile!=params.icm.output) || lastOutputIntent!=params.icm.outputIntent || lastOutputBPC!=params.icm.outputBPC) {
if ((todo & M_MONITOR) || (lastOutputProfile != params.icm.output) || lastOutputIntent != params.icm.outputIntent || lastOutputBPC != params.icm.outputBPC) {
lastOutputProfile = params.icm.output;
lastOutputIntent = params.icm.outputIntent;
lastOutputBPC = params.icm.outputBPC;
ipf.updateColorProfiles(monitorProfile, monitorIntent, softProof, gamutCheck);
ipf.updateColorProfiles (monitorProfile, monitorIntent, softProof, gamutCheck);
}
// process crop, if needed
@ -812,7 +820,7 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
progress ("Conversion to RGB...", 100 * readyphase / numofphases);
if ((todo != CROP && todo != MINUPDATE) || (todo & M_MONITOR)) {
MyMutex::MyLock prevImgLock(previmg->getMutex());
MyMutex::MyLock prevImgLock (previmg->getMutex());
try {
// Computing the preview image, i.e. converting from WCS->Monitor color space (soft-proofing disabled) or WCS->Printer profile->Monitor color space (soft-proofing enabled)
@ -821,7 +829,7 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
// Computing the internal image for analysis, i.e. conversion from WCS->Output profile
delete workimg;
workimg = ipf.lab2rgb (nprevl, 0, 0, pW, pH, params.icm);
} catch(char * str) {
} catch (char * str) {
progress ("Error converting file...", 0);
return;
}
@ -885,7 +893,7 @@ void ImProcCoordinator::freeAll ()
delete workimg;
if(shmap) {
if (shmap) {
delete shmap;
}
@ -909,7 +917,7 @@ void ImProcCoordinator::setScale (int prevscale)
printf ("setscale before lock\n");
}
tr = getCoarseBitMask(params.coarse);
tr = getCoarseBitMask (params.coarse);
int nW, nH;
imgsrc->getFullSize (fw, fh, tr);
@ -920,7 +928,7 @@ void ImProcCoordinator::setScale (int prevscale)
prevscale--;
PreviewProps pp (0, 0, fw, fh, prevscale);
imgsrc->getSize (pp, nW, nH);
} while(nH < 400 && prevscale > 1 && (nW * nH < 1000000) ); // sctually hardcoded values, perhaps a better choice is possible
} while (nH < 400 && prevscale > 1 && (nW * nH < 1000000) ); // sctually hardcoded values, perhaps a better choice is possible
if (settings->verbose) {
printf ("setscale starts (%d, %d)\n", nW, nH);
@ -941,7 +949,7 @@ void ImProcCoordinator::setScale (int prevscale)
previmg = new Image8 (pW, pH);
workimg = new Image8 (pW, pH);
if(params.sh.enabled) {
if (params.sh.enabled) {
shmap = new SHMap (pW, pH, true);
}
@ -973,7 +981,7 @@ void ImProcCoordinator::updateLRGBHistograms ()
{
int x1, y1, x2, y2;
params.crop.mapToResized(pW, pH, scale, x1, x2, y1, y2);
params.crop.mapToResized (pW, pH, scale, x1, x2, y1, y2);
#pragma omp parallel sections
{
@ -984,7 +992,7 @@ void ImProcCoordinator::updateLRGBHistograms ()
for (int i = y1; i < y2; i++)
for (int j = x1; j < x2; j++)
{
histChroma[(int)(sqrtf(SQR(nprevl->a[i][j]) + SQR(nprevl->b[i][j])) / 188.f)]++; //188 = 48000/256
histChroma[ (int) (sqrtf (SQR (nprevl->a[i][j]) + SQR (nprevl->b[i][j])) / 188.f)]++; //188 = 48000/256
}
}
#pragma omp section
@ -994,7 +1002,7 @@ void ImProcCoordinator::updateLRGBHistograms ()
for (int i = y1; i < y2; i++)
for (int j = x1; j < x2; j++)
{
histLuma[(int)(nprevl->L[i][j] / 128.f)]++;
histLuma[ (int) (nprevl->L[i][j] / 128.f)]++;
}
}
#pragma omp section
@ -1038,15 +1046,15 @@ bool ImProcCoordinator::getAutoWB (double& temp, double& green, double equal, do
if (lastAwbEqual != equal || lastAwbTempBias != tempBias) {
// Issue 2500 MyMutex::MyLock lock(minit); // Also used in crop window
double rm, gm, bm;
imgsrc->getAutoWBMultipliers(rm, gm, bm);
imgsrc->getAutoWBMultipliers (rm, gm, bm);
if (rm != -1) {
autoWB.update(rm, gm, bm, equal, tempBias);
autoWB.update (rm, gm, bm, equal, tempBias);
lastAwbEqual = equal;
lastAwbTempBias = tempBias;
} else {
lastAwbEqual = -1.;
autoWB.useDefaults(equal);
autoWB.useDefaults (equal);
lastAwbTempBias = 0.0;
}
}
@ -1077,7 +1085,7 @@ void ImProcCoordinator::getSpotWB (int x, int y, int rect, double& temp, double&
ColorTemp ret;
{
MyMutex::MyLock lock(mProcessing);
MyMutex::MyLock lock (mProcessing);
std::vector<Coord2D> points, red, green, blue;
for (int i = y - rect; i <= y + rect; i++)
@ -1087,7 +1095,7 @@ void ImProcCoordinator::getSpotWB (int x, int y, int rect, double& temp, double&
ipf.transCoord (fw, fh, points, red, green, blue);
int tr = getCoarseBitMask(params.coarse);
int tr = getCoarseBitMask (params.coarse);
ret = imgsrc->getSpotWB (red, green, blue, tr, params.wb.equal);
currWB = ColorTemp (params.wb.temperature, params.wb.green, params.wb.equal, params.wb.method);
@ -1108,15 +1116,15 @@ void ImProcCoordinator::getSpotWB (int x, int y, int rect, double& temp, double&
void ImProcCoordinator::getAutoCrop (double ratio, int &x, int &y, int &w, int &h)
{
MyMutex::MyLock lock(mProcessing);
MyMutex::MyLock lock (mProcessing);
LCPMapper *pLCPMap = nullptr;
LensCorrection *pLCPMap = nullptr;
if (params.lensProf.lcpFile.length() && imgsrc->getMetaData()->getFocalLen() > 0) {
LCPProfile *pLCPProf = lcpStore->getProfile(params.lensProf.lcpFile);
if (params.lensProf.useLcp() && imgsrc->getMetaData()->getFocalLen() > 0) {
const std::shared_ptr<LCPProfile> pLCPProf = LCPStore::getInstance()->getProfile (params.lensProf.lcpFile);
if (pLCPProf) pLCPMap = new LCPMapper(pLCPProf, imgsrc->getMetaData()->getFocalLen(), imgsrc->getMetaData()->getFocalLen35mm(), imgsrc->getMetaData()->getFocusDist(),
0, false, params.lensProf.useDist, fullw, fullh, params.coarse, imgsrc->getRotateDegree());
if (pLCPProf) pLCPMap = new LCPMapper (pLCPProf, imgsrc->getMetaData()->getFocalLen(), imgsrc->getMetaData()->getFocalLen35mm(), imgsrc->getMetaData()->getFocusDist(),
0, false, params.lensProf.useDist, fullw, fullh, params.coarse, imgsrc->getRotateDegree());
}
double fillscale = ipf.getTransformAutoFill (fullw, fullh, pLCPMap);
@ -1165,11 +1173,11 @@ void ImProcCoordinator::getSoftProofing (bool &softProof, bool &gamutCheck)
void ImProcCoordinator::saveInputICCReference (const Glib::ustring& fname, bool apply_wb)
{
MyMutex::MyLock lock(mProcessing);
MyMutex::MyLock lock (mProcessing);
int fW, fH;
int tr = getCoarseBitMask(params.coarse);
int tr = getCoarseBitMask (params.coarse);
imgsrc->getFullSize (fW, fH, tr);
PreviewProps pp (0, 0, fW, fH, 1);
@ -1177,8 +1185,8 @@ void ImProcCoordinator::saveInputICCReference (const Glib::ustring& fname, bool
ppar.toneCurve.hrenabled = false;
ppar.icm.input = "(none)";
Imagefloat* im = new Imagefloat (fW, fH);
imgsrc->preprocess( ppar.raw, ppar.lensProf, ppar.coarse );
imgsrc->demosaic(ppar.raw );
imgsrc->preprocess ( ppar.raw, ppar.lensProf, ppar.coarse );
imgsrc->demosaic (ppar.raw );
ColorTemp currWB = ColorTemp (params.wb.temperature, params.wb.green, params.wb.equal, params.wb.method);
if (params.wb.method == "Camera") {
@ -1186,16 +1194,16 @@ void ImProcCoordinator::saveInputICCReference (const Glib::ustring& fname, bool
} else if (params.wb.method == "Auto") {
if (lastAwbEqual != params.wb.equal || lastAwbTempBias != params.wb.tempBias) {
double rm, gm, bm;
imgsrc->getAutoWBMultipliers(rm, gm, bm);
imgsrc->getAutoWBMultipliers (rm, gm, bm);
if (rm != -1.) {
autoWB.update(rm, gm, bm, params.wb.equal, params.wb.tempBias);
autoWB.update (rm, gm, bm, params.wb.equal, params.wb.tempBias);
lastAwbEqual = params.wb.equal;
lastAwbTempBias = params.wb.tempBias;
} else {
lastAwbEqual = -1.;
lastAwbTempBias = 0.0;
autoWB.useDefaults(params.wb.equal);
autoWB.useDefaults (params.wb.equal);
}
}
@ -1211,8 +1219,8 @@ void ImProcCoordinator::saveInputICCReference (const Glib::ustring& fname, bool
if (ipf.needsTransform()) {
Imagefloat* trImg = new Imagefloat (fW, fH);
ipf.transform (im, trImg, 0, 0, 0, 0, fW, fH, fW, fH, imgsrc->getMetaData()->getFocalLen(), imgsrc->getMetaData()->getFocalLen35mm(),
imgsrc->getMetaData()->getFocusDist(), imgsrc->getMetaData()->getFNumber(), imgsrc->getRotateDegree(), true);
ipf.transform (im, trImg, 0, 0, 0, 0, fW, fH, fW, fH,
imgsrc->getMetaData(), imgsrc->getRotateDegree(), true);
delete im;
im = trImg;
}
@ -1227,9 +1235,9 @@ void ImProcCoordinator::saveInputICCReference (const Glib::ustring& fname, bool
for (int i = cy; i < cy + ch; i++) {
for (int j = cx; j < cx + cw; j++) {
tmpim->r(i - cy, j - cx) = im->r(i, j);
tmpim->g(i - cy, j - cx) = im->g(i, j);
tmpim->b(i - cy, j - cx) = im->b(i, j);
tmpim->r (i - cy, j - cx) = im->r (i, j);
tmpim->g (i - cy, j - cx) = im->g (i, j);
tmpim->b (i - cy, j - cx) = im->b (i, j);
}
}
@ -1240,11 +1248,11 @@ void ImProcCoordinator::saveInputICCReference (const Glib::ustring& fname, bool
// image may contain out of range samples, clip them to avoid wrap-arounds
#pragma omp parallel for
for(int i = 0; i < im->getHeight(); i++) {
for(int j = 0; j < im->getWidth(); j++) {
im->r(i, j) = CLIP(im->r(i, j));
im->g(i, j) = CLIP(im->g(i, j));
im->b(i, j) = CLIP(im->b(i, j));
for (int i = 0; i < im->getHeight(); i++) {
for (int j = 0; j < im->getWidth(); j++) {
im->r (i, j) = CLIP (im->r (i, j));
im->g (i, j) = CLIP (im->g (i, j));
im->b (i, j) = CLIP (im->b (i, j));
}
}
@ -1252,7 +1260,7 @@ void ImProcCoordinator::saveInputICCReference (const Glib::ustring& fname, bool
delete im;
int imw, imh;
double tmpScale = ipf.resizeScale(&params, fW, fH, imw, imh);
double tmpScale = ipf.resizeScale (&params, fW, fH, imw, imh);
if (tmpScale != 1.0) {
Image16* tempImage = new Image16 (imw, imh);
@ -1298,13 +1306,13 @@ void ImProcCoordinator::startProcessing ()
//batchThread->yield(); //the running batch should wait other threads to avoid conflict
thread = Glib::Thread::create(sigc::mem_fun(*this, &ImProcCoordinator::process), 0, true, true, Glib::THREAD_PRIORITY_NORMAL);
thread = Glib::Thread::create (sigc::mem_fun (*this, &ImProcCoordinator::process), 0, true, true, Glib::THREAD_PRIORITY_NORMAL);
}
}
}
void ImProcCoordinator::startProcessing(int changeCode)
void ImProcCoordinator::startProcessing (int changeCode)
{
paramsUpdateMutex.lock();
changeSinceLast |= changeCode;
@ -1352,7 +1360,7 @@ ProcParams* ImProcCoordinator::beginUpdateParams ()
void ImProcCoordinator::endUpdateParams (ProcEvent change)
{
endUpdateParams( refreshmap[(int)change] );
endUpdateParams ( refreshmap[ (int)change] );
}
void ImProcCoordinator::endUpdateParams (int changeFlags)

View File

@ -223,7 +223,7 @@ public:
*dst = params;
}
void startProcessing(int changeCode);
void startProcessing (int changeCode);
ProcParams* beginUpdateParams ();
void endUpdateParams (ProcEvent change); // must be called after beginUpdateParams, triggers update
void endUpdateParams (int changeFlags);
@ -304,7 +304,7 @@ public:
{
aeListener = ael;
}
void setHistogramListener(HistogramListener *h)
void setHistogramListener (HistogramListener *h)
{
hListener = h;
}
@ -355,7 +355,7 @@ public:
}
struct DenoiseInfoStore {
DenoiseInfoStore () : chM(0), max_r{}, max_b{}, ch_M{}, valid(false) {}
DenoiseInfoStore () : chM (0), max_r{}, max_b{}, ch_M{}, valid (false) {}
float chM;
float max_r[9];
float max_b[9];

View File

@ -210,7 +210,7 @@ void ImProcFunctions::firstAnalysis (const Imagefloat* const original, const Pro
// Copyright (c) 2012 Jacques Desmis <jdesmis@gmail.com>
void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh, int pW, int pwb, LabImage* lab, const ProcParams* params,
const ColorAppearance & customColCurve1, const ColorAppearance & customColCurve2, const ColorAppearance & customColCurve3,
LUTu & histLCAM, LUTu & histCCAM, LUTf & CAMBrightCurveJ, LUTf & CAMBrightCurveQ, float &mean, int Iterates, int scale, bool execsharp, double &d, int rtt)
LUTu & histLCAM, LUTu & histCCAM, LUTf & CAMBrightCurveJ, LUTf & CAMBrightCurveQ, float &mean, int Iterates, int scale, bool execsharp, double &d, double &dj, double &yb, int rtt)
{
if (params->colorappearance.enabled) {
//int lastskip;
@ -264,9 +264,12 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
Yw = 1.0;
double Xw, Zw;
double Xwout, Zwout;
double f, c, nc, yb = 0., la, xw, yw, zw, f2 = 0., c2 = 0., nc2 = 0., yb2 = 0., la2;
double Xwsc, Zwsc;
double f = 0., c = 0., nc = 0., yb = 0., la, xw, yw, zw, f2 = 0., c2 = 0., nc2 = 0., yb2 = 0., la2;
double fl, n, nbb, ncb, aw;
double xwd = 0., ywd, zwd = 0.;
double xws, yws, zws;
int alg = 0;
bool algepd = false;
float sum = 0.f;
@ -275,37 +278,53 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
ColorTemp::temp2mulxyz (params->wb.temperature, params->wb.green, params->wb.method, Xw, Zw); //compute white Xw Yw Zw : white current WB
ColorTemp::temp2mulxyz (params->colorappearance.tempout, params->colorappearance.greenout, "Custom", Xwout, Zwout);
ColorTemp::temp2mulxyz (params->colorappearance.tempsc, params->colorappearance.greensc, "Custom", Xwsc, Zwsc);
//viewing condition for surround
if (params->colorappearance.surround == "Average") {
//viewing condition for surrsrc
if (params->colorappearance.surrsrc == "Average") {
f = 1.00;
c = 0.69;
nc = 1.00;
} else if (params->colorappearance.surrsrc == "Dim") {
f = 0.9;
c = 0.59;
nc = 0.9;
} else if (params->colorappearance.surrsrc == "Dark") {
f = 0.8;
c = 0.525;
nc = 0.8;
} else if (params->colorappearance.surrsrc == "ExtremelyDark") {
f = 0.8;
c = 0.41;
nc = 0.8;
}
//viewing condition for surround
if (params->colorappearance.surround == "Average") {
f2 = 1.0, c2 = 0.69, nc2 = 1.0;
} else if (params->colorappearance.surround == "Dim") {
f2 = 0.9;
c2 = 0.59;
nc2 = 0.9;
f = 1.0, c = 0.69, nc = 1.0;
} else if (params->colorappearance.surround == "Dark") {
f2 = 0.8;
c2 = 0.525;
nc2 = 0.8;
f = 1.0, c = 0.69, nc = 1.0;
} else if (params->colorappearance.surround == "ExtremelyDark") {
f2 = 0.8;
c2 = 0.41;
nc2 = 0.8;
f = 1.0, c = 0.69, nc = 1.0;
}
//scene condition for surround
if (params->colorappearance.surrsource) {
f = 0.85; // if user => source image has surround very dark
c = 0.55;
nc = 0.85;
}
/*
//scene condition for surround
if (params->colorappearance.surrsource) {
f = 0.85; // if user => source image has surround very dark
c = 0.55;
nc = 0.85;
}
*/
//with which algorithme
if (params->colorappearance.algo == "JC") {
alg = 0;
@ -362,6 +381,10 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
zwd = 100. * Zwout;
ywd = 100. / params->colorappearance.greenout;//approximation to simplify
xws = 100. * Xwsc;
zws = 100. * Zwsc;
yws = 100. / params->colorappearance.greensc;//approximation to simplify
/*
//settings mean Luminance Y of output device or viewing
if (settings->viewingdevicegrey == 0) {
@ -397,6 +420,10 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
double deg = (params->colorappearance.degree) / 100.0;
double pilot = params->colorappearance.autodegree ? 2.0 : deg;
const float degout = (params->colorappearance.degreeout) / 100.0;
const float pilotout = params->colorappearance.autodegreeout ? 2.0 : degout;
//algoritm's params
float jli = params->colorappearance.jlight;
float chr = params->colorappearance.chroma;
@ -501,7 +528,9 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
}
}
if (settings->viewinggreySc == 0) { //auto
// if (settings->viewinggreySc == 0) { //auto
if (params->colorappearance.autoybscen && pwb == 2) {//auto
if (mean < 15.f) {
yb = 3.0;
} else if (mean < 30.f) {
@ -525,6 +554,8 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
} else {
yb = 90.0;
}
} else {
yb = params->colorappearance.ybscen;
}
if (settings->viewinggreySc == 1) {
@ -541,7 +572,7 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
xw = 100.0 * Xw;
yw = 100.0 * Yw;
zw = 100.0 * Zw;
double xw1, yw1, zw1, xw2, yw2, zw2;
double xw1 = 0., yw1 = 0., zw1 = 0., xw2 = 0., yw2 = 0., zw2 = 0.;
// settings of WB: scene and viewing
if (params->colorappearance.wbmodel == "RawT") {
@ -551,19 +582,26 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
xw2 = xwd;
yw2 = ywd;
zw2 = zwd;
} else { /*if(params->colorappearance.wbmodel == "RawTCAT02")*/
} else if (params->colorappearance.wbmodel == "RawTCAT02") {
xw1 = xw; // Settings RT WB are used for CAT02 => mix , CAT02 is use for output device (screen: D50 D65, projector: lamp, LED) see preferences
yw1 = yw;
zw1 = zw;
xw2 = xwd;
yw2 = ywd;
zw2 = zwd;
} else if (params->colorappearance.wbmodel == "free") {
xw1 = xws; // free temp and green
yw1 = yws;
zw1 = zws;
xw2 = xwd;
yw2 = ywd;
zw2 = zwd;
}
double cz, wh, pfl;
Ciecam02::initcam1 (gamu, yb, pilot, f, la, xw, yw, zw, n, d, nbb, ncb, cz, aw, wh, pfl, fl, c);
double nj, dj, nbbj, ncbj, czj, awj, flj;
Ciecam02::initcam2 (gamu, yb2, f2, la2, xw2, yw2, zw2, nj, dj, nbbj, ncbj, czj, awj, flj);
double nj, nbbj, ncbj, czj, awj, flj;
Ciecam02::initcam2 (gamu, yb2, pilotout, f2, la2, xw2, yw2, zw2, nj, dj, nbbj, ncbj, czj, awj, flj);
@ -808,6 +846,7 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
} else if (curveMode == ColorAppearanceParams::TC_MODE_BRIGHT) {
//attention! Brightness curves are open - unlike Lightness or Lab or RGB==> rendering and algoritms will be different
float coef = ((aw + 4.f) * (4.f / c)) / 100.f;
float Qanc = Qpro;
float Qq = (float) Qpro * 327.68f * (1.f / coef);
float Qold100 = (float) Qpro / coef;
@ -833,8 +872,15 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
Qq = 0.7f * (Qq - Qold) + Qold; // not zero ==>artifacts
}
Qpro = (double) (Qq * (coef) / 327.68f);
Jpro = 100.* (Qpro * Qpro) / ((4.0 / c) * (4.0 / c) * (aw + 4.0) * (aw + 4.0));
if (Qold == 0.f) {
Qold = 0.001f;
}
Qpro = Qanc * (Qq / Qold);
Jpro = Jpro * SQR (Qq / Qold);
// Qpro = (double) (Qq * (coef) / 327.68f);
// Jpro = 100.* (Qpro * Qpro) / ((4.0 / c) * (4.0 / c) * (aw + 4.0) * (aw + 4.0));
t1B = true;
if (Jpro < 1.) {
@ -889,6 +935,7 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
}
} else if (curveMode2 == ColorAppearanceParams::TC_MODE_BRIGHT) { //
float Qanc = Qpro;
float coef = ((aw + 4.f) * (4.f / c)) / 100.f;
float Qq = (float) Qpro * 327.68f * (1.f / coef);
float Qold100 = (float) Qpro / coef;
@ -915,8 +962,16 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
Qq = 0.7f * (Qq - Qold) + Qold; // not zero ==>artifacts
}
Qpro = (double) (Qq * (coef) / 327.68f);
Jpro = 100.* (Qpro * Qpro) / ((4.0 / c) * (4.0 / c) * (aw + 4.0) * (aw + 4.0));
if (Qold == 0.f) {
Qold = 0.001f;
}
// Qpro = (float) (Qq * (coef) / 327.68f);
Qpro = Qanc * (Qq / Qold);
Jpro = Jpro * SQR (Qq / Qold);
// Qpro = (double) (Qq * (coef) / 327.68f);
// Jpro = 100.* (Qpro * Qpro) / ((4.0 / c) * (4.0 / c) * (aw + 4.0) * (aw + 4.0));
t2B = true;
if (t1L) { //to workaround the problem if we modify curve1-lightnees after curve2 brightness(the cat that bites its own tail!) in fact it's another type of curve only for this case
@ -1075,13 +1130,13 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
}
if (curveMode3 == ColorAppearanceParams::TC_MODE_CHROMA) {
chsacol = 327.;
chsacol = 400.;//327.;
colch = 0;
} else if (curveMode3 == ColorAppearanceParams::TC_MODE_SATUR) {
chsacol = 450.0;
colch = 1;
} else if (curveMode3 == ColorAppearanceParams::TC_MODE_COLORF) {
chsacol = 327.0;
chsacol = 400.;//327.0;
colch = 2;
}
@ -1344,13 +1399,13 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
}
if (curveMode3 == ColorAppearanceParams::TC_MODE_CHROMA) {
chsacol = 327.;
chsacol = 400.;//327.;
colch = 0;
} else if (curveMode3 == ColorAppearanceParams::TC_MODE_SATUR) {
chsacol = 450.0;
colch = 1;
} else if (curveMode3 == ColorAppearanceParams::TC_MODE_COLORF) {
chsacol = 327.0;
chsacol = 400.;//327.0;
colch = 2;
}
@ -1468,7 +1523,7 @@ void ImProcFunctions::ciecam_02 (CieImage* ncie, double adap, int begh, int endh
// Copyright (c) 2012 Jacques Desmis <jdesmis@gmail.com>
void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int endh, int pW, int pwb, LabImage* lab, const ProcParams* params,
const ColorAppearance & customColCurve1, const ColorAppearance & customColCurve2, const ColorAppearance & customColCurve3,
LUTu & histLCAM, LUTu & histCCAM, LUTf & CAMBrightCurveJ, LUTf & CAMBrightCurveQ, float &mean, int Iterates, int scale, bool execsharp, float &d, int rtt)
LUTu & histLCAM, LUTu & histCCAM, LUTf & CAMBrightCurveJ, LUTf & CAMBrightCurveQ, float &mean, int Iterates, int scale, bool execsharp, float &d, float &dj, float &yb, int rtt)
{
if (params->colorappearance.enabled) {
@ -1495,12 +1550,13 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
float Yw;
Yw = 1.0;
double Xw, Zw;
float f, nc, yb = 0.f, la, c, xw, yw, zw, f2 = 1.f, c2 = 1.f, nc2 = 1.f, yb2;
float f = 0.f, nc = 0.f, la, c = 0.f, xw, yw, zw, f2 = 1.f, c2 = 1.f, nc2 = 1.f, yb2;
float fl, n, nbb, ncb, aw; //d
float xwd, ywd, zwd;
float xwd, ywd, zwd, xws, yws, zws;
int alg = 0;
bool algepd = false;
double Xwout, Zwout;
double Xwsc, Zwsc;
const bool epdEnabled = params->epd.enabled;
bool ciedata = (params->colorappearance.datacie && pW != 1) && ! ((params->colorappearance.tonecie && (epdEnabled)) || (params->sharpening.enabled && settings->autocielab && execsharp)
@ -1509,37 +1565,53 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
ColorTemp::temp2mulxyz (params->wb.temperature, params->wb.green, params->wb.method, Xw, Zw); //compute white Xw Yw Zw : white current WB
ColorTemp::temp2mulxyz (params->colorappearance.tempout, params->colorappearance.greenout, "Custom", Xwout, Zwout);
ColorTemp::temp2mulxyz (params->colorappearance.tempsc, params->colorappearance.greensc, "Custom", Xwsc, Zwsc);
//viewing condition for surround
if (params->colorappearance.surround == "Average") {
//viewing condition for surrsrc
if (params->colorappearance.surrsrc == "Average") {
f = 1.00f;
c = 0.69f;
nc = 1.00f;
} else if (params->colorappearance.surrsrc == "Dim") {
f = 0.9f;
c = 0.59f;
nc = 0.9f;
} else if (params->colorappearance.surrsrc == "Dark") {
f = 0.8f;
c = 0.525f;
nc = 0.8f;
} else if (params->colorappearance.surrsrc == "ExtremelyDark") {
f = 0.8f;
c = 0.41f;
nc = 0.8f;
}
//viewing condition for surround
if (params->colorappearance.surround == "Average") {
f2 = 1.0f, c2 = 0.69f, nc2 = 1.0f;
} else if (params->colorappearance.surround == "Dim") {
f2 = 0.9f;
c2 = 0.59f;
nc2 = 0.9f;
f = 1.0f, c = 0.69f, nc = 1.0f;
} else if (params->colorappearance.surround == "Dark") {
f2 = 0.8f;
c2 = 0.525f;
nc2 = 0.8f;
f = 1.0f, c = 0.69f, nc = 1.0f;
} else if (params->colorappearance.surround == "ExtremelyDark") {
f2 = 0.8f;
c2 = 0.41f;
nc2 = 0.8f;
f = 1.0f, c = 0.69f, nc = 1.0f;
}
//scene condition for surround
if (params->colorappearance.surrsource) {
f = 0.85f; // if user => source image has surround very dark
c = 0.55f;
nc = 0.85f;
}
/*
//scene condition for surround
if (params->colorappearance.surrsource) {
f = 0.85f; // if user => source image has surround very dark
c = 0.55f;
nc = 0.85f;
}
*/
//with which algorithm
if (params->colorappearance.algo == "JC") {
alg = 0;
@ -1556,6 +1628,12 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
xwd = 100.f * Xwout;
zwd = 100.f * Zwout;
ywd = 100.f / params->colorappearance.greenout;//approximation to simplify
xws = 100.f * Xwsc;
zws = 100.f * Zwsc;
yws = 100.f / params->colorappearance.greensc;//approximation to simplify
/*
//settings white point of output device - or illuminant viewing
if (settings->viewingdevice == 0) {
@ -1620,16 +1698,20 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
}
}
if (alg >= 2 && la < 200.f) {
la = 200.f;
}
/*
if (alg >= 2 && la < 200.f) {
la = 200.f;
}
*/
const float la2 = float (params->colorappearance.adaplum);
// level of adaptation
const float deg = (params->colorappearance.degree) / 100.0f;
const float pilot = params->colorappearance.autodegree ? 2.0f : deg;
const float degout = (params->colorappearance.degreeout) / 100.0f;
const float pilotout = params->colorappearance.autodegreeout ? 2.0f : degout;
//algoritm's params
float chr = 0.f;
@ -1711,6 +1793,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
}
float sum = 0.f;
float sumQ = 0.f;
#ifdef _OPENMP
const int numThreads = min (max (width * height / 65536, 1), omp_get_max_threads());
@ -1730,7 +1813,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
hist16Qthr.clear();
}
#pragma omp for reduction(+:sum)
#pragma omp for reduction(+:sum,sumQ)
for (int i = 0; i < height; i++)
for (int j = 0; j < width; j++) { //rough correspondence between L and J
@ -1775,11 +1858,26 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
hist16Jthr[ (int) ((koef * lab->L[i][j]))]++; //evaluate histogram luminance L # J
}
//estimation of wh only with La
float whestim = 500.f;
if (la < 200.f) {
whestim = 200.f;
} else if (la < 2500.f) {
whestim = 350.f;
} else {
whestim = 500.f;
}
if (needQ) {
hist16Qthr[ (int) (sqrtf ((koef * (lab->L[i][j])) * 32768.f))]++; //for brightness Q : approximation for Q=wh*sqrt(J/100) J not equal L
hist16Qthr[CLIP ((int) (32768.f * sqrt ((koef * (lab->L[i][j])) / 32768.f)))]++; //for brightness Q : approximation for Q=wh*sqrt(J/100) J not equal L
//perhaps needs to introduce whestim ??
// hist16Qthr[ (int) (sqrtf ((koef * (lab->L[i][j])) * 32768.f))]++; //for brightness Q : approximation for Q=wh*sqrt(J/100) J not equal L
}
sum += koef * lab->L[i][j]; //evaluate mean J to calculate Yb
sumQ += whestim * sqrt ((koef * (lab->L[i][j])) / 32768.f);
//can be used in case of...
}
#pragma omp critical
@ -1793,18 +1891,24 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
}
}
float meanQ;
if (std::isnan (mean)) {
mean = (sum / ((height) * width)) / 327.68f; //for Yb for all image...if one day "pipette" we can adapt Yb for each zone
meanQ = (sumQ / ((height) * width));//in case of
}
}
//evaluate lightness, contrast
}
if (settings->viewinggreySc == 0) { //auto
// if (settings->viewinggreySc == 0) { //auto
if (params->colorappearance.autoybscen && pwb == 2) {//auto
if (mean < 15.f) {
yb = 3.0f;
} else if (mean < 30.f) {
@ -1828,8 +1932,10 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
} else {
yb = 90.0f;
}
} else if (settings->viewinggreySc == 1) {
yb = 18.0f; //fixed
// } else if (settings->viewinggreySc == 1) {
} else {
yb = (float) params->colorappearance.ybscen;
}
const bool highlight = params->toneCurve.hrenabled; //Get the value if "highlight reconstruction" is activated
@ -1838,7 +1944,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
xw = 100.0f * Xw;
yw = 100.0f * Yw;
zw = 100.0f * Zw;
float xw1, yw1, zw1, xw2, yw2, zw2;
float xw1 = 0.f, yw1 = 0.f, zw1 = 0.f, xw2 = 0.f, yw2 = 0.f, zw2 = 0.f;
// settings of WB: scene and viewing
if (params->colorappearance.wbmodel == "RawT") {
@ -1848,20 +1954,30 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
xw2 = xwd;
yw2 = ywd;
zw2 = zwd;
} else { /*if(params->colorappearance.wbmodel == "RawTCAT02")*/
} else if (params->colorappearance.wbmodel == "RawTCAT02") {
xw1 = xw; // Settings RT WB are used for CAT02 => mix , CAT02 is use for output device (screen: D50 D65, projector: lamp, LED) see preferences
yw1 = yw;
zw1 = zw;
xw2 = xwd;
yw2 = ywd;
zw2 = zwd;
} else if (params->colorappearance.wbmodel == "free") {
xw1 = xws; // free temp and green
yw1 = yws;
zw1 = zws;
xw2 = xwd;
yw2 = ywd;
zw2 = zwd;
}
float cz, wh, pfl;
Ciecam02::initcam1float (gamu, yb, pilot, f, la, xw, yw, zw, n, d, nbb, ncb, cz, aw, wh, pfl, fl, c);
//printf ("wh=%f \n", wh);
const float pow1 = pow_F ( 1.64f - pow_F ( 0.29f, n ), 0.73f );
float nj, dj, nbbj, ncbj, czj, awj, flj;
Ciecam02::initcam2float (gamu, yb2, f2, la2, xw2, yw2, zw2, nj, dj, nbbj, ncbj, czj, awj, flj);
float nj, nbbj, ncbj, czj, awj, flj;
Ciecam02::initcam2float (gamu, yb2, pilotout, f2, la2, xw2, yw2, zw2, nj, dj, nbbj, ncbj, czj, awj, flj);
const float reccmcz = 1.f / (c2 * czj);
const float pow1n = pow_F ( 1.64f - pow_F ( 0.29f, nj ), 0.73f );
@ -1876,7 +1992,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
const bool LabPassOne = ! ((params->colorappearance.tonecie && (epdEnabled)) || (params->sharpening.enabled && settings->autocielab && execsharp)
|| (params->dirpyrequalizer.enabled && settings->autocielab) || (params->defringe.enabled && settings->autocielab) || (params->sharpenMicro.enabled && settings->autocielab)
|| (params->impulseDenoise.enabled && settings->autocielab) || (params->colorappearance.badpixsl > 0 && settings->autocielab));
//printf("coQ=%f\n", coefQ);
if (needJ) {
if (!CAMBrightCurveJ) {
@ -1897,7 +2013,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
if (CAMBrightCurveQ.dirty) {
Ciecam02::curveJfloat (params->colorappearance.qbright, params->colorappearance.qcontrast, hist16Q, CAMBrightCurveQ);//brightness and contrast Q
CAMBrightCurveQ /= coefQ;
// CAMBrightCurveQ /= coefQ;
CAMBrightCurveQ.dirty = false;
}
}
@ -2047,7 +2163,11 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
Qpro = QproFactor * sqrtf (Jpro);
Cpro = (spro * spro * Qpro) / (10000.0f);
} else if (alg == 2) {
Qpro = CAMBrightCurveQ[ (float) (Qpro * coefQ)]; //brightness and contrast
//printf("Qp0=%f ", Qpro);
Qpro = CAMBrightCurveQ[ (float) (Qpro * coefQ)] / coefQ; //brightness and contrast
//printf("Qpaf=%f ", Qpro);
float Mp, sres;
Mp = Mpro / 100.0f;
Ciecam02::curvecolorfloat (mchr, Mp, sres, 2.5f);
@ -2061,7 +2181,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
Qpro = (Qpro == 0.f ? epsil : Qpro); // avoid division by zero
spro = 100.0f * sqrtf ( Mpro / Qpro );
} else { /*if(alg == 3) */
Qpro = CAMBrightCurveQ[ (float) (Qpro * coefQ)]; //brightness and contrast
Qpro = CAMBrightCurveQ[ (float) (Qpro * coefQ)] / coefQ; //brightness and contrast
float Mp, sres;
Mp = Mpro / 100.0f;
@ -2138,6 +2258,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
} else if (curveMode == ColorAppearanceParams::TC_MODE_BRIGHT) {
//attention! Brightness curves are open - unlike Lightness or Lab or RGB==> rendering and algoritms will be different
float coef = ((aw + 4.f) * (4.f / c)) / 100.f;
float Qanc = Qpro;
float Qq = (float) Qpro * 327.68f * (1.f / coef);
float Qold100 = (float) Qpro / coef;
@ -2163,8 +2284,13 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
Qq = 0.7f * (Qq - Qold) + Qold; // not zero ==>artifacts
}
Qpro = (float) (Qq * (coef) / 327.68f);
Jpro = 100.f * (Qpro * Qpro) / ((4.0f / c) * (4.0f / c) * (aw + 4.0f) * (aw + 4.0f));
if (Qold == 0.f) {
Qold = 0.001f;
}
Qpro = Qanc * (Qq / Qold);
// Jpro = 100.f * (Qpro * Qpro) / ((4.0f / c) * (4.0f / c) * (aw + 4.0f) * (aw + 4.0f));
Jpro = Jpro * SQR (Qq / Qold);
if (Jpro < 1.f) {
Jpro = 1.f;
@ -2212,6 +2338,8 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
}
} else if (curveMode2 == ColorAppearanceParams::TC_MODE_BRIGHT) { //
float Qanc = Qpro;
float coef = ((aw + 4.f) * (4.f / c)) / 100.f;
float Qq = (float) Qpro * 327.68f * (1.f / coef);
float Qold100 = (float) Qpro / coef;
@ -2238,8 +2366,15 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
Qq = 0.7f * (Qq - Qold) + Qold; // not zero ==>artifacts
}
Qpro = (float) (Qq * (coef) / 327.68f);
Jpro = 100.f * (Qpro * Qpro) / ((4.0f / c) * (4.0f / c) * (aw + 4.0f) * (aw + 4.0f));
if (Qold == 0.f) {
Qold = 0.001f;
}
// Qpro = (float) (Qq * (coef) / 327.68f);
Qpro = Qanc * (Qq / Qold);
Jpro = Jpro * SQR (Qq / Qold);
// Jpro = 100.f * (Qpro * Qpro) / ((4.0f / c) * (4.0f / c) * (aw + 4.0f) * (aw + 4.0f));
if (t1L) { //to workaround the problem if we modify curve1-lightnees after curve2 brightness(the cat that bites its own tail!) in fact it's another type of curve only for this case
coef = 2.f; //adapt Q to J approximation
@ -2734,13 +2869,13 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
hist16JCAM[posl]++;
if (curveMode3 == ColorAppearanceParams::TC_MODE_CHROMA) {
chsacol = 327.f;
chsacol = 400.f;//327.f;
colch = ncie_C_p;
} else if (curveMode3 == ColorAppearanceParams::TC_MODE_SATUR) {
chsacol = 450.0f;
colch = 100.f * sqrtf (ncie_C_p / ncie->Q_p[i][j]);
} else { /*if(curveMode3 == ColorAppearanceParams::TC_MODE_COLORF)*/
chsacol = 327.0f;
chsacol = 400.f;//327.0f;
colch = ncie->M_p[i][j];
}

View File

@ -52,11 +52,15 @@ class ImProcFunctions
double scale;
bool multiThread;
void calcVignettingParams(int oW, int oH, const VignettingParams& vignetting, double &w2, double &h2, double& maxRadius, double &v, double &b, double &mul);
void calcVignettingParams (int oW, int oH, const VignettingParams& vignetting, double &w2, double &h2, double& maxRadius, double &v, double &b, double &mul);
void transformPreview (Imagefloat* original, Imagefloat* transformed, int cx, int cy, int sx, int sy, int oW, int oH, int fW, int fH, const LCPMapper *pLCPMap);
enum TransformMode {
TRANSFORM_PREVIEW,
TRANSFORM_HIGH_QUALITY,
TRANSFORM_HIGH_QUALITY_FULLIMAGE
};
void transformLuminanceOnly (Imagefloat* original, Imagefloat* transformed, int cx, int cy, int oW, int oH, int fW, int fH);
void transformHighQuality (Imagefloat* original, Imagefloat* transformed, int cx, int cy, int sx, int sy, int oW, int oH, int fW, int fH, const LCPMapper *pLCPMap, bool fullImage);
void transformGeneral(TransformMode mode, Imagefloat *original, Imagefloat *transformed, int cx, int cy, int sx, int sy, int oW, int oH, int fW, int fH, const LensCorrection *pLCPMap);
void sharpenHaloCtrl (float** luminance, float** blurmap, float** base, int W, int H, const SharpeningParams &sharpenParam);
void sharpenHaloCtrl (LabImage* lab, float** blurmap, float** base, int W, int H, SharpeningParams &sharpenParam);
@ -70,6 +74,7 @@ class ImProcFunctions
bool needsGradient ();
bool needsVignetting ();
bool needsLCP ();
bool needsLensfun();
// static cmsUInt8Number* Mempro = NULL;
inline void interpolateTransformCubic (Imagefloat* src, int xs, int ys, double Dx, double Dy, float *r, float *g, float *b, double mul)
@ -95,9 +100,9 @@ class ImProcFunctions
rd = gd = bd = 0.0;
for (int i = xs, ix = 0; i < xs + 4; i++, ix++) {
rd += src->r(k, i) * w[ix];
gd += src->g(k, i) * w[ix];
bd += src->b(k, i) * w[ix];
rd += src->r (k, i) * w[ix];
gd += src->g (k, i) * w[ix];
bd += src->b (k, i) * w[ix];
}
yr[kx] = rd;
@ -196,7 +201,7 @@ public:
double lumimul[3];
ImProcFunctions (const ProcParams* iparams, bool imultiThread = true)
: monitorTransform(nullptr), lab2outputTransform(nullptr), output2monitorTransform(nullptr), params(iparams), scale(1), multiThread(imultiThread), lumimul{} {}
: monitorTransform (nullptr), lab2outputTransform (nullptr), output2monitorTransform (nullptr), params (iparams), scale (1), multiThread (imultiThread), lumimul{} {}
~ImProcFunctions ();
void setScale (double iscale);
@ -207,10 +212,10 @@ public:
void firstAnalysis (const Imagefloat* const working, const ProcParams &params, LUTu & vhist16);
void updateColorProfiles (const Glib::ustring& monitorProfile, RenderingIntent monitorIntent, bool softProof, bool gamutCheck);
void rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer *pipetteBuffer, LUTf & hltonecurve, LUTf & shtonecurve, LUTf & tonecurve,
SHMap* shmap, int sat, LUTf & rCurve, LUTf & gCurve, LUTf & bCurve, float satLimit , float satLimitOpacity, const ColorGradientCurve & ctColorCurve, const OpacityCurve & ctOpacityCurve, bool opautili, LUTf & clcurve, LUTf & cl2curve, const ToneCurve & customToneCurve1, const ToneCurve & customToneCurve2,
SHMap* shmap, int sat, LUTf & rCurve, LUTf & gCurve, LUTf & bCurve, float satLimit, float satLimitOpacity, const ColorGradientCurve & ctColorCurve, const OpacityCurve & ctOpacityCurve, bool opautili, LUTf & clcurve, LUTf & cl2curve, const ToneCurve & customToneCurve1, const ToneCurve & customToneCurve2,
const ToneCurve & customToneCurvebw1, const ToneCurve & customToneCurvebw2, double &rrm, double &ggm, double &bbm, float &autor, float &autog, float &autob, DCPProfile *dcpProf, const DCPProfile::ApplyState &asIn, LUTu &histToneCurve );
void rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer *pipetteBuffer, LUTf & hltonecurve, LUTf & shtonecurve, LUTf & tonecurve,
SHMap* shmap, int sat, LUTf & rCurve, LUTf & gCurve, LUTf & bCurve, float satLimit , float satLimitOpacity, const ColorGradientCurve & ctColorCurve, const OpacityCurve & ctOpacityCurve, bool opautili, LUTf & clcurve, LUTf & cl2curve, const ToneCurve & customToneCurve1, const ToneCurve & customToneCurve2,
SHMap* shmap, int sat, LUTf & rCurve, LUTf & gCurve, LUTf & bCurve, float satLimit, float satLimitOpacity, const ColorGradientCurve & ctColorCurve, const OpacityCurve & ctOpacityCurve, bool opautili, LUTf & clcurve, LUTf & cl2curve, const ToneCurve & customToneCurve1, const ToneCurve & customToneCurve2,
const ToneCurve & customToneCurvebw1, const ToneCurve & customToneCurvebw2, double &rrm, double &ggm, double &bbm, float &autor, float &autog, float &autob,
double expcomp, int hlcompr, int hlcomprthresh, DCPProfile *dcpProf, const DCPProfile::ApplyState &asIn, LUTu &histToneCurve);
void labtoning (float r, float g, float b, float &ro, float &go, float &bo, int algm, int metchrom, int twoc, float satLimit, float satLimitOpacity, const ColorGradientCurve & ctColorCurve, const OpacityCurve & ctOpacityCurve, LUTf & clToningcurve, LUTf & cl2Toningcurve, float iplow, float iphigh, double wp[3][3], double wip[3][3] );
@ -226,17 +231,16 @@ public:
void luminanceCurve (LabImage* lold, LabImage* lnew, LUTf &curve);
void ciecam_02float (CieImage* ncie, float adap, int begh, int endh, int pW, int pwb, LabImage* lab, const ProcParams* params,
const ColorAppearance & customColCurve1, const ColorAppearance & customColCurve, const ColorAppearance & customColCurve3,
LUTu &histLCAM, LUTu &histCCAM, LUTf & CAMBrightCurveJ, LUTf & CAMBrightCurveQ, float &mean, int Iterates, int scale, bool execsharp, float &d, int rtt);
LUTu &histLCAM, LUTu &histCCAM, LUTf & CAMBrightCurveJ, LUTf & CAMBrightCurveQ, float &mean, int Iterates, int scale, bool execsharp, float &d, float &dj, float &yb, int rtt);
void ciecam_02 (CieImage* ncie, double adap, int begh, int endh, int pW, int pwb, LabImage* lab, const ProcParams* params,
const ColorAppearance & customColCurve1, const ColorAppearance & customColCurve, const ColorAppearance & customColCurve3,
LUTu &histLCAM, LUTu &histCCAM, LUTf & CAMBrightCurveJ, LUTf & CAMBrightCurveQ, float &mean, int Iterates, int scale, bool execsharp, double &d, int rtt);
LUTu &histLCAM, LUTu &histCCAM, LUTf & CAMBrightCurveJ, LUTf & CAMBrightCurveQ, float &mean, int Iterates, int scale, bool execsharp, double &d, double &dj, double &yb, int rtt);
void chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW, LabImage* lold, LabImage* lnew, LUTf &acurve, LUTf &bcurve, LUTf & satcurve, LUTf & satclcurve, LUTf &clcurve, LUTf &curve, bool utili, bool autili, bool butili, bool ccutili, bool cclutili, bool clcutili, LUTu &histCCurve, LUTu &histLurve);
void vibrance (LabImage* lab);//Jacques' vibrance
void colorCurve (LabImage* lold, LabImage* lnew);
void sharpening (LabImage* lab, float** buffer, SharpeningParams &sharpenParam);
void sharpeningcam (CieImage* ncie, float** buffer);
void transform (Imagefloat* original, Imagefloat* transformed, int cx, int cy, int sx, int sy, int oW, int oH, int fW, int fH,
double focalLen, double focalLen35mm, float focusDist, double fNumber, int rawRotationDeg, bool fullImage);
void transform (Imagefloat* original, Imagefloat* transformed, int cx, int cy, int sx, int sy, int oW, int oH, int fW, int fH, const FramesMetaData *metadata, int rawRotationDeg, bool fullImage);
float resizeScale (const ProcParams* params, int fw, int fh, int &imw, int &imh);
void lab2monitorRgb (LabImage* lab, Image8* image);
void resize (Image16* src, Image16* dst, float dScale);
@ -245,9 +249,9 @@ public:
void deconvsharpening (float** luminance, float** buffer, int W, int H, const SharpeningParams &sharpenParam);
void MLsharpen (LabImage* lab);// Manuel's clarity / sharpening
void MLmicrocontrast(float** luminance, int W, int H ); //Manuel's microcontrast
void MLmicrocontrast(LabImage* lab ); //Manuel's microcontrast
void MLmicrocontrastcam(CieImage* ncie ); //Manuel's microcontrast
void MLmicrocontrast (float** luminance, int W, int H ); //Manuel's microcontrast
void MLmicrocontrast (LabImage* lab ); //Manuel's microcontrast
void MLmicrocontrastcam (CieImage* ncie ); //Manuel's microcontrast
void impulsedenoise (LabImage* lab);//Emil's impulse denoise
void impulsedenoisecam (CieImage* ncie, float **buffers[3]);
@ -258,13 +262,13 @@ public:
void dirpyrequalizer (LabImage* lab, int scale);//Emil's wavelet
void EPDToneMapResid(float * WavCoeffs_L0, unsigned int Iterates, int skip, struct cont_params& cp, int W_L, int H_L, float max0, float min0);
float *CompressDR(float *Source, int skip, struct cont_params &cp, int W_L, int H_L, float Compression, float DetailBoost, float max0, float min0, float ave, float ah, float bh, float al, float bl, float factorx, float *Compressed);
void ContrastResid(float * WavCoeffs_L0, unsigned int Iterates, int skip, struct cont_params &cp, int W_L, int H_L, float max0, float min0, float ave, float ah, float bh, float al, float bl, float factorx);
float *ContrastDR(float *Source, int skip, struct cont_params &cp, int W_L, int H_L, float Compression, float DetailBoost, float max0, float min0, float ave, float ah, float bh, float al, float bl, float factorx, float *Contrast = nullptr);
void EPDToneMapResid (float * WavCoeffs_L0, unsigned int Iterates, int skip, struct cont_params& cp, int W_L, int H_L, float max0, float min0);
float *CompressDR (float *Source, int skip, struct cont_params &cp, int W_L, int H_L, float Compression, float DetailBoost, float max0, float min0, float ave, float ah, float bh, float al, float bl, float factorx, float *Compressed);
void ContrastResid (float * WavCoeffs_L0, unsigned int Iterates, int skip, struct cont_params &cp, int W_L, int H_L, float max0, float min0, float ave, float ah, float bh, float al, float bl, float factorx);
float *ContrastDR (float *Source, int skip, struct cont_params &cp, int W_L, int H_L, float Compression, float DetailBoost, float max0, float min0, float ave, float ah, float bh, float al, float bl, float factorx, float *Contrast = nullptr);
void EPDToneMap(LabImage *lab, unsigned int Iterates = 0, int skip = 1);
void EPDToneMapCIE(CieImage *ncie, float a_w, float c_, float w_h, int Wid, int Hei, int begh, int endh, float minQ, float maxQ, unsigned int Iterates = 0, int skip = 1);
void EPDToneMap (LabImage *lab, unsigned int Iterates = 0, int skip = 1);
void EPDToneMapCIE (CieImage *ncie, float a_w, float c_, float w_h, int Wid, int Hei, int begh, int endh, float minQ, float maxQ, unsigned int Iterates = 0, int skip = 1);
// pyramid denoise
procparams::DirPyrDenoiseParams dnparams;
@ -274,58 +278,58 @@ public:
int pitch, int scale, const int luma, const int chroma/*, LUTf & Lcurve, LUTf & abcurve*/ );
void Tile_calc (int tilesize, int overlap, int kall, int imwidth, int imheight, int &numtiles_W, int &numtiles_H, int &tilewidth, int &tileheight, int &tileWskip, int &tileHskip);
void ip_wavelet(LabImage * lab, LabImage * dst, int kall, const procparams::WaveletParams & waparams, const WavCurve & wavCLVCcurve, const WavOpacityCurveRG & waOpacityCurveRG, const WavOpacityCurveBY & waOpacityCurveBY, const WavOpacityCurveW & waOpacityCurveW, const WavOpacityCurveWL & waOpacityCurveWL, LUTf &wavclCurve, bool wavcontlutili, int skip);
void ip_wavelet (LabImage * lab, LabImage * dst, int kall, const procparams::WaveletParams & waparams, const WavCurve & wavCLVCcurve, const WavOpacityCurveRG & waOpacityCurveRG, const WavOpacityCurveBY & waOpacityCurveBY, const WavOpacityCurveW & waOpacityCurveW, const WavOpacityCurveWL & waOpacityCurveWL, LUTf &wavclCurve, bool wavcontlutili, int skip);
void WaveletcontAllL(LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_L,
struct cont_params &cp, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveW & waOpacityCurveW, const WavOpacityCurveWL & waOpacityCurveWL, FlatCurve* ChCurve, bool Chutili);
void WaveletcontAllLfinal(wavelet_decomposition &WaveletCoeffs_L, struct cont_params &cp, float *mean, float *sigma, float *MaxP, const WavOpacityCurveWL & waOpacityCurveWL);
void WaveletcontAllAB(LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_a, const WavOpacityCurveW & waOpacityCurveW,
struct cont_params &cp, const bool useChannelA);
void WaveletAandBAllAB(LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_a, wavelet_decomposition &WaveletCoeffs_b,
struct cont_params &cp, const WavOpacityCurveW & waOpacityCurveW, FlatCurve* hhcurve, bool hhutili);
void WaveletcontAllL (LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_L,
struct cont_params &cp, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveW & waOpacityCurveW, const WavOpacityCurveWL & waOpacityCurveWL, FlatCurve* ChCurve, bool Chutili);
void WaveletcontAllLfinal (wavelet_decomposition &WaveletCoeffs_L, struct cont_params &cp, float *mean, float *sigma, float *MaxP, const WavOpacityCurveWL & waOpacityCurveWL);
void WaveletcontAllAB (LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_a, const WavOpacityCurveW & waOpacityCurveW,
struct cont_params &cp, const bool useChannelA);
void WaveletAandBAllAB (LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_a, wavelet_decomposition &WaveletCoeffs_b,
struct cont_params &cp, const WavOpacityCurveW & waOpacityCurveW, FlatCurve* hhcurve, bool hhutili);
void ContAllL (float **koeLi, float *maxkoeLi, bool lipschitz, int maxlvl, LabImage * lab, float **varhue, float **varchrom, float ** WavCoeffs_L, float * WavCoeffs_L0, int level, int dir, struct cont_params &cp,
int W_L, int H_L, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveW & waOpacityCurveW, FlatCurve* ChCurve, bool Chutili);
void finalContAllL (float ** WavCoeffs_L, float * WavCoeffs_L0, int level, int dir, struct cont_params &cp,
int W_L, int H_L, float *mean, float *sigma, float *MaxP, const WavOpacityCurveWL & waOpacityCurveWL);
void ContAllAB (LabImage * lab, int maxlvl, float **varhue, float **varchrom, float ** WavCoeffs_a, float * WavCoeffs_a0, int level, int dir, const WavOpacityCurveW & waOpacityCurveW, struct cont_params &cp,
int W_ab, int H_ab, const bool useChannelA);
void Evaluate2(wavelet_decomposition &WaveletCoeffs_L,
const struct cont_params& cp, int ind, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, float madL[8][3]);
void Evaluate2 (wavelet_decomposition &WaveletCoeffs_L,
const struct cont_params& cp, int ind, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, float madL[8][3]);
void Eval2 (float ** WavCoeffs_L, int level, const struct cont_params& cp,
int W_L, int H_L, int skip_L, int ind, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, float *madL);
void Aver(float * HH_Coeffs, int datalen, float &averagePlus, float &averageNeg, float &max, float &min);
void Sigma(float * HH_Coeffs, int datalen, float averagePlus, float averageNeg, float &sigmaPlus, float &sigmaNeg);
void calckoe(float ** WavCoeffs_LL, const struct cont_params& cp, float ** koeLi, int level, int dir, int W_L, int H_L, float edd, float *maxkoeLi, float **tmC = nullptr);
void Aver (float * HH_Coeffs, int datalen, float &averagePlus, float &averageNeg, float &max, float &min);
void Sigma (float * HH_Coeffs, int datalen, float averagePlus, float averageNeg, float &sigmaPlus, float &sigmaNeg);
void calckoe (float ** WavCoeffs_LL, const struct cont_params& cp, float ** koeLi, int level, int dir, int W_L, int H_L, float edd, float *maxkoeLi, float **tmC = nullptr);
void Median_Denoise( float **src, float **dst, int width, int height, Median medianType, int iterations, int numThreads, float **buffer = nullptr);
void RGB_denoise(int kall, Imagefloat * src, Imagefloat * dst, Imagefloat * calclum, float * ch_M, float *max_r, float *max_b, bool isRAW, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, const NoiseCurve & noiseLCurve , const NoiseCurve & noiseCCurve , float &chaut, float &redaut, float &blueaut, float &maxredaut, float & maxblueaut, float &nresi, float &highresi);
void RGB_denoise_infoGamCurve(const procparams::DirPyrDenoiseParams & dnparams, const bool isRAW, LUTf &gamcurve, float &gam, float &gamthresh, float &gamslope);
void RGB_denoise_info(Imagefloat * src, Imagefloat * provicalc, bool isRAW, LUTf &gamcurve, float gam, float gamthresh, float gamslope, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float & maxblueaut, float &minredaut, float & minblueaut, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc, bool multiThread = false);
void Median_Denoise ( float **src, float **dst, int width, int height, Median medianType, int iterations, int numThreads, float **buffer = nullptr);
void RGB_denoise (int kall, Imagefloat * src, Imagefloat * dst, Imagefloat * calclum, float * ch_M, float *max_r, float *max_b, bool isRAW, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, const NoiseCurve & noiseLCurve, const NoiseCurve & noiseCCurve, float &chaut, float &redaut, float &blueaut, float &maxredaut, float & maxblueaut, float &nresi, float &highresi);
void RGB_denoise_infoGamCurve (const procparams::DirPyrDenoiseParams & dnparams, const bool isRAW, LUTf &gamcurve, float &gam, float &gamthresh, float &gamslope);
void RGB_denoise_info (Imagefloat * src, Imagefloat * provicalc, bool isRAW, LUTf &gamcurve, float gam, float gamthresh, float gamslope, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float & maxblueaut, float &minredaut, float & minblueaut, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc, bool multiThread = false);
void RGBtile_denoise (float * fLblox, int hblproc, float noisevar_Ldetail, float * nbrwt, float * blurbuffer ); //for DCT
void RGBoutput_tile_row (float *bloxrow_L, float ** Ldetail, float ** tilemask_out, int height, int width, int top );
bool WaveletDenoiseAllL(wavelet_decomposition &WaveletCoeffs_L, float *noisevarlum, float madL[8][3], float * vari, int edge);
bool WaveletDenoiseAllAB(wavelet_decomposition &WaveletCoeffs_L, wavelet_decomposition &WaveletCoeffs_ab, float *noisevarchrom, float madL[8][3], float noisevar_ab, const bool useNoiseCCurve, bool autoch, bool denoiseMethodRgb);
void WaveletDenoiseAll_info(int levwav, wavelet_decomposition &WaveletCoeffs_a,
wavelet_decomposition &WaveletCoeffs_b, float **noisevarlum, float **noisevarchrom, float **noisevarhue, int width, int height, float noisevar_abr, float noisevar_abb, LabImage * noi, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float &maxblueaut, float &minredaut, float & minblueaut, int schoice, bool autoch, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc,
float &maxchred, float &maxchblue, float &minchred, float &minchblue, int &nb, float &chau, float &chred, float &chblue, bool denoiseMethodRgb, bool multiThread);
bool WaveletDenoiseAllL (wavelet_decomposition &WaveletCoeffs_L, float *noisevarlum, float madL[8][3], float * vari, int edge);
bool WaveletDenoiseAllAB (wavelet_decomposition &WaveletCoeffs_L, wavelet_decomposition &WaveletCoeffs_ab, float *noisevarchrom, float madL[8][3], float noisevar_ab, const bool useNoiseCCurve, bool autoch, bool denoiseMethodRgb);
void WaveletDenoiseAll_info (int levwav, wavelet_decomposition &WaveletCoeffs_a,
wavelet_decomposition &WaveletCoeffs_b, float **noisevarlum, float **noisevarchrom, float **noisevarhue, int width, int height, float noisevar_abr, float noisevar_abb, LabImage * noi, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float &maxblueaut, float &minredaut, float & minblueaut, int schoice, bool autoch, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc,
float &maxchred, float &maxchblue, float &minchred, float &minchblue, int &nb, float &chau, float &chred, float &chblue, bool denoiseMethodRgb, bool multiThread);
bool WaveletDenoiseAll_BiShrinkL(wavelet_decomposition &WaveletCoeffs_L, float *noisevarlum, float madL[8][3]);
bool WaveletDenoiseAll_BiShrinkAB(wavelet_decomposition &WaveletCoeffs_L, wavelet_decomposition &WaveletCoeffs_ab, float *noisevarchrom, float madL[8][3], float noisevar_ab,
const bool useNoiseCCurve, bool autoch, bool denoiseMethodRgb);
void ShrinkAllL(wavelet_decomposition &WaveletCoeffs_L, float **buffer, int level, int dir, float *noisevarlum, float * madL, float * vari, int edge);
void ShrinkAllAB(wavelet_decomposition &WaveletCoeffs_L, wavelet_decomposition &WaveletCoeffs_ab, float **buffer, int level, int dir,
float *noisevarchrom, float noisevar_ab, const bool useNoiseCCurve, bool autoch, bool denoiseMethodRgb, float * madL, float * madaab = nullptr, bool madCalculated = false);
void ShrinkAll_info(float ** WavCoeffs_a, float ** WavCoeffs_b, int level,
int W_ab, int H_ab, int skip_ab, float **noisevarlum, float **noisevarchrom, float **noisevarhue, int width, int height, float noisevar_abr, float noisevar_abb, LabImage * noi, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float &maxblueaut, float &minredaut, float &minblueaut, bool autoch, int schoice, int lvl, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc,
float &maxchred, float &maxchblue, float &minchred, float &minchblue, int &nb, float &chau, float &chred, float &chblue, bool denoiseMethodRgb, bool multiThread);
void Noise_residualAB(wavelet_decomposition &WaveletCoeffs_ab, float &chresid, float &chmaxresid, bool denoiseMethodRgb);
bool WaveletDenoiseAll_BiShrinkL (wavelet_decomposition &WaveletCoeffs_L, float *noisevarlum, float madL[8][3]);
bool WaveletDenoiseAll_BiShrinkAB (wavelet_decomposition &WaveletCoeffs_L, wavelet_decomposition &WaveletCoeffs_ab, float *noisevarchrom, float madL[8][3], float noisevar_ab,
const bool useNoiseCCurve, bool autoch, bool denoiseMethodRgb);
void ShrinkAllL (wavelet_decomposition &WaveletCoeffs_L, float **buffer, int level, int dir, float *noisevarlum, float * madL, float * vari, int edge);
void ShrinkAllAB (wavelet_decomposition &WaveletCoeffs_L, wavelet_decomposition &WaveletCoeffs_ab, float **buffer, int level, int dir,
float *noisevarchrom, float noisevar_ab, const bool useNoiseCCurve, bool autoch, bool denoiseMethodRgb, float * madL, float * madaab = nullptr, bool madCalculated = false);
void ShrinkAll_info (float ** WavCoeffs_a, float ** WavCoeffs_b, int level,
int W_ab, int H_ab, int skip_ab, float **noisevarlum, float **noisevarchrom, float **noisevarhue, int width, int height, float noisevar_abr, float noisevar_abb, LabImage * noi, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float &maxblueaut, float &minredaut, float &minblueaut, bool autoch, int schoice, int lvl, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc,
float &maxchred, float &maxchblue, float &minchred, float &minchblue, int &nb, float &chau, float &chred, float &chblue, bool denoiseMethodRgb, bool multiThread);
void Noise_residualAB (wavelet_decomposition &WaveletCoeffs_ab, float &chresid, float &chmaxresid, bool denoiseMethodRgb);
void calcautodn_info (float &chaut, float &delta, int Nb, int levaut, float maxmax, float lumema, float chromina, int mode, int lissage, float redyel, float skinc, float nsknc);
float MadMax(float * DataList, int &max, int datalen);
float Mad(float * DataList, const int datalen);
float MadRgb(float * DataList, const int datalen);
float MadMax (float * DataList, int &max, int datalen);
float Mad (float * DataList, const int datalen);
float MadRgb (float * DataList, const int datalen);
// pyramid wavelet
void dirpyr_equalizer (float ** src, float ** dst, int srcwidth, int srcheight, float ** l_a, float ** l_b, float ** dest_a, float ** dest_b, const double * mult, const double dirpyrThreshold, const double skinprot, const bool gamutlab, float b_l, float t_l, float t_r, float b_r, int choice, int scale);//Emil's directional pyramid wavelet
@ -340,20 +344,20 @@ public:
void PF_correct_RT (LabImage * src, LabImage * dst, double radius, int thresh);
void PF_correct_RTcam (CieImage * src, CieImage * dst, double radius, int thresh);
void Badpixelscam(CieImage * src, CieImage * dst, double radius, int thresh, int mode, float b_l, float t_l, float t_r, float b_r, float skinprot, float chrom, int hotbad);
void BadpixelsLab(LabImage * src, LabImage * dst, double radius, int thresh, int mode, float b_l, float t_l, float t_r, float b_r, float skinprot, float chrom);
void Badpixelscam (CieImage * src, CieImage * dst, double radius, int thresh, int mode, float b_l, float t_l, float t_r, float b_r, float skinprot, float chrom, int hotbad);
void BadpixelsLab (LabImage * src, LabImage * dst, double radius, int thresh, int mode, float b_l, float t_l, float t_r, float b_r, float skinprot, float chrom);
Image8* lab2rgb (LabImage* lab, int cx, int cy, int cw, int ch, const procparams::ColorManagementParams &icm);
Image16* lab2rgb16 (LabImage* lab, int cx, int cy, int cw, int ch, const procparams::ColorManagementParams &icm, bool bw, GammaValues *ga=nullptr);
Image16* lab2rgb16 (LabImage* lab, int cx, int cy, int cw, int ch, const procparams::ColorManagementParams &icm, bool bw, GammaValues *ga = nullptr);
// CieImage *ciec;
bool transCoord (int W, int H, int x, int y, int w, int h, int& xv, int& yv, int& wv, int& hv, double ascaleDef = -1, const LCPMapper *pLCPMap = nullptr);
bool transCoord (int W, int H, const std::vector<Coord2D> &src, std::vector<Coord2D> &red, std::vector<Coord2D> &green, std::vector<Coord2D> &blue, double ascaleDef = -1, const LCPMapper *pLCPMap = nullptr);
bool transCoord (int W, int H, int x, int y, int w, int h, int& xv, int& yv, int& wv, int& hv, double ascaleDef = -1, const LensCorrection *pLCPMap = nullptr);
bool transCoord (int W, int H, const std::vector<Coord2D> &src, std::vector<Coord2D> &red, std::vector<Coord2D> &green, std::vector<Coord2D> &blue, double ascaleDef = -1, const LensCorrection *pLCPMap = nullptr);
static void getAutoExp (const LUTu & histogram, int histcompr, double defgain, double clip, double& expcomp, int& bright, int& contr, int& black, int& hlcompr, int& hlcomprthresh);
static double getAutoDistor (const Glib::ustring& fname, int thumb_size);
double getTransformAutoFill (int oW, int oH, const LCPMapper *pLCPMap = nullptr);
void rgb2lab(const Imagefloat &src, LabImage &dst, const Glib::ustring &workingSpace);
void lab2rgb(const LabImage &src, Imagefloat &dst, const Glib::ustring &workingSpace);
double getTransformAutoFill (int oW, int oH, const LensCorrection *pLCPMap = nullptr);
void rgb2lab (const Imagefloat &src, LabImage &dst, const Glib::ustring &workingSpace);
void lab2rgb (const LabImage &src, Imagefloat &dst, const Glib::ustring &workingSpace);
};
}
#endif

View File

@ -30,6 +30,7 @@
#include "rtthumbnail.h"
#include "profilestore.h"
#include "../rtgui/threadutils.h"
#include "rtlensfun.h"
namespace rtengine
{
@ -50,6 +51,7 @@ int init (const Settings* s, Glib::ustring baseDir, Glib::ustring userSettingsDi
Color::init ();
PerceptualToneCurve::init ();
RawImageSource::init ();
LFDatabase::init(s->lensfunDbDirectory);
delete lcmsMutex;
lcmsMutex = new MyMutex;
dfm.init( s->darkFramesPath );

View File

@ -24,6 +24,7 @@
#include "mytime.h"
#include "rt_math.h"
#include "sleef.c"
#include "rtlensfun.h"
using namespace std;
@ -86,18 +87,6 @@ float normn (float a, float b, int n)
}
void correct_distortion(const rtengine::LCPMapper *lcp, double &x, double &y,
int cx, int cy, double scale)
{
assert (lcp);
x += cx;
y += cy;
lcp->correctDistortion(x, y, scale);
x -= (cx * scale);
y -= (cy * scale);
}
}
namespace rtengine
@ -107,7 +96,7 @@ namespace rtengine
#define CLIPTOC(a,b,c,d) ((a)>=(b)?((a)<=(c)?(a):(d=true,(c))):(d=true,(b)))
bool ImProcFunctions::transCoord (int W, int H, const std::vector<Coord2D> &src, std::vector<Coord2D> &red, std::vector<Coord2D> &green, std::vector<Coord2D> &blue, double ascaleDef,
const LCPMapper *pLCPMap)
const LensCorrection *pLCPMap)
{
bool clipped = false;
@ -157,7 +146,7 @@ bool ImProcFunctions::transCoord (int W, int H, const std::vector<Coord2D> &src,
double x_d = src[i].x, y_d = src[i].y;
if (pLCPMap && params->lensProf.useDist) {
correct_distortion (pLCPMap, x_d, y_d, 0, 0, ascale);
pLCPMap->correctDistortion(x_d, y_d, 0, 0, ascale);
} else {
x_d *= ascale;
y_d *= ascale;
@ -209,7 +198,7 @@ bool ImProcFunctions::transCoord (int W, int H, const std::vector<Coord2D> &src,
}
// Transform all corners and critical sidelines of an image
bool ImProcFunctions::transCoord (int W, int H, int x, int y, int w, int h, int& xv, int& yv, int& wv, int& hv, double ascaleDef, const LCPMapper *pLCPMap)
bool ImProcFunctions::transCoord (int W, int H, int x, int y, int w, int h, int& xv, int& yv, int& wv, int& hv, double ascaleDef, const LensCorrection *pLCPMap)
{
const int DivisionsPerBorder = 32;
@ -307,32 +296,44 @@ bool ImProcFunctions::transCoord (int W, int H, int x, int y, int w, int h, int&
}
void ImProcFunctions::transform (Imagefloat* original, Imagefloat* transformed, int cx, int cy, int sx, int sy, int oW, int oH, int fW, int fH,
double focalLen, double focalLen35mm, float focusDist, double fNumber, int rawRotationDeg, bool fullImage)
const FramesMetaData *metadata,
int rawRotationDeg, bool fullImage)
{
double focalLen = metadata->getFocalLen();
double focalLen35mm = metadata->getFocalLen35mm();
float focusDist = metadata->getFocusDist();
double fNumber = metadata->getFNumber();
LCPMapper *pLCPMap = nullptr;
std::unique_ptr<const LensCorrection> pLCPMap;
if (needsLCP()) { // don't check focal length to allow distortion correction for lenses without chip
LCPProfile *pLCPProf = lcpStore->getProfile (params->lensProf.lcpFile);
if (needsLensfun()) {
pLCPMap = std::move(LFDatabase::findModifier(params->lensProf, metadata, oW, oH, params->coarse, rawRotationDeg));
} else if (needsLCP()) { // don't check focal length to allow distortion correction for lenses without chip
const std::shared_ptr<LCPProfile> pLCPProf = LCPStore::getInstance()->getProfile (params->lensProf.lcpFile);
if (pLCPProf) {
pLCPMap = new LCPMapper (pLCPProf, focalLen, focalLen35mm,
focusDist, fNumber, false,
params->lensProf.useDist,
oW, oH, params->coarse, rawRotationDeg);
pLCPMap.reset(
new LCPMapper (pLCPProf, focalLen, focalLen35mm,
focusDist, fNumber, false,
params->lensProf.useDist,
oW, oH, params->coarse, rawRotationDeg
)
);
}
}
if (! (needsCA() || needsDistortion() || needsRotation() || needsPerspective() || needsLCP()) && (needsVignetting() || needsPCVignetting() || needsGradient())) {
if (! (needsCA() || needsDistortion() || needsRotation() || needsPerspective() || needsLCP() || needsLensfun()) && (needsVignetting() || needsPCVignetting() || needsGradient())) {
transformLuminanceOnly (original, transformed, cx, cy, oW, oH, fW, fH);
} else if (!needsCA() && scale != 1) {
transformPreview (original, transformed, cx, cy, sx, sy, oW, oH, fW, fH, pLCPMap);
} else {
transformHighQuality (original, transformed, cx, cy, sx, sy, oW, oH, fW, fH, pLCPMap, fullImage);
}
if (pLCPMap) {
delete pLCPMap;
TransformMode mode;
if (!needsCA() && scale != 1) {
mode = TRANSFORM_PREVIEW;
} else if (!fullImage) {
mode = TRANSFORM_HIGH_QUALITY;
} else {
mode = TRANSFORM_HIGH_QUALITY_FULLIMAGE;
}
transformGeneral(mode, original, transformed, cx, cy, sx, sy, oW, oH, fW, fH, pLCPMap.get());
}
}
@ -721,9 +722,8 @@ void ImProcFunctions::transformLuminanceOnly (Imagefloat* original, Imagefloat*
}
}
// Transform WITH scaling (opt.) and CA, cubic interpolation
void ImProcFunctions::transformHighQuality (Imagefloat* original, Imagefloat* transformed, int cx, int cy, int sx, int sy, int oW, int oH, int fW, int fH,
const LCPMapper *pLCPMap, bool fullImage)
void ImProcFunctions::transformGeneral(ImProcFunctions::TransformMode mode, Imagefloat *original, Imagefloat *transformed, int cx, int cy, int sx, int sy, int oW, int oH, int fW, int fH, const LensCorrection *pLCPMap)
{
double w2 = (double) oW / 2.0 - 0.5;
double h2 = (double) oH / 2.0 - 0.5;
@ -781,17 +781,38 @@ void ImProcFunctions::transformHighQuality (Imagefloat* original, Imagefloat* tr
oH * tan (hpalpha) * sqrt (SQR (4 * maxRadius) + SQR (oH * tan (hpalpha)))) / (SQR (maxRadius) * 8)));
double hpcospt = (hpdeg >= 0 ? 1.0 : -1.0) * cos (hpteta), hptanpt = tan (hpteta);
double ascale = params->commonTrans.autofill ? getTransformAutoFill (oW, oH, true /*fullImage*/ ? pLCPMap : nullptr) : 1.0;
double ascale = params->commonTrans.autofill ? getTransformAutoFill (oW, oH, pLCPMap) : 1.0;
// smaller crop images are a problem, so only when processing fully
bool enableLCPCA = pLCPMap && params->lensProf.useCA && fullImage && pLCPMap->enableCA;
bool enableLCPDist = pLCPMap && params->lensProf.useDist; // && fullImage;
bool enableLCPCA = false;
bool enableLCPDist = false;
bool enableCA = false;
if (enableLCPCA) {
enableLCPDist = false;
switch (mode) {
case ImProcFunctions::TRANSFORM_HIGH_QUALITY_FULLIMAGE: {
enableLCPCA = pLCPMap && params->lensProf.useCA && pLCPMap->isCACorrectionAvailable();
}
//no break on purpose
case ImProcFunctions::TRANSFORM_HIGH_QUALITY: {
enableLCPDist = pLCPMap && params->lensProf.useDist;
if (enableLCPCA) {
enableLCPDist = false;
}
enableCA = enableLCPCA || needsCA();
}
//no break on purpose
default:
case ImProcFunctions::TRANSFORM_PREVIEW: {
enableLCPDist = pLCPMap && params->lensProf.useDist;
break;
}
}
bool enableCA = enableLCPCA || needsCA();
if (!enableCA) {
chDist[0] = 0.0;
}
// main cycle
bool darkening = (params->vignetting.amount <= 0.0);
@ -802,7 +823,7 @@ void ImProcFunctions::transformHighQuality (Imagefloat* original, Imagefloat* tr
double x_d = x, y_d = y;
if (enableLCPDist) {
correct_distortion(pLCPMap, x_d, y_d, cx, cy, ascale); // must be first transform
pLCPMap->correctDistortion(x_d, y_d, cx, cy, ascale); // must be first transform
} else {
x_d *= ascale;
y_d *= ascale;
@ -895,6 +916,10 @@ void ImProcFunctions::transformHighQuality (Imagefloat* original, Imagefloat* tr
// all interpolation pixels inside image
if (enableCA) {
interpolateTransformChannelsCubic (chOrig[c], xc - 1, yc - 1, Dx, Dy, & (chTrans[c][y][x]), vignmul);
} else if (mode == ImProcFunctions::TRANSFORM_PREVIEW) {
transformed->r (y, x) = vignmul * (original->r (yc, xc) * (1.0 - Dx) * (1.0 - Dy) + original->r (yc, xc + 1) * Dx * (1.0 - Dy) + original->r (yc + 1, xc) * (1.0 - Dx) * Dy + original->r (yc + 1, xc + 1) * Dx * Dy);
transformed->g (y, x) = vignmul * (original->g (yc, xc) * (1.0 - Dx) * (1.0 - Dy) + original->g (yc, xc + 1) * Dx * (1.0 - Dy) + original->g (yc + 1, xc) * (1.0 - Dx) * Dy + original->g (yc + 1, xc + 1) * Dx * Dy);
transformed->b (y, x) = vignmul * (original->b (yc, xc) * (1.0 - Dx) * (1.0 - Dy) + original->b (yc, xc + 1) * Dx * (1.0 - Dy) + original->b (yc + 1, xc) * (1.0 - Dx) * Dy + original->b (yc + 1, xc + 1) * Dx * Dy);
} else {
interpolateTransformCubic (original, xc - 1, yc - 1, Dx, Dy, & (transformed->r (y, x)), & (transformed->g (y, x)), & (transformed->b (y, x)), vignmul);
}
@ -928,168 +953,8 @@ void ImProcFunctions::transformHighQuality (Imagefloat* original, Imagefloat* tr
}
}
// Transform WITH scaling, WITHOUT CA, simple (and fast) interpolation. Used for preview
void ImProcFunctions::transformPreview (Imagefloat* original, Imagefloat* transformed, int cx, int cy, int sx, int sy, int oW, int oH, int fW, int fH, const LCPMapper *pLCPMap)
{
double w2 = (double) oW / 2.0 - 0.5;
double h2 = (double) oH / 2.0 - 0.5;
double vig_w2, vig_h2, maxRadius, v, b, mul;
calcVignettingParams (oW, oH, params->vignetting, vig_w2, vig_h2, maxRadius, v, b, mul);
struct grad_params gp;
if (needsGradient()) {
calcGradientParams (oW, oH, params->gradient, gp);
}
struct pcv_params pcv;
if (needsPCVignetting()) {
calcPCVignetteParams (fW, fH, oW, oH, params->pcvignette, params->crop, pcv);
}
// auxiliary variables for distortion correction
bool needsDist = needsDistortion(); // for performance
double distAmount = params->distortion.amount;
// auxiliary variables for rotation
double cost = cos (params->rotate.degree * rtengine::RT_PI / 180.0);
double sint = sin (params->rotate.degree * rtengine::RT_PI / 180.0);
// auxiliary variables for vertical perspective correction
double vpdeg = params->perspective.vertical / 100.0 * 45.0;
double vpalpha = (90 - vpdeg) / 180.0 * rtengine::RT_PI;
double vpteta = fabs (vpalpha - rtengine::RT_PI / 2) < 3e-4 ? 0.0 : acos ((vpdeg > 0 ? 1.0 : -1.0) * sqrt ((-oW * oW * tan (vpalpha) * tan (vpalpha) + (vpdeg > 0 ? 1.0 : -1.0) * oW * tan (vpalpha) * sqrt (16 * maxRadius * maxRadius + oW * oW * tan (vpalpha) * tan (vpalpha))) / (maxRadius * maxRadius * 8)));
double vpcospt = (vpdeg >= 0 ? 1.0 : -1.0) * cos (vpteta), vptanpt = tan (vpteta);
// auxiliary variables for horizontal perspective correction
double hpdeg = params->perspective.horizontal / 100.0 * 45.0;
double hpalpha = (90 - hpdeg) / 180.0 * rtengine::RT_PI;
double hpteta = fabs (hpalpha - rtengine::RT_PI / 2) < 3e-4 ? 0.0 : acos ((hpdeg > 0 ? 1.0 : -1.0) * sqrt ((-oH * oH * tan (hpalpha) * tan (hpalpha) + (hpdeg > 0 ? 1.0 : -1.0) * oH * tan (hpalpha) * sqrt (16 * maxRadius * maxRadius + oH * oH * tan (hpalpha) * tan (hpalpha))) / (maxRadius * maxRadius * 8)));
double hpcospt = (hpdeg >= 0 ? 1.0 : -1.0) * cos (hpteta), hptanpt = tan (hpteta);
double ascale = params->commonTrans.autofill ? getTransformAutoFill (oW, oH, pLCPMap) : 1.0;
bool darkening = (params->vignetting.amount <= 0.0);
// main cycle
#pragma omp parallel for if (multiThread)
for (int y = 0; y < transformed->getHeight(); y++) {
for (int x = 0; x < transformed->getWidth(); x++) {
double x_d = x, y_d = y;
if (pLCPMap && params->lensProf.useDist) {
correct_distortion(pLCPMap, x_d, y_d, cx, cy, ascale); // must be first transform
} else {
x_d *= ascale;
y_d *= ascale;
}
x_d += ascale * (cx - w2); // centering x coord & scale
y_d += ascale * (cy - h2); // centering y coord & scale
double vig_x_d = 0., vig_y_d = 0.;
if (needsVignetting()) {
vig_x_d = ascale * (x + cx - vig_w2); // centering x coord & scale
vig_y_d = ascale * (y + cy - vig_h2); // centering y coord & scale
}
if (needsPerspective()) {
// horizontal perspective transformation
y_d *= maxRadius / (maxRadius + x_d * hptanpt);
x_d *= maxRadius * hpcospt / (maxRadius + x_d * hptanpt);
// vertical perspective transformation
x_d *= maxRadius / (maxRadius - y_d * vptanpt);
y_d *= maxRadius * vpcospt / (maxRadius - y_d * vptanpt);
}
// rotate
double Dx = x_d * cost - y_d * sint;
double Dy = x_d * sint + y_d * cost;
// distortion correction
double s = 1;
if (needsDist) {
double r = sqrt (Dx * Dx + Dy * Dy) / maxRadius; // sqrt is slow
s = 1.0 - distAmount + distAmount * r ;
Dx *= s;
Dy *= s;
}
double r2 = 0.;
if (needsVignetting()) {
double vig_Dx = vig_x_d * cost - vig_y_d * sint;
double vig_Dy = vig_x_d * sint + vig_y_d * cost;
r2 = sqrt (vig_Dx * vig_Dx + vig_Dy * vig_Dy);
}
// de-center
Dx += w2;
Dy += h2;
// Extract integer and fractions of source screen coordinates
int xc = (int)Dx;
Dx -= (double)xc;
xc -= sx;
int yc = (int)Dy;
Dy -= (double)yc;
yc -= sy;
// Convert only valid pixels
if (yc >= 0 && yc < original->getHeight() && xc >= 0 && xc < original->getWidth()) {
// multiplier for vignetting correction
double vignmul = 1.0;
if (needsVignetting()) {
if (darkening) {
vignmul /= std::max (v + mul * tanh (b * (maxRadius - s * r2) / maxRadius), 0.001);
} else {
vignmul = v + mul * tanh (b * (maxRadius - s * r2) / maxRadius);
}
}
if (needsGradient()) {
vignmul *= calcGradientFactor (gp, cx + x, cy + y);
}
if (needsPCVignetting()) {
vignmul *= calcPCVignetteFactor (pcv, cx + x, cy + y);
}
if (yc < original->getHeight() - 1 && xc < original->getWidth() - 1) {
// all interpolation pixels inside image
transformed->r (y, x) = vignmul * (original->r (yc, xc) * (1.0 - Dx) * (1.0 - Dy) + original->r (yc, xc + 1) * Dx * (1.0 - Dy) + original->r (yc + 1, xc) * (1.0 - Dx) * Dy + original->r (yc + 1, xc + 1) * Dx * Dy);
transformed->g (y, x) = vignmul * (original->g (yc, xc) * (1.0 - Dx) * (1.0 - Dy) + original->g (yc, xc + 1) * Dx * (1.0 - Dy) + original->g (yc + 1, xc) * (1.0 - Dx) * Dy + original->g (yc + 1, xc + 1) * Dx * Dy);
transformed->b (y, x) = vignmul * (original->b (yc, xc) * (1.0 - Dx) * (1.0 - Dy) + original->b (yc, xc + 1) * Dx * (1.0 - Dy) + original->b (yc + 1, xc) * (1.0 - Dx) * Dy + original->b (yc + 1, xc + 1) * Dx * Dy);
} else {
// edge pixels
int y1 = LIM (yc, 0, original->getHeight() - 1);
int y2 = LIM (yc + 1, 0, original->getHeight() - 1);
int x1 = LIM (xc, 0, original->getWidth() - 1);
int x2 = LIM (xc + 1, 0, original->getWidth() - 1);
transformed->r (y, x) = vignmul * (original->r (y1, x1) * (1.0 - Dx) * (1.0 - Dy) + original->r (y1, x2) * Dx * (1.0 - Dy) + original->r (y2, x1) * (1.0 - Dx) * Dy + original->r (y2, x2) * Dx * Dy);
transformed->g (y, x) = vignmul * (original->g (y1, x1) * (1.0 - Dx) * (1.0 - Dy) + original->g (y1, x2) * Dx * (1.0 - Dy) + original->g (y2, x1) * (1.0 - Dx) * Dy + original->g (y2, x2) * Dx * Dy);
transformed->b (y, x) = vignmul * (original->b (y1, x1) * (1.0 - Dx) * (1.0 - Dy) + original->b (y1, x2) * Dx * (1.0 - Dy) + original->b (y2, x1) * (1.0 - Dx) * Dy + original->b (y2, x2) * Dx * Dy);
}
} else {
// not valid (source pixel x,y not inside source image, etc.)
transformed->r (y, x) = 0;
transformed->g (y, x) = 0;
transformed->b (y, x) = 0;
}
}
}
}
double ImProcFunctions::getTransformAutoFill (int oW, int oH, const LCPMapper *pLCPMap)
double ImProcFunctions::getTransformAutoFill (int oW, int oH, const LensCorrection *pLCPMap)
{
if (!needsCA() && !needsDistortion() && !needsRotation() && !needsPerspective() && (!params->lensProf.useDist || pLCPMap == nullptr)) {
return 1;
@ -1150,12 +1015,17 @@ bool ImProcFunctions::needsVignetting ()
bool ImProcFunctions::needsLCP ()
{
return params->lensProf.lcpFile.length() > 0;
return params->lensProf.useLcp();
}
bool ImProcFunctions::needsLensfun()
{
return params->lensProf.useLensfun();
}
bool ImProcFunctions::needsTransform ()
{
return needsCA () || needsDistortion () || needsRotation () || needsPerspective () || needsGradient () || needsPCVignetting () || needsVignetting () || needsLCP();
return needsCA () || needsDistortion () || needsRotation () || needsPerspective () || needsGradient () || needsPCVignetting () || needsVignetting () || needsLCP() || needsLensfun();
}

File diff suppressed because it is too large Load Diff

View File

@ -21,27 +21,45 @@
#include <array>
#include <map>
#include <memory>
#include <string>
#include <sstream>
#include <glibmm.h>
#include <expat.h>
#include "cache.h"
#include "imagefloat.h"
#include "opthelper.h"
namespace rtengine
{
enum class LCPCorrectionMode {
VIGNETTE,
DISTORTION,
CA
};
// Perspective model common data, also used for Vignette and Fisheye
class LCPModelCommon final
{
public:
LCPModelCommon();
bool empty() const; // is it empty
void print() const; // printf all values
void merge(const LCPModelCommon& a, const LCPModelCommon& b, float facA);
void prepareParams(int fullWidth, int fullHeight, float focalLength, float focalLength35mm, float sensorFormatFactor, bool swapXY, bool mirrorX, bool mirrorY);
void prepareParams(
int fullWidth,
int fullHeight,
float focalLength,
float focalLength35mm,
float sensorFormatFactor,
bool swapXY,
bool mirrorX,
bool mirrorY
);
//private:
using Param = std::array<float, 5>;
@ -66,97 +84,125 @@ public:
VignParam vign_param;
};
class LCPPersModel
{
public:
float focLen, focDist, aperture; // this is what it refers to
LCPModelCommon base; // base perspective correction
LCPModelCommon chromRG, chromG, chromBG; // red/green, green, blue/green (may be empty)
LCPModelCommon vignette; // vignette (may be empty)
LCPPersModel();
bool hasModeData(int mode) const;
void print() const;
};
class LCPProfile
{
// Temporary data for parsing
bool inCamProfiles, firstLIDone, inPerspect, inAlternateLensID, inAlternateLensNames;
char lastTag[256], inInvalidTag[256];
LCPPersModel* pCurPersModel;
LCPModelCommon* pCurCommon;
static void XMLCALL XmlStartHandler(void *pLCPProfile, const char *el, const char **attr);
static void XMLCALL XmlTextHandler (void *pLCPProfile, const XML_Char *s, int len);
static void XMLCALL XmlEndHandler (void *pLCPProfile, const char *el);
int filterBadFrames(double maxAvgDevFac, int minFramesLeft);
void handle_text(std::string text);
std::ostringstream textbuf;
public:
explicit LCPProfile(const Glib::ustring& fname);
~LCPProfile();
void calcParams(
LCPCorrectionMode mode,
float focalLength,
float focusDist,
float aperture,
LCPModelCommon* pCorr1,
LCPModelCommon* pCorr2,
LCPModelCommon *pCorr3
) const; // Interpolates between the persModels frames
void print() const;
//private:
// Common data
Glib::ustring profileName, lensPrettyName, cameraPrettyName, lens, camera; // lens/camera(=model) can be auto-matched with DNG
bool isRaw, isFisheye;
Glib::ustring profileName;
Glib::ustring lensPrettyName;
Glib::ustring cameraPrettyName;
Glib::ustring lens;
Glib::ustring camera; // lens/camera(=model) can be auto-matched with DNG
bool isRaw;
bool isFisheye;
float sensorFormatFactor;
int persModelCount;
private:
class LCPPersModel;
int filterBadFrames(LCPCorrectionMode mode, double maxAvgDevFac, int minFramesLeft);
void handle_text(const std::string& text);
static void XMLCALL XmlStartHandler(void* pLCPProfile, const char* el, const char** attr);
static void XMLCALL XmlTextHandler(void* pLCPProfile, const XML_Char* s, int len);
static void XMLCALL XmlEndHandler(void* pLCPProfile, const char* el);
// Temporary data for parsing
bool inCamProfiles;
bool firstLIDone;
bool inPerspect;
bool inAlternateLensID;
bool inAlternateLensNames;
char lastTag[256];
char inInvalidTag[256];
LCPPersModel* pCurPersModel;
LCPModelCommon* pCurCommon;
std::ostringstream textbuf;
// The correction frames
static const int MaxPersModelCount = 3000;
static constexpr int MaxPersModelCount = 3000;
LCPPersModel* aPersModel[MaxPersModelCount]; // Do NOT use std::list or something, it's buggy in GCC!
explicit LCPProfile(const Glib::ustring &fname);
~LCPProfile();
void calcParams(int mode, float focalLength, float focusDist, float aperture, LCPModelCommon *pCorr1, LCPModelCommon *pCorr2, LCPModelCommon *pCorr3) const; // Interpolates between the persModels frames
void print() const;
};
class LCPStore
{
MyMutex mtx;
public:
static LCPStore* getInstance();
bool isValidLCPFileName(const Glib::ustring& filename) const;
std::shared_ptr<LCPProfile> getProfile(const Glib::ustring& filename) const;
Glib::ustring getDefaultCommonDirectory() const;
private:
LCPStore(unsigned int _cache_size = 32);
// Maps file name to profile as cache
std::map<Glib::ustring, LCPProfile*> profileCache;
public:
~LCPStore();
Glib::ustring getDefaultCommonDirectory() const;
bool isValidLCPFileName(Glib::ustring filename) const;
LCPProfile* getProfile(Glib::ustring filename);
static LCPStore* getInstance();
mutable Cache<Glib::ustring, std::shared_ptr<LCPProfile>> cache;
};
#define lcpStore LCPStore::getInstance()
class LensCorrection {
public:
virtual ~LensCorrection() {}
virtual void correctDistortion(double &x, double &y, int cx, int cy, double scale) const = 0;
virtual bool isCACorrectionAvailable() const = 0;
virtual void correctCA(double &x, double &y, int channel) const = 0;
virtual void processVignetteLine(int width, int y, float *line) const = 0;
virtual void processVignetteLine3Channels(int width, int y, float *line) const = 0;
};
// Once precalculated class to correct a point
class LCPMapper
class LCPMapper: public LensCorrection
{
public:
// Precalculates the mapper
LCPMapper(
const std::shared_ptr<LCPProfile>& pProf,
float focalLength,
float focalLength35mm,
float focusDist,
float aperture,
bool vignette,
bool useCADistP,
int fullWidth,
int fullHeight,
const CoarseTransformParams& coarse,
int rawRotationDeg
);
void correctDistortion(double &x, double &y, int cx, int cy, double scale) const; // MUST be the first stage
bool isCACorrectionAvailable() const;
void correctCA(double& x, double& y, int channel) const;
void processVignetteLine(int width, int y, float* line) const;
void processVignetteLine3Channels(int width, int y, float* line) const;
private:
bool enableCA; // is the mapper capable if CA correction?
bool useCADist; // should the distortion in the CA info be used?
bool swapXY;
LCPModelCommon mc;
LCPModelCommon chrom[3]; // in order RedGreen/Green/BlueGreen
bool isFisheye;
public:
bool enableCA; // is the mapper capable if CA correction?
// precalculates the mapper.
LCPMapper(LCPProfile* pProf, float focalLength, float focalLength35mm, float focusDist, float aperture, bool vignette, bool useCADistP, int fullWidth, int fullHeight,
const CoarseTransformParams& coarse, int rawRotationDeg);
void correctDistortion(double& x, double& y, double scale) const; // MUST be the first stage
void correctCA(double& x, double& y, int channel) const;
void processVignetteLine(int width, int y, float *line) const;
void processVignetteLine3Channels(int width, int y, float *line) const;
};
}

View File

@ -505,6 +505,16 @@ enum ProcEvent {
EvCATtempout = 475,
EvCATgreenout = 476,
EvCATybout = 477,
EvCATDegreeout = 478,
EvCATAutoDegreeout = 479,
EvCATtempsc = 480,
EvCATgreensc = 481,
EvCATybscen = 482,
EvCATAutoyb = 483,
// profiled lens correction new events
EvLensCorrMode = 484,
EvLensCorrLensfunCamera = 485,
EvLensCorrLensfunLens = 486,
NUMOFEVENTS

View File

@ -52,6 +52,7 @@ const int br = (int) options.rtSettings.bot_right;
const int tl = (int) options.rtSettings.top_left;
const int bl = (int) options.rtSettings.bot_left;
const char *LensProfParams::methodstring[static_cast<size_t>(LensProfParams::eLcMode::LC_LCP) + 1u] = {"none", "lfauto", "lfmanual", "lcp"};
const char *RAWParams::BayerSensor::methodstring[RAWParams::BayerSensor::numMethods] = {"amaze", "igv", "lmmse", "eahd", "hphd", "vng4", "dcb", "ahd", "fast", "mono", "none", "pixelshift" };
const char *RAWParams::XTransSensor::methodstring[RAWParams::XTransSensor::numMethods] = {"3-pass (best)", "1-pass (medium)", "fast", "mono", "none" };
@ -919,9 +920,13 @@ void ToneCurveParams::setDefaults()
void LensProfParams::setDefaults()
{
lcMode = eLcMode::LC_NOCORRECTION;
lcpFile = "";
useDist = useVign = true;
useCA = false;
lfCameraMake = "";
lfCameraModel = "";
lfLens = "";
}
void CoarseTransformParams::setDefaults()
@ -1144,26 +1149,31 @@ void ProcParams::setDefaults ()
vibrance.skintonescurve.clear ();
vibrance.skintonescurve.push_back (DCT_Linear);
wb.method = "Camera";
wb.temperature = 6504;
wb.green = 1.0;
wb.equal = 1.0;
wb.tempBias = 0.0;
colorappearance.enabled = false;
colorappearance.degree = 90;
colorappearance.autodegree = true;
colorappearance.surround = "Average";
colorappearance.adaplum = 16;
colorappearance.badpixsl = 0;
colorappearance.adapscen = 2000.0;
colorappearance.autoadapscen = true;
colorappearance.algo = "No";
colorappearance.wbmodel = "RawT";
colorappearance.jlight = 0.0;
colorappearance.qbright = 0.0;
colorappearance.chroma = 0.0;
colorappearance.schroma = 0.0;
colorappearance.mchroma = 0.0;
wb.method = "Camera";
wb.temperature = 6504;
wb.green = 1.0;
wb.equal = 1.0;
wb.tempBias = 0.0;
colorappearance.enabled = false;
colorappearance.degree = 90;
colorappearance.autodegree = true;
colorappearance.degreeout = 90;
colorappearance.autodegreeout = true;
colorappearance.surround = "Average";
colorappearance.surrsrc = "Average";
colorappearance.adaplum = 16;
colorappearance.badpixsl = 0;
colorappearance.adapscen = 2000.0;
colorappearance.autoadapscen = true;
colorappearance.ybscen = 18;
colorappearance.autoybscen = true;
colorappearance.algo = "No";
colorappearance.wbmodel = "RawT";
colorappearance.jlight = 0.0;
colorappearance.qbright = 0.0;
colorappearance.chroma = 0.0;
colorappearance.schroma = 0.0;
colorappearance.mchroma = 0.0;
colorappearance.rstprotection = 0.0;
colorappearance.contrast = 0.0;
colorappearance.qcontrast = 0.0;
@ -1182,10 +1192,12 @@ void ProcParams::setDefaults ()
colorappearance.curveMode2 = ColorAppearanceParams::TC_MODE_LIGHT;
colorappearance.curve3.clear ();
colorappearance.curve3.push_back (DCT_Linear);
colorappearance.curveMode3 = ColorAppearanceParams::TC_MODE_CHROMA;
colorappearance.tempout = 5000;
colorappearance.greenout = 1.0;
colorappearance.ybout = 18;
colorappearance.curveMode3 = ColorAppearanceParams::TC_MODE_CHROMA;
colorappearance.tempout = 5000;
colorappearance.greenout = 1.0;
colorappearance.ybout = 18;
colorappearance.tempsc = 5000;
colorappearance.greensc = 1.0;
impulseDenoise.enabled = false;
impulseDenoise.thresh = 50;
@ -2092,10 +2104,22 @@ int ProcParams::save (const Glib::ustring &fname, const Glib::ustring &fname2, b
keyFile.set_boolean ("Color appearance", "AutoDegree", colorappearance.autodegree);
}
if (!pedited || pedited->colorappearance.degreeout) {
keyFile.set_integer ("Color appearance", "Degreeout", colorappearance.degreeout);
}
if (!pedited || pedited->colorappearance.autodegreeout) {
keyFile.set_boolean ("Color appearance", "AutoDegreeout", colorappearance.autodegreeout);
}
if (!pedited || pedited->colorappearance.surround) {
keyFile.set_string ("Color appearance", "Surround", colorappearance.surround);
}
if (!pedited || pedited->colorappearance.surrsrc) {
keyFile.set_string ("Color appearance", "Surrsrc", colorappearance.surrsrc);
}
// if (!pedited || pedited->colorappearance.backgrd) keyFile.set_integer ("Color appearance", "Background", colorappearance.backgrd);
if (!pedited || pedited->colorappearance.adaplum) {
keyFile.set_double ("Color appearance", "AdaptLum", colorappearance.adaplum);
@ -2157,6 +2181,14 @@ int ProcParams::save (const Glib::ustring &fname, const Glib::ustring &fname2, b
keyFile.set_boolean ("Color appearance", "AutoAdapscen", colorappearance.autoadapscen);
}
if (!pedited || pedited->colorappearance.ybscen) {
keyFile.set_integer ("Color appearance", "YbScene", colorappearance.ybscen);
}
if (!pedited || pedited->colorappearance.autoybscen) {
keyFile.set_boolean ("Color appearance", "Autoybscen", colorappearance.autoybscen);
}
if (!pedited || pedited->colorappearance.surrsource) {
keyFile.set_boolean ("Color appearance", "SurrSource", colorappearance.surrsource);
}
@ -2173,6 +2205,14 @@ int ProcParams::save (const Glib::ustring &fname, const Glib::ustring &fname2, b
keyFile.set_double ("Color appearance", "Greenout", colorappearance.greenout);
}
if (!pedited || pedited->colorappearance.tempsc) {
keyFile.set_integer ("Color appearance", "Tempsc", colorappearance.tempsc);
}
if (!pedited || pedited->colorappearance.greensc) {
keyFile.set_double ("Color appearance", "Greensc", colorappearance.greensc);
}
if (!pedited || pedited->colorappearance.ybout) {
keyFile.set_integer ("Color appearance", "Ybout", colorappearance.ybout);
}
@ -2514,6 +2554,10 @@ int ProcParams::save (const Glib::ustring &fname, const Glib::ustring &fname2, b
}
// lens profile
if (!pedited || pedited->lensProf.lcMode) {
keyFile.set_string ("LensProfile", "LcMode", lensProf.getMethodString (lensProf.lcMode));
}
if (!pedited || pedited->lensProf.lcpFile) {
keyFile.set_string ("LensProfile", "LCPFile", relativePathIfInside (fname, fnameAbsolute, lensProf.lcpFile));
}
@ -2530,6 +2574,16 @@ int ProcParams::save (const Glib::ustring &fname, const Glib::ustring &fname2, b
keyFile.set_boolean ("LensProfile", "UseCA", lensProf.useCA);
}
if (!pedited || pedited->lensProf.lfCameraMake) {
keyFile.set_string("LensProfile", "LFCameraMake", lensProf.lfCameraMake);
}
if (!pedited || pedited->lensProf.lfCameraModel) {
keyFile.set_string("LensProfile", "LFCameraModel", lensProf.lfCameraModel);
}
if (!pedited || pedited->lensProf.lfLens) {
keyFile.set_string("LensProfile", "LFLens", lensProf.lfLens);
}
// save perspective correction
if (!pedited || pedited->perspective.horizontal) {
keyFile.set_double ("Perspective", "Horizontal", perspective.horizontal);
@ -4971,6 +5025,22 @@ int ProcParams::load (const Glib::ustring &fname, ParamsEdited* pedited)
}
}
if (keyFile.has_key ("Color appearance", "Degreeout")) {
colorappearance.degreeout = keyFile.get_integer ("Color appearance", "Degreeout");
if (pedited) {
pedited->colorappearance.degreeout = true;
}
}
if (keyFile.has_key ("Color appearance", "AutoDegreeout")) {
colorappearance.autodegreeout = keyFile.get_boolean ("Color appearance", "AutoDegreeout");
if (pedited) {
pedited->colorappearance.autodegreeout = true;
}
}
if (keyFile.has_key ("Color appearance", "Surround")) {
colorappearance.surround = keyFile.get_string ("Color appearance", "Surround");
@ -4979,6 +5049,14 @@ int ProcParams::load (const Glib::ustring &fname, ParamsEdited* pedited)
}
}
if (keyFile.has_key ("Color appearance", "Surrsrc")) {
colorappearance.surrsrc = keyFile.get_string ("Color appearance", "Surrsrc");
if (pedited) {
pedited->colorappearance.surrsrc = true;
}
}
// if (keyFile.has_key ("Color appearance", "Background")) {colorappearance.backgrd = keyFile.get_integer ("Color appearance", "Background"); if (pedited) pedited->colorappearance.backgrd = true; }
if (keyFile.has_key ("Color appearance", "AdaptLum")) {
colorappearance.adaplum = keyFile.get_double ("Color appearance", "AdaptLum");
@ -5100,6 +5178,22 @@ int ProcParams::load (const Glib::ustring &fname, ParamsEdited* pedited)
}
}
if (keyFile.has_key ("Color appearance", "YbScene")) {
colorappearance.ybscen = keyFile.get_integer ("Color appearance", "YbScene");
if (pedited) {
pedited->colorappearance.ybscen = true;
}
}
if (keyFile.has_key ("Color appearance", "Autoybscen")) {
colorappearance.autoybscen = keyFile.get_boolean ("Color appearance", "Autoybscen");
if (pedited) {
pedited->colorappearance.autoybscen = true;
}
}
if (keyFile.has_key ("Color appearance", "SurrSource")) {
colorappearance.surrsource = keyFile.get_boolean ("Color appearance", "SurrSource");
@ -5132,6 +5226,22 @@ int ProcParams::load (const Glib::ustring &fname, ParamsEdited* pedited)
}
}
if (keyFile.has_key ("Color appearance", "Tempsc")) {
colorappearance.tempsc = keyFile.get_integer ("Color appearance", "Tempsc");
if (pedited) {
pedited->colorappearance.tempsc = true;
}
}
if (keyFile.has_key ("Color appearance", "Greensc")) {
colorappearance.greensc = keyFile.get_double ("Color appearance", "Greensc");
if (pedited) {
pedited->colorappearance.greensc = true;
}
}
if (keyFile.has_key ("Color appearance", "Ybout")) {
colorappearance.ybout = keyFile.get_integer ("Color appearance", "Ybout");
@ -5710,12 +5820,24 @@ int ProcParams::load (const Glib::ustring &fname, ParamsEdited* pedited)
// lens profile
if (keyFile.has_group ("LensProfile")) {
if (keyFile.has_key ("LensProfile", "LcMode")) {
lensProf.lcMode = lensProf.getMethodNumber (keyFile.get_string ("LensProfile", "LcMode"));
if (pedited) {
pedited->lensProf.lcMode = true;
}
}
if (keyFile.has_key ("LensProfile", "LCPFile")) {
lensProf.lcpFile = expandRelativePath (fname, "", keyFile.get_string ("LensProfile", "LCPFile"));
if (pedited) {
pedited->lensProf.lcpFile = true;
}
if(ppVersion < 327 && !lensProf.lcpFile.empty()) {
lensProf.lcMode = LensProfParams::eLcMode::LC_LCP;
}
}
if (keyFile.has_key ("LensProfile", "UseDistortion")) {
@ -5741,6 +5863,27 @@ int ProcParams::load (const Glib::ustring &fname, ParamsEdited* pedited)
pedited->lensProf.useCA = true;
}
}
if (keyFile.has_key("LensProfile", "LFCameraMake")) {
lensProf.lfCameraMake = keyFile.get_string("LensProfile", "LFCameraMake");
if (pedited) {
pedited->lensProf.lfCameraMake = true;
}
}
if (keyFile.has_key("LensProfile", "LFCameraModel")) {
lensProf.lfCameraModel = keyFile.get_string("LensProfile", "LFCameraModel");
if (pedited) {
pedited->lensProf.lfCameraModel = true;
}
}
if (keyFile.has_key("LensProfile", "LFLens")) {
lensProf.lfLens = keyFile.get_string("LensProfile", "LFLens");
if (pedited) {
pedited->lensProf.lfLens = true;
}
}
}
// load perspective correction
@ -8245,9 +8388,14 @@ bool ProcParams::operator== (const ProcParams& other)
&& colorappearance.enabled == other.colorappearance.enabled
&& colorappearance.degree == other.colorappearance.degree
&& colorappearance.autodegree == other.colorappearance.autodegree
&& colorappearance.degreeout == other.colorappearance.degreeout
&& colorappearance.autodegreeout == other.colorappearance.autodegreeout
&& colorappearance.surround == other.colorappearance.surround
&& colorappearance.surrsrc == other.colorappearance.surrsrc
&& colorappearance.adapscen == other.colorappearance.adapscen
&& colorappearance.autoadapscen == other.colorappearance.autoadapscen
&& colorappearance.ybscen == other.colorappearance.ybscen
&& colorappearance.autoybscen == other.colorappearance.autoybscen
&& colorappearance.adaplum == other.colorappearance.adaplum
&& colorappearance.badpixsl == other.colorappearance.badpixsl
&& colorappearance.wbmodel == other.colorappearance.wbmodel
@ -8266,6 +8414,8 @@ bool ProcParams::operator== (const ProcParams& other)
&& colorappearance.colorh == other.colorappearance.colorh
&& colorappearance.tempout == other.colorappearance.tempout
&& colorappearance.greenout == other.colorappearance.greenout
&& colorappearance.tempsc == other.colorappearance.tempsc
&& colorappearance.greensc == other.colorappearance.greensc
&& colorappearance.ybout == other.colorappearance.ybout
&& impulseDenoise.enabled == other.impulseDenoise.enabled
&& impulseDenoise.thresh == other.impulseDenoise.thresh
@ -8330,10 +8480,14 @@ bool ProcParams::operator== (const ProcParams& other)
&& rotate.degree == other.rotate.degree
&& commonTrans.autofill == other.commonTrans.autofill
&& distortion.amount == other.distortion.amount
&& lensProf.lcMode == other.lensProf.lcMode
&& lensProf.lcpFile == other.lensProf.lcpFile
&& lensProf.useDist == other.lensProf.useDist
&& lensProf.useVign == other.lensProf.useVign
&& lensProf.useCA == other.lensProf.useCA
&& lensProf.lfCameraMake == other.lensProf.lfCameraMake
&& lensProf.lfCameraModel == other.lensProf.lfCameraModel
&& lensProf.lfLens == other.lensProf.lfLens
&& perspective.horizontal == other.perspective.horizontal
&& perspective.vertical == other.perspective.vertical
&& gradient.enabled == other.gradient.enabled

View File

@ -585,6 +585,8 @@ public:
bool enabled;
int degree;
bool autodegree;
int degreeout;
bool autodegreeout;
std::vector<double> curve;
std::vector<double> curve2;
std::vector<double> curve3;
@ -593,8 +595,11 @@ public:
eCTCModeId curveMode3;
Glib::ustring surround;
Glib::ustring surrsrc;
double adapscen;
bool autoadapscen;
int ybscen;
bool autoybscen;
double adaplum;
int badpixsl;
@ -617,6 +622,8 @@ public:
int tempout;
int ybout;
double greenout;
int tempsc;
double greensc;
// bool sharpcie;
};
@ -822,16 +829,64 @@ class LensProfParams
{
public:
enum class eLcMode {
LC_NOCORRECTION, // No lens correction
LC_LENSFUNAUTOMATCH, // Lens correction using auto matched lensfun database entry
LC_LENSFUNMANUAL, // Lens correction using manually selected lensfun database entry
LC_LCP // Lens correction using lcp file
};
static const char *methodstring[static_cast<size_t>(eLcMode::LC_LCP) + 1u];
eLcMode lcMode;
Glib::ustring lcpFile;
bool useDist, useVign, useCA;
Glib::ustring lfCameraMake;
Glib::ustring lfCameraModel;
Glib::ustring lfLens;
LensProfParams()
{
setDefaults();
}
void setDefaults();
bool useLensfun() const
{
return lcMode == eLcMode::LC_LENSFUNAUTOMATCH || lcMode == eLcMode::LC_LENSFUNMANUAL;
}
bool lfAutoMatch() const
{
return lcMode == eLcMode::LC_LENSFUNAUTOMATCH;
}
bool useLcp() const
{
return lcMode == eLcMode::LC_LCP && lcpFile.length() > 0;
}
bool lfManual() const
{
return lcMode == eLcMode::LC_LENSFUNMANUAL;
}
Glib::ustring getMethodString(eLcMode mode) const
{
return methodstring[static_cast<size_t>(mode)];
}
eLcMode getMethodNumber(const Glib::ustring &mode) const
{
for(size_t i = 0; i < static_cast<size_t>(eLcMode::LC_LCP); ++i) {
if(methodstring[i] == mode) {
return static_cast<eLcMode>(i);
}
}
return eLcMode::LC_NOCORRECTION;
}
};
/**
* Parameters of the perspective correction
*/

View File

@ -20,6 +20,8 @@
#define __RAWIMAGE_H
#include <ctime>
#include <cmath>
#include <iostream>
#include "dcraw.h"
#include "imageformat.h"
@ -233,7 +235,13 @@ public:
}
float get_pre_mul(int c )const
{
return pre_mul[c];
if(std::isfinite(pre_mul[c])) {
return pre_mul[c];
} else {
std::cout << "Failure decoding '" << filename << "', please file a bug report including the raw file and the line below:" << std::endl;
std::cout << "rawimage.h get_pre_mul() : pre_mul[" << c << "] value " << pre_mul[c] << " automatically replaced by value 1.0" << std::endl;
return 1.f;
}
}
float get_rgb_cam( int r, int c) const
{

View File

@ -33,6 +33,7 @@
#include "dcp.h"
#include "rt_math.h"
#include "improcfun.h"
#include "rtlensfun.h"
#ifdef _OPENMP
#include <omp.h>
#endif
@ -1853,11 +1854,19 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le
// Correct vignetting of lens profile
if (!hasFlatField && lensProf.useVign) {
LCPProfile *pLCPProf = lcpStore->getProfile(lensProf.lcpFile);
std::unique_ptr<LensCorrection> pmap;
if (lensProf.useLensfun()) {
pmap = std::move(LFDatabase::findModifier(lensProf, idata, W, H, coarse, -1));
} else {
const std::shared_ptr<LCPProfile> pLCPProf = LCPStore::getInstance()->getProfile(lensProf.lcpFile);
if (pLCPProf) { // don't check focal length to allow distortion correction for lenses without chip, also pass dummy focal length 1 in case of 0
LCPMapper map(pLCPProf, max(idata->getFocalLen(), 1.0), idata->getFocalLen35mm(), idata->getFocusDist(), idata->getFNumber(), true, false, W, H, coarse, -1);
if (pLCPProf) { // don't check focal length to allow distortion correction for lenses without chip, also pass dummy focal length 1 in case of 0
pmap.reset(new LCPMapper(pLCPProf, max(idata->getFocalLen(), 1.0), idata->getFocalLen35mm(), idata->getFocusDist(), idata->getFNumber(), true, false, W, H, coarse, -1));
}
}
if (pmap) {
LensCorrection &map = *pmap;
if (ri->getSensorType() == ST_BAYER || ri->getSensorType() == ST_FUJI_XTRANS || ri->get_colors() == 1) {
if(numFrames == 4) {
for(int i = 0; i < 4; ++i) {
@ -1911,42 +1920,16 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le
}
}
// check if it is an olympus E camera, if yes, compute G channel pre-compensation factors
// check if it is an olympus E camera or green equilibration is enabled. If yes, compute G channel pre-compensation factors
if ( ri->getSensorType() == ST_BAYER && (raw.bayersensor.greenthresh || (((idata->getMake().size() >= 7 && idata->getMake().substr(0, 7) == "OLYMPUS" && idata->getModel()[0] == 'E') || (idata->getMake().size() >= 9 && idata->getMake().substr(0, 9) == "Panasonic")) && raw.bayersensor.method != RAWParams::BayerSensor::methodstring[ RAWParams::BayerSensor::vng4])) ) {
// global correction
int ng1 = 0, ng2 = 0, i = 0;
double avgg1 = 0., avgg2 = 0.;
#ifdef _OPENMP
#pragma omp parallel for default(shared) private(i) reduction(+: ng1, ng2, avgg1, avgg2)
#endif
for (i = border; i < H - border; i++)
for (int j = border; j < W - border; j++)
if (ri->ISGREEN(i, j)) {
if (i & 1) {
avgg2 += rawData[i][j];
ng2++;
} else {
avgg1 += rawData[i][j];
ng1++;
}
}
double corrg1 = ((double)avgg1 / ng1 + (double)avgg2 / ng2) / 2.0 / ((double)avgg1 / ng1);
double corrg2 = ((double)avgg1 / ng1 + (double)avgg2 / ng2) / 2.0 / ((double)avgg2 / ng2);
#ifdef _OPENMP
#pragma omp parallel for default(shared)
#endif
for (int i = border; i < H - border; i++)
for (int j = border; j < W - border; j++)
if (ri->ISGREEN(i, j)) {
float currData;
currData = (float)(rawData[i][j] * ((i & 1) ? corrg2 : corrg1));
rawData[i][j] = (currData);
}
if(numFrames == 4) {
for(int i = 0; i < 4; ++i) {
green_equilibrate_global(*rawDataFrames[i]);
}
} else {
green_equilibrate_global(rawData);
}
}
if ( ri->getSensorType() == ST_BAYER && raw.bayersensor.greenthresh > 0) {
@ -1957,10 +1940,10 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le
if(numFrames == 4) {
for(int i = 0; i < 4; ++i) {
green_equilibrate(0.01 * (raw.bayersensor.greenthresh), *rawDataFrames[i]);
green_equilibrate(0.01 * raw.bayersensor.greenthresh, *rawDataFrames[i]);
}
} else {
green_equilibrate(0.01 * (raw.bayersensor.greenthresh), rawData);
green_equilibrate(0.01 * raw.bayersensor.greenthresh, rawData);
}
}

View File

@ -233,6 +233,7 @@ protected:
void cfa_linedn (float linenoiselevel);//Emil's line denoise
void green_equilibrate_global (array2D<float> &rawData);
void green_equilibrate (float greenthresh, array2D<float> &rawData);//Emil's green equilibration
void nodemosaic(bool bw);

Some files were not shown because too many files have changed in this diff Show More