Merge branch 'dev' into multiframe-handling, with some merge bugfix
@ -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}
|
||||
|
@ -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)
|
||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 216 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 217 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
BIN
rtdata/images/Dark/actions/previewmodeBC3-off.png
Normal file
After Width: | Height: | Size: 175 B |
BIN
rtdata/images/Dark/actions/previewmodeBC3-on.png
Normal file
After Width: | Height: | Size: 178 B |
BIN
rtdata/images/Dark/actions/previewmodeF-focusScreen-off.png
Normal file
After Width: | Height: | Size: 805 B |
BIN
rtdata/images/Dark/actions/previewmodeF-focusScreen-on.png
Normal file
After Width: | Height: | Size: 719 B |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 234 B |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 235 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 176 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 216 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 217 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
BIN
rtdata/images/Light/actions/previewmodeBC3-off.png
Normal file
After Width: | Height: | Size: 175 B |
BIN
rtdata/images/Light/actions/previewmodeBC3-on.png
Normal file
After Width: | Height: | Size: 178 B |
BIN
rtdata/images/Light/actions/previewmodeF-focusScreen-off.png
Normal file
After Width: | Height: | Size: 710 B |
BIN
rtdata/images/Light/actions/previewmodeF-focusScreen-on.png
Normal file
After Width: | Height: | Size: 719 B |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 234 B |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 235 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 176 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 178 B |
@ -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 & 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
|
||||
|
@ -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 & 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&W toning, set Chromaticity to -100.
|
||||
!TP_LABCURVE_CURVEEDITOR_A_RANGE1;Green Saturated
|
||||
!TP_LABCURVE_CURVEEDITOR_A_RANGE2;Green Pastel
|
||||
|
@ -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 & 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
|
||||
|
@ -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
|
||||
|
@ -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 & 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
|
||||
|
@ -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
|
||||
|
@ -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 & 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
|
||||
|
@ -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 & 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
|
||||
|
@ -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
|
||||
|
@ -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 & 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
|
||||
|
@ -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
|
||||
|
@ -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 & 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
|
||||
|
@ -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 & 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 & 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
|
||||
|
@ -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 & 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
|
||||
|
@ -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.
|
||||
|
@ -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 & 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 & 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
|
||||
|
@ -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 & 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 & 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
|
||||
|
@ -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 & 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
|
||||
|
@ -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
|
||||
|
@ -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 & 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
|
||||
|
@ -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><</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 & 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.
|
@ -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 {
|
||||
|
@ -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);
|
||||
/***********************************************************************************************/
|
@ -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);
|
||||
/***********************************************************************************************/
|
@ -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 ***************************************************************************************/
|
||||
|
72
rtdata/themes/TooWaGrey - Average Surround-GTK3-20_.css
Normal 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);
|
||||
/***********************************************************************************************/
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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(¶ms, 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 (¶ms, 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, ¶ms, customColCurve1, customColCurve2, customColCurve3, histLCAM, histCCAM, CAMBrightCurveJ, CAMBrightCurveQ, CAMMean, 5, scale, execsharp, d, 1);
|
||||
ipf.ciecam_02float (ncie, float (adap), begh, endh, pW, 2, nprevl, ¶ms, 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(¶ms, fW, fH, imw, imh);
|
||||
double tmpScale = ipf.resizeScale (¶ms, 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)
|
||||
|
@ -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];
|
||||
|
@ -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];
|
||||
}
|
||||
|
||||
|
@ -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 ¶ms, 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
|
||||
|
@ -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 );
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
1619
rtengine/lcp.cc
176
rtengine/lcp.h
@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
*/
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|